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_shilo.c (799B)


      1#include<stdio.h>
      2#include<assert.h>
      3
      4int main()
      5{
      6    int ach, acl;
      7    int resulth, resultl;
      8
      9    ach = 0xBBAACCFF;
     10    acl = 0x1C3B001D;
     11
     12    resulth = 0x17755;
     13    resultl = 0x99fe3876;
     14
     15    __asm
     16        ("mthi %0, $ac1\n\t"
     17         "mtlo %1, $ac1\n\t"
     18         "shilo $ac1, 0x0F\n\t"
     19         "mfhi %0, $ac1\n\t"
     20         "mflo %1, $ac1\n\t"
     21         : "+r"(ach), "+r"(acl)
     22        );
     23    assert(ach == resulth);
     24    assert(acl == resultl);
     25
     26
     27    ach = 0x1;
     28    acl = 0x80000000;
     29
     30    resulth = 0x3;
     31    resultl = 0x0;
     32
     33    __asm
     34        ("mthi %0, $ac1\n\t"
     35         "mtlo %1, $ac1\n\t"
     36         "shilo $ac1, -1\n\t"
     37         "mfhi %0, $ac1\n\t"
     38         "mflo %1, $ac1\n\t"
     39         : "+r"(ach), "+r"(acl)
     40        );
     41    assert(ach == resulth);
     42    assert(acl == resultl);
     43
     44    return 0;
     45}