flush_icache_range takes two address parameters which must be large enough to address any address of the host.
For hosts with sizeof(unsigned long) == sizeof(void *), this patch changes nothing. All currently supported hosts fall into this category. For w64 hosts, sizeof(unsigned long) is 4 while sizeof(void *) is 8, so the use of tcg_target_ulong is needed for i386 and tci (the tcg targets which work with w64). Signed-off-by: Stefan Weil <s...@weilnetz.de> --- tcg/i386/tcg-target.h | 3 ++- tcg/tci/tcg-target.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tcg/i386/tcg-target.h b/tcg/i386/tcg-target.h index adbb036..c3cfe05 100644 --- a/tcg/i386/tcg-target.h +++ b/tcg/i386/tcg-target.h @@ -123,6 +123,7 @@ typedef enum { # define TCG_AREG0 TCG_REG_EBP #endif -static inline void flush_icache_range(unsigned long start, unsigned long stop) +static inline void flush_icache_range(tcg_target_ulong start, + tcg_target_ulong stop) { } diff --git a/tcg/tci/tcg-target.h b/tcg/tci/tcg-target.h index 03e0fd1..81fcc0f 100644 --- a/tcg/tci/tcg-target.h +++ b/tcg/tci/tcg-target.h @@ -157,7 +157,8 @@ void tci_disas(uint8_t opc); unsigned long tcg_qemu_tb_exec(CPUState *env, uint8_t *tb_ptr); #define tcg_qemu_tb_exec tcg_qemu_tb_exec -static inline void flush_icache_range(unsigned long start, unsigned long stop) +static inline void flush_icache_range(tcg_target_ulong start, + tcg_target_ulong stop) { } -- 1.7.9