exec: Restrict inclusion of 'user/guest-base.h'
Declare 'have_guest_base' in "user/guest-base.h". Very few files require this header, so explicitly include it there instead of "exec/cpu-all.h" which is used in many source files. Assert this user-specific header is only included from user emulation. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20231211212003.21686-23-philmd@linaro.org> Reviewed-by: Anton Johansson <anjo@rev.ng>
This commit is contained in:
parent
d3cbde7402
commit
16aa8eaaac
@ -36,6 +36,7 @@
|
||||
#include "qemu/help_option.h"
|
||||
#include "qemu/module.h"
|
||||
#include "exec/exec-all.h"
|
||||
#include "user/guest-base.h"
|
||||
#include "tcg/startup.h"
|
||||
#include "qemu/timer.h"
|
||||
#include "qemu/envlist.h"
|
||||
|
@ -65,9 +65,6 @@
|
||||
|
||||
#if defined(CONFIG_USER_ONLY)
|
||||
#include "exec/user/abitypes.h"
|
||||
#include "user/guest-base.h"
|
||||
|
||||
extern bool have_guest_base;
|
||||
|
||||
/*
|
||||
* If non-zero, the guest virtual address space is a contiguous subset
|
||||
|
@ -74,6 +74,8 @@
|
||||
|
||||
#if defined(CONFIG_USER_ONLY)
|
||||
|
||||
#include "user/guest-base.h"
|
||||
|
||||
#ifndef TARGET_TAGGED_ADDRESSES
|
||||
static inline abi_ptr cpu_untagged_addr(CPUState *cs, abi_ptr x)
|
||||
{
|
||||
|
@ -7,6 +7,12 @@
|
||||
#ifndef USER_GUEST_BASE_H
|
||||
#define USER_GUEST_BASE_H
|
||||
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
#error Cannot include this header from system emulation
|
||||
#endif
|
||||
|
||||
extern uintptr_t guest_base;
|
||||
|
||||
extern bool have_guest_base;
|
||||
|
||||
#endif
|
||||
|
@ -8,6 +8,7 @@
|
||||
|
||||
#include "qemu.h"
|
||||
#include "user/tswap-target.h"
|
||||
#include "user/guest-base.h"
|
||||
#include "user-internals.h"
|
||||
#include "signal-common.h"
|
||||
#include "loader.h"
|
||||
|
@ -38,6 +38,7 @@
|
||||
#include "qemu/help_option.h"
|
||||
#include "qemu/module.h"
|
||||
#include "qemu/plugin.h"
|
||||
#include "user/guest-base.h"
|
||||
#include "exec/exec-all.h"
|
||||
#include "exec/gdbstub.h"
|
||||
#include "gdbstub/user.h"
|
||||
|
Loading…
x
Reference in New Issue
Block a user