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_movei.s (657B)


      1# mach: crisv32
      2# output: fffffffe\n
      3# output: fffffffe\n
      4
      5; Check basic integral-write semantics regarding flags.
      6
      7 .include "testutils.inc"
      8 start
      9
     10 move.d 0, $r3	
     11; A write that works.  Check that flags are set correspondingly.
     12 move.d d,r4
     13 ;; store to bring it into the tlb with the right prot bits
     14 move.d r3,[r4]
     15 moveq -2,r5
     16 setf c
     17 clearf p
     18 move.d [r4],r3
     19 ax
     20 move.d r5,[r4]
     21 move.d [r4],r3
     22
     23 bcc 0f
     24 nop
     25 fail
     26
     270:
     28 checkr3 fffffffe
     29
     30; A write that fails; check flags too.
     31 move.d d,r4
     32 moveq 23,r5
     33 setf p
     34 clearf c
     35 move.d [r4],r3
     36 ax
     37 move.d r5,[r4]
     38 move.d [r4],r3
     39
     40 bcs 0f
     41 nop
     42 fail
     43
     440:
     45 checkr3 fffffffe
     46 quit
     47
     48 .data
     49d:
     50 .dword 42424242