URL
https://opencores.org/ocsvn/or1k_old/or1k_old/trunk
Subversion Repositories or1k_old
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 1577 to Rev 1578
- ↔ Reverse comparison
Rev 1577 → Rev 1578
/trunk/or1ksim/testbench/support/support.c
33,8 → 33,8
/* return value by making a syscall */ |
void exit (int i) |
{ |
asm("l.add r3,r0,%0": : "r" (i)); |
asm("l.nop %0": :"K" (NOP_EXIT)); |
__asm__ __volatile__ ("l.add r3,r0,%0\n\t" |
"l.nop %1": : "r" (i), "K" (NOP_EXIT)); |
while (1); |
} |
|
43,16 → 43,18
{ |
va_list args; |
va_start(args, fmt); |
__asm__ __volatile__ (" l.addi\tr3,%0,0\n": : "r" (fmt) : "r3", "r4"); |
__asm__ __volatile__ (" l.addi\tr4,%0,0\n": : "r" (args): "r3", "r4"); |
__asm__ __volatile__ (" l.nop %0": : "K" (NOP_PRINTF)); |
__asm__ __volatile__ ("l.addi\tr3,%0,0\n\t" |
"l.addi\tr4,%1,0\n\t" |
"l.nop %2" |
: : "r" (fmt), "r" (args), "K" (NOP_PRINTF) |
: "r3", "r4"); |
} |
|
/* print long */ |
void report(unsigned long value) |
{ |
asm("l.addi\tr3,%0,0": :"r" (value)); |
asm("l.nop %0": :"K" (NOP_REPORT)); |
__asm__ __volatile__ ("l.addi\tr3,%0,0\n\t" |
"l.nop %1": : "r" (value), "K" (NOP_REPORT)); |
} |
|
/* just to satisfy linker */ |
80,7 → 82,7
/* For writing into SPR. */ |
void mtspr(unsigned long spr, unsigned long value) |
{ |
asm("l.mtspr\t\t%0,%1,0": : "r" (spr), "r" (value)); |
__asm__ __volatile__ ("l.mtspr\t\t%0,%1,0": : "r" (spr), "r" (value)); |
} |
|
/* For reading SPR. */ |
87,7 → 89,7
unsigned long mfspr(unsigned long spr) |
{ |
unsigned long value; |
asm("l.mfspr\t\t%0,%1,0" : "=r" (value) : "r" (spr)); |
__asm__ __volatile__ ("l.mfspr\t\t%0,%1,0" : "=r" (value) : "r" (spr)); |
return value; |
} |
|