[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 22/24] exec/cpu-all: Restrict inclusion of 'exec/user/guest-base.
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH 22/24] exec/cpu-all: Restrict inclusion of 'exec/user/guest-base.h' |
Date: |
Mon, 11 Dec 2023 22:19:59 +0100 |
Declare 'have_guest_base' in "exec/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>
---
include/exec/cpu-all.h | 3 ---
include/exec/user/guest-base.h | 6 ++++++
bsd-user/main.c | 1 +
linux-user/elfload.c | 1 +
linux-user/main.c | 1 +
5 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 2d568ae4f0..5b75d04ff6 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -74,9 +74,6 @@
#if defined(CONFIG_USER_ONLY)
#include "exec/user/abitypes.h"
-#include "exec/user/guest-base.h"
-
-extern bool have_guest_base;
/*
* If non-zero, the guest virtual address space is a contiguous subset
diff --git a/include/exec/user/guest-base.h b/include/exec/user/guest-base.h
index afe2ab7fbb..cf40151360 100644
--- a/include/exec/user/guest-base.h
+++ b/include/exec/user/guest-base.h
@@ -7,6 +7,12 @@
#ifndef EXEC_USER_GUEST_BASE_H
#define EXEC_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
diff --git a/bsd-user/main.c b/bsd-user/main.c
index e6014f517e..c331d727e1 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -36,6 +36,7 @@
#include "qemu/help_option.h"
#include "qemu/module.h"
#include "exec/exec-all.h"
+#include "exec/user/guest-base.h"
#include "tcg/startup.h"
#include "qemu/timer.h"
#include "qemu/envlist.h"
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index cf9e74468b..f9e9ac1760 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -6,6 +6,7 @@
#include <sys/shm.h>
#include "qemu.h"
+#include "exec/user/guest-base.h"
#include "user-internals.h"
#include "signal-common.h"
#include "loader.h"
diff --git a/linux-user/main.c b/linux-user/main.c
index 0cdaf30d34..84691d707b 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -38,6 +38,7 @@
#include "qemu/help_option.h"
#include "qemu/module.h"
#include "qemu/plugin.h"
+#include "exec/user/guest-base.h"
#include "exec/exec-all.h"
#include "exec/gdbstub.h"
#include "gdbstub/user.h"
--
2.41.0
- Re: [PATCH 18/24] accel/tcg: Un-inline retaddr helpers to 'user-retaddr.h', (continued)
- [PATCH 20/24] exec: Declare abi_ptr type in its own 'tcg/abi_ptr.h' header, Philippe Mathieu-Daudé, 2023/12/11
- [PATCH 21/24] exec/cpu_ldst: Avoid including 'cpu.h', Philippe Mathieu-Daudé, 2023/12/11
- [PATCH 22/24] exec/cpu-all: Restrict inclusion of 'exec/user/guest-base.h',
Philippe Mathieu-Daudé <=
- [PATCH 23/24] exec/cpu-all: Extract page-protection definitions to page-prot-common.h, Philippe Mathieu-Daudé, 2023/12/11
- [PATCH 24/24] target: Restrict 'sysemu/reset.h' to system emulation, Philippe Mathieu-Daudé, 2023/12/11