diff options
Diffstat (limited to 'pk/frontend.c')
-rw-r--r-- | pk/frontend.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/pk/frontend.c b/pk/frontend.c index 4e4c138..1818b0f 100644 --- a/pk/frontend.c +++ b/pk/frontend.c @@ -17,11 +17,13 @@ sysret_t frontend_syscall(long n, long a0, long a1, long a2, long a3) magic_mem[3] = a2; magic_mem[4] = a3; - asm volatile ("cflush; fence"); + mb(); mtpcr(PCR_TOHOST, magic_mem); while (mtpcr(PCR_FROMHOST, 0) == 0); + mb(); + sysret_t ret = {magic_mem[0],magic_mem[1]}; spinlock_unlock(&lock); |