diff options
author | Richard Henderson | 2021-03-11 00:47:33 +0100 |
---|---|---|
committer | Richard Henderson | 2021-06-14 02:42:40 +0200 |
commit | d7107fc00aff819338e1d2683eabcbb2ff4ef61b (patch) | |
tree | db2fa13350cd755b4aac34afbf09099a1448c936 | |
parent | tcg: Sink qemu_madvise call to common code (diff) | |
download | qemu-d7107fc00aff819338e1d2683eabcbb2ff4ef61b.tar.gz qemu-d7107fc00aff819338e1d2683eabcbb2ff4ef61b.tar.xz qemu-d7107fc00aff819338e1d2683eabcbb2ff4ef61b.zip |
util/osdep: Add qemu_mprotect_rw
For --enable-tcg-interpreter on Windows, we will need this.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
-rw-r--r-- | include/qemu/osdep.h | 1 | ||||
-rw-r--r-- | util/osdep.c | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h index 4c6f2390be..236a045671 100644 --- a/include/qemu/osdep.h +++ b/include/qemu/osdep.h @@ -512,6 +512,7 @@ void sigaction_invoke(struct sigaction *action, #endif int qemu_madvise(void *addr, size_t len, int advice); +int qemu_mprotect_rw(void *addr, size_t size); int qemu_mprotect_rwx(void *addr, size_t size); int qemu_mprotect_none(void *addr, size_t size); diff --git a/util/osdep.c b/util/osdep.c index 66d01b9160..42a0a4986a 100644 --- a/util/osdep.c +++ b/util/osdep.c @@ -97,6 +97,15 @@ static int qemu_mprotect__osdep(void *addr, size_t size, int prot) #endif } +int qemu_mprotect_rw(void *addr, size_t size) +{ +#ifdef _WIN32 + return qemu_mprotect__osdep(addr, size, PAGE_READWRITE); +#else + return qemu_mprotect__osdep(addr, size, PROT_READ | PROT_WRITE); +#endif +} + int qemu_mprotect_rwx(void *addr, size_t size) { #ifdef _WIN32 |