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

test_exclusive.S (656B)


      1#include "macros.inc"
      2
      3test_suite exclusive
      4
      5#if XCHAL_HAVE_EXCLUSIVE
      6
      7test exclusive_nowrite
      8    movi    a2, 0x29
      9    wsr     a2, atomctl
     10    clrex
     11    movi    a2, 1f
     12    movi    a3, 1
     13    s32ex   a3, a2
     14    getex   a3
     15    assert  eqi, a3, 0
     16    l32i    a3, a2, 0
     17    assert  eqi, a3, 3
     18
     19.data
     20.align 4
     211:
     22    .word   3
     23.text
     24test_end
     25
     26test exclusive_write
     27    movi    a2, 0x29
     28    wsr     a2, atomctl
     29    movi    a2, 1f
     30    l32ex   a3, a2
     31    assert  eqi, a3, 3
     32    movi    a3, 2
     33    s32ex   a3, a2
     34    getex   a3
     35    assert  eqi, a3, 1
     36    l32i    a3, a2, 0
     37    assert  eqi, a3, 2
     38
     39.data
     40.align 4
     411:
     42    .word   3
     43.text
     44test_end
     45
     46#endif
     47
     48test_suite_end