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_sfgeui.c (613B)


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