diff options
Diffstat (limited to 'emu/NetBSD/segflush-arm.c')
| -rw-r--r-- | emu/NetBSD/segflush-arm.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/emu/NetBSD/segflush-arm.c b/emu/NetBSD/segflush-arm.c new file mode 100644 index 00000000..a03b438b --- /dev/null +++ b/emu/NetBSD/segflush-arm.c @@ -0,0 +1,19 @@ +#include <sys/types.h> +#include <sys/mman.h> +#include <machine/sysarch.h> + +#include "dat.h" + + +int +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); + return 0; +} |
