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_muli.c (702B)


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