On 12/12/24 10:53, Philippe Mathieu-Daudé wrote:
> Move declarations related to page protection under user
> emulation from "exec/cpu-all.h" to "user/page-protection.h".
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> include/exec/cpu-all.h | 5 -----
> include/user/page-protection.h | 8 ++++++++
> bsd-user/main.c | 1 +
> bsd-user/mmap.c | 1 +
> linux-user/main.c | 1 +
> linux-user/mmap.c | 1 +
> linux-user/syscall.c | 1 +
> 7 files changed, 13 insertions(+), 5 deletions(-)
>
> diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
> index 1c8e0446d06..3d97323893b 100644
> --- a/include/exec/cpu-all.h
> +++ b/include/exec/cpu-all.h
> @@ -127,11 +127,6 @@ extern const TargetPageBits target_page;
> #define TARGET_PAGE_ALIGN(addr) ROUND_UP((addr), TARGET_PAGE_SIZE)
>
> #if defined(CONFIG_USER_ONLY)
> -void page_dump(FILE *f);
> -
> -typedef int (*walk_memory_regions_fn)(void *, target_ulong,
> - target_ulong, unsigned long);
> -int walk_memory_regions(void *, walk_memory_regions_fn);
>
> int page_get_flags(target_ulong address);
>
> diff --git a/include/user/page-protection.h b/include/user/page-protection.h
> index 448c7a03449..ea11cf9e328 100644
> --- a/include/user/page-protection.h
> +++ b/include/user/page-protection.h
> @@ -12,9 +12,17 @@
> #error Cannot include this header from system emulation
> #endif
>
> +#include "cpu-param.h"
> +#include "exec/target_long.h"
> #include "exec/translation-block.h"
>
> void page_protect(tb_page_addr_t page_addr);
> int page_unprotect(tb_page_addr_t address, uintptr_t pc);
> +typedef int (*walk_memory_regions_fn)(void *, target_ulong,
> + target_ulong, unsigned long);
> +
> +int walk_memory_regions(void *, walk_memory_regions_fn);
> +
> +void page_dump(FILE *f);
>
> #endif
> diff --git a/bsd-user/main.c b/bsd-user/main.c
> index 61ca73c4781..0a5bc578365 100644
> --- a/bsd-user/main.c
> +++ b/bsd-user/main.c
> @@ -38,6 +38,7 @@
> #include "qemu/plugin.h"
> #include "exec/exec-all.h"
> #include "user/guest-base.h"
> +#include "user/page-protection.h"
> #include "tcg/startup.h"
> #include "qemu/timer.h"
> #include "qemu/envlist.h"
> diff --git a/bsd-user/mmap.c b/bsd-user/mmap.c
> index 775e905960b..346f2cefd32 100644
> --- a/bsd-user/mmap.c
> +++ b/bsd-user/mmap.c
> @@ -18,6 +18,7 @@
> */
> #include "qemu/osdep.h"
> #include "exec/page-protection.h"
> +#include "user/page-protection.h"
>
> #include "qemu.h"
>
> diff --git a/linux-user/main.c b/linux-user/main.c
> index b09af8d4365..06037304cb1 100644
> --- a/linux-user/main.c
> +++ b/linux-user/main.c
> @@ -39,6 +39,7 @@
> #include "qemu/module.h"
> #include "qemu/plugin.h"
> #include "user/guest-base.h"
> +#include "user/page-protection.h"
> #include "exec/exec-all.h"
> #include "exec/gdbstub.h"
> #include "gdbstub/user.h"
> diff --git a/linux-user/mmap.c b/linux-user/mmap.c
> index e4bf5d5f39c..4e0444b4cbc 100644
> --- a/linux-user/mmap.c
> +++ b/linux-user/mmap.c
> @@ -22,6 +22,7 @@
> #include "exec/log.h"
> #include "exec/page-protection.h"
> #include "qemu.h"
> +#include "user/page-protection.h"
> #include "user-internals.h"
> #include "user-mmap.h"
> #include "target_mman.h"
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 1ce4c79784f..c54b199b6d3 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -135,6 +135,7 @@
> #include "signal-common.h"
> #include "loader.h"
> #include "user-mmap.h"
> +#include "user/page-protection.h"
> #include "user/safe-syscall.h"
> #include "qemu/guest-random.h"
> #include "qemu/selfmap.h"
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>