X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=testpico%2Fsh2_main.c;h=303fe3f098b5f758f816ef52f664900f0c83b29b;hb=refs%2Fremotes%2Fgithub%2Fmaster;hp=1bd9b909d617fb96f2c07ff52af04560d6bbf94e;hpb=6474d733133dc605ee02e4e2e02f025c41d202df;p=megadrive.git diff --git a/testpico/sh2_main.c b/testpico/sh2_main.c index 1bd9b90..303fe3f 100644 --- a/testpico/sh2_main.c +++ b/testpico/sh2_main.c @@ -59,13 +59,21 @@ static void do_cmd(u16 cmd, u16 r[6], u32 is_slave) write32(a, d); break; case CMD_GETGBR: - asm("stc gbr, %0" : "=r"(d)); + asm volatile("stc gbr, %0" : "=r"(d)); write32(&rl[4/4], d); break; case CMD_GETVBR: - asm("stc vbr, %0" : "=r"(d)); + asm volatile("stc vbr, %0" : "=r"(d)); write32(&rl[4/4], d); break; + case CMD_GETSR: + asm volatile("stc sr, %0" : "=r"(d)); + write32(&rl[4/4], d); + break; + case CMD_SETSR: + d = read32(&rl[4/4]); + asm volatile("ldc %0, sr" :: "r"(d)); + break; default: r[2/2]++; // error mem_barrier();