[RFC PATCH 06/34] exec: [VADDR] Move vaddr defines to separate file

Anton Johansson via posted 34 patches 10 months, 1 week ago
[RFC PATCH 06/34] exec: [VADDR] Move vaddr defines to separate file
Posted by Anton Johansson via 10 months, 1 week ago
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>
---
 include/exec/cpu-common.h | 12 ------------
 include/exec/vaddr.h      | 18 ++++++++++++++++++
 2 files changed, 18 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 df53252d51..c071f1a003 100644
--- a/include/exec/cpu-common.h
+++ b/include/exec/cpu-common.h
@@ -14,18 +14,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
-
 /**
  * Variable page size macros
  *
diff --git a/include/exec/vaddr.h b/include/exec/vaddr.h
new file mode 100644
index 0000000000..db48bb16bc
--- /dev/null
+++ b/include/exec/vaddr.h
@@ -0,0 +1,18 @@
+/* Define vaddr if it exists.  */
+
+#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.43.0
Re: [RFC PATCH 06/34] exec: [VADDR] Move vaddr defines to separate file
Posted by Richard Henderson 10 months ago
On 1/20/24 00:39, Anton Johansson wrote:
> --- a/include/exec/cpu-common.h
> +++ b/include/exec/cpu-common.h
> @@ -14,18 +14,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
> -
>   /**
>    * Variable page size macros
>    *

This patch does not compile standalone, because the new header isn't included here.


r~
Re: [RFC PATCH 06/34] exec: [VADDR] Move vaddr defines to separate file
Posted by Richard Henderson 10 months ago
On 1/27/24 18:36, Richard Henderson wrote:
> On 1/20/24 00:39, Anton Johansson wrote:
>> --- a/include/exec/cpu-common.h
>> +++ b/include/exec/cpu-common.h
>> @@ -14,18 +14,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
>> -
>>   /**
>>    * Variable page size macros
>>    *
> 
> This patch does not compile standalone, because the new header isn't included here.

Queued with fixes.

r~


Re: [RFC PATCH 06/34] exec: [VADDR] Move vaddr defines to separate file
Posted by Richard Henderson 10 months, 1 week ago
On 1/20/24 00:39, Anton Johansson wrote:
> +++ b/include/exec/vaddr.h
> @@ -0,0 +1,18 @@
> +/* Define vaddr if it exists.  */

s/if it exists//

Need a license line here.  Otherwise.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~