summaryrefslogtreecommitdiff
path: root/emu
diff options
context:
space:
mode:
Diffstat (limited to 'emu')
-rw-r--r--emu/NetBSD/segflush-arm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/emu/NetBSD/segflush-arm.c b/emu/NetBSD/segflush-arm.c
index f4529633..a03b438b 100644
--- a/emu/NetBSD/segflush-arm.c
+++ b/emu/NetBSD/segflush-arm.c
@@ -1,4 +1,5 @@
#include <sys/types.h>
+#include <sys/mman.h>
#include <machine/sysarch.h>
#include "dat.h"
@@ -9,6 +10,8 @@ segflush(void *a, ulong n)
{
struct arm_sync_icache_args args;
+ mprotect(a, (size_t)n, PROT_READ | PROT_WRITE | PROT_EXEC);
+
args.addr = (uintptr_t)a;
args.len = (size_t)n;
sysarch(ARM_SYNC_ICACHE, (void *)&args);