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_dsp_r1_addu_qb.c (675B)


      1#include<stdio.h>
      2#include<assert.h>
      3
      4int main()
      5{
      6    int rd, rs, rt;
      7    int dsp;
      8    int result;
      9
     10    rs     = 0x00FF00FF;
     11    rt     = 0x00010001;
     12    result = 0x00000000;
     13    __asm
     14        ("addu.qb %0, %2, %3\n\t"
     15         "rddsp %1\n\t"
     16         : "=r"(rd), "=r"(dsp)
     17         : "r"(rs), "r"(rt)
     18        );
     19    assert(rd == result);
     20    assert(((dsp >> 20) & 0x01) == 1);
     21
     22    rs     = 0xFFFF1111;
     23    rt     = 0x00020001;
     24    result = 0xFF011112;
     25    __asm
     26        ("addu.qb %0, %2, %3\n\t"
     27         "rddsp %1\n\t"
     28         : "=r"(rd), "=r"(dsp)
     29         : "r"(rs), "r"(rt)
     30        );
     31    assert(rd == result);
     32    assert(((dsp >> 20) & 0x01) == 1);
     33
     34    return 0;
     35}