Message ID | 20240119144024.14289-7-anjo@rev.ng (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Compile accel/tcg once (partially) | expand |
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~
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~
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~
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
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