[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 02/33] include/exec: Move vaddr defines to separate file
|
From: |
Richard Henderson |
|
Subject: |
[PATCH 02/33] include/exec: Move vaddr defines to separate file |
|
Date: |
Sun, 28 Jan 2024 14:41:42 +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
- [PATCH 00/33] tcg patch queue, pre-pull, Richard Henderson, 2024/01/27
- [PATCH 01/33] cpu-exec: simplify jump cache management, Richard Henderson, 2024/01/27
- [PATCH 02/33] include/exec: Move vaddr defines to separate file,
Richard Henderson <=
- [PATCH 03/33] hw/core: Include vaddr.h from cpu.h, Richard Henderson, 2024/01/27
- [PATCH 04/33] target: Use vaddr in gen_intermediate_code, Richard Henderson, 2024/01/27
- [PATCH 06/33] include/exec: typedef abi_ptr to vaddr, Richard Henderson, 2024/01/27
- [PATCH 05/33] include/exec: Use vaddr in DisasContextBase for virtual addresses, Richard Henderson, 2024/01/27
- [PATCH 07/33] target: Uninline cpu_mmu_index(), Richard Henderson, 2024/01/27
- [PATCH 09/33] include/exec: Move PAGE_* macros to common header, Richard Henderson, 2024/01/27
- [PATCH 08/33] target: Uninline cpu_get_tb_cpu_state(), Richard Henderson, 2024/01/27
- [PATCH 10/33] include/exec: Move cpu_*()/cpu_env() to common header, Richard Henderson, 2024/01/27