[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 02/31] include/exec: Move vaddr defines to separate file
From: |
Richard Henderson |
Subject: |
[PULL 02/31] include/exec: Move vaddr defines to separate file |
Date: |
Tue, 30 Jan 2024 09:00:52 +1000 |
From: Anton Johansson <anjo@rev.ng>
Needed to work around circular includes. vaddr is currently defined in
cpu-common.h and needed by hw/core/cpu.h, but cpu-common.h also need
cpu.h to know the size of the CPUState.
[Maybe we can instead move parts of cpu-common.h w. hw/core/cpu.h to
sort out the circular inclusion.]
Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20240119144024.14289-7-anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
[rth: Add include of vaddr.h into cpu-common.h]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
include/exec/cpu-common.h | 13 +------------
include/exec/vaddr.h | 18 ++++++++++++++++++
2 files changed, 19 insertions(+), 12 deletions(-)
create mode 100644 include/exec/vaddr.h
diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h
index fef3138d29..3109c6b67d 100644
--- a/include/exec/cpu-common.h
+++ b/include/exec/cpu-common.h
@@ -3,6 +3,7 @@
/* CPU interfaces that are target independent. */
+#include "exec/vaddr.h"
#ifndef CONFIG_USER_ONLY
#include "exec/hwaddr.h"
#endif
@@ -14,18 +15,6 @@
#define EXCP_YIELD 0x10004 /* cpu wants to yield timeslice to another */
#define EXCP_ATOMIC 0x10005 /* stop-the-world and emulate atomic */
-/**
- * vaddr:
- * Type wide enough to contain any #target_ulong virtual address.
- */
-typedef uint64_t vaddr;
-#define VADDR_PRId PRId64
-#define VADDR_PRIu PRIu64
-#define VADDR_PRIo PRIo64
-#define VADDR_PRIx PRIx64
-#define VADDR_PRIX PRIX64
-#define VADDR_MAX UINT64_MAX
-
void cpu_exec_init_all(void);
void cpu_exec_step_atomic(CPUState *cpu);
diff --git a/include/exec/vaddr.h b/include/exec/vaddr.h
new file mode 100644
index 0000000000..b9844afc77
--- /dev/null
+++ b/include/exec/vaddr.h
@@ -0,0 +1,18 @@
+/* Define vaddr. */
+
+#ifndef VADDR_H
+#define VADDR_H
+
+/**
+ * vaddr:
+ * Type wide enough to contain any #target_ulong virtual address.
+ */
+typedef uint64_t vaddr;
+#define VADDR_PRId PRId64
+#define VADDR_PRIu PRIu64
+#define VADDR_PRIo PRIo64
+#define VADDR_PRIx PRIx64
+#define VADDR_PRIX PRIX64
+#define VADDR_MAX UINT64_MAX
+
+#endif
--
2.34.1
- [PULL 00/31] tcg patch queue, Richard Henderson, 2024/01/29
- [PULL 03/31] hw/core: Include vaddr.h from cpu.h, Richard Henderson, 2024/01/29
- [PULL 04/31] target: Use vaddr in gen_intermediate_code, Richard Henderson, 2024/01/29
- [PULL 02/31] include/exec: Move vaddr defines to separate file,
Richard Henderson <=
- [PULL 01/31] cpu-exec: simplify jump cache management, Richard Henderson, 2024/01/29
- [PULL 06/31] include/exec: typedef abi_ptr to vaddr, Richard Henderson, 2024/01/29
- [PULL 07/31] include/exec: Move PAGE_* macros to common header, Richard Henderson, 2024/01/29
- [PULL 08/31] include/exec: Move cpu_*()/cpu_env() to common header, Richard Henderson, 2024/01/29
- [PULL 05/31] include/exec: Use vaddr in DisasContextBase for virtual addresses, Richard Henderson, 2024/01/29
- [PULL 09/31] include/hw/core: Move do_interrupt in TCGCPUOps, Richard Henderson, 2024/01/29
- [PULL 10/31] include/hw/core: Remove i386 conditional on fake_user_interrupt, Richard Henderson, 2024/01/29
- [PULL 12/31] tests/tcg: Factor out gdbstub test functions, Richard Henderson, 2024/01/29
- [PULL 13/31] tests/tcg: Add the PROT_NONE gdbstub test, Richard Henderson, 2024/01/29