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_sfgesi.c (612B)


      1#include <stdio.h>
      2int main(void)
      3{
      4    int a, b;
      5    int result;
      6
      7    a = 0;
      8    result = 1;
      9    __asm
     10    ("1:\n\t"
     11     "l.addi   %0, %0, 1\n\t"
     12     "l.sfgesi %0, 0x3\n\t"
     13     "l.bf 1b\n\t"
     14     "l.nop\n\t"
     15     : "+r"(a)
     16    );
     17    if (a != result) {
     18        printf("sfgesi error\n");
     19        return -1;
     20    }
     21
     22    a = 0xff;
     23    b = 1;
     24    result = 2;
     25    __asm
     26    ("1:\n\t"
     27     "l.sub    %0, %0, %1\n\t"
     28     "l.sfgesi %0, 0x3\n\t"
     29     "l.bf 1b\n\t"
     30     "l.nop\n\t"
     31     : "+r"(a)
     32     : "r"(b)
     33    );
     34    if (a != result) {
     35        printf("sfgesi error\n");
     36        return -1;
     37    }
     38
     39    return 0;
     40}