cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

check_lapc.s (780B)


      1# mach: crisv32
      2# output: 0\n0\nfffffffa\nfffffffe\nffffffda\n1e\n1e\n0\n
      3
      4.include "testutils.inc"
      5
      6; To accommodate dumpr3 with more than one instruction, keep it
      7; out of lapc operand ranges and difference calculations.
      8
      9 start
     10 lapc.d 0f,r3
     110:
     12 sub.d .,r3
     13 checkr3 0
     14
     15 lapcq 0f,r3
     160:
     17 sub.d .,r3
     18 checkr3 0
     19
     20 lapc.d .,r3
     21 sub.d .,r3
     22 checkr3 fffffffa
     23
     24 lapcq .,r3
     25 sub.d .,r3
     26 checkr3 fffffffe
     27
     280:
     29 .rept 16
     30 nop
     31 .endr
     32 lapc.d 0b,r3
     33 sub.d .,r3
     34 checkr3 ffffffda
     35
     36 setf zcvn
     37 lapc.d 0f,r3
     38 test_cc 1 1 1 1
     39 sub.d .,r3
     40 nop
     41 nop
     42 nop
     43 nop
     44 nop
     45 nop
     46 nop
     47 nop
     48 nop
     49 nop
     50 nop
     51 nop
     520:
     53 checkr3 1e
     540:
     55 lapcq 0f,r3
     56 sub.d 0b,r3
     57 nop
     58 nop
     59 nop
     60 nop
     61 nop
     62 nop
     63 nop
     64 nop
     65 nop
     66 nop
     67 nop
     680:
     69 checkr3 1e
     70 clearf cn
     71 setf zv
     721:
     73 lapcq .,r3
     74 test_cc 0 1 1 0
     75 sub.d 1b,r3
     76 checkr3 0
     77
     78 quit