mirror of https://gitee.com/openkylin/qemu.git
w64: Fix struct CPUTLBEntry
For w64, some entries need 'uintptr_t' instead of 'unsigned long'. For other host systems, both data types are identical, so nothing changes. Signed-off-by: Stefan Weil <sw@weilnetz.de>
This commit is contained in:
parent
5cf6dd51ab
commit
3b2992e42f
10
cpu-defs.h
10
cpu-defs.h
|
@ -98,12 +98,12 @@ typedef struct CPUTLBEntry {
|
||||||
target_ulong addr_code;
|
target_ulong addr_code;
|
||||||
/* Addend to virtual address to get host address. IO accesses
|
/* Addend to virtual address to get host address. IO accesses
|
||||||
use the corresponding iotlb value. */
|
use the corresponding iotlb value. */
|
||||||
unsigned long addend;
|
uintptr_t addend;
|
||||||
/* padding to get a power of two size */
|
/* padding to get a power of two size */
|
||||||
uint8_t dummy[(1 << CPU_TLB_ENTRY_BITS) -
|
uint8_t dummy[(1 << CPU_TLB_ENTRY_BITS) -
|
||||||
(sizeof(target_ulong) * 3 +
|
(sizeof(target_ulong) * 3 +
|
||||||
((-sizeof(target_ulong) * 3) & (sizeof(unsigned long) - 1)) +
|
((-sizeof(target_ulong) * 3) & (sizeof(uintptr_t) - 1)) +
|
||||||
sizeof(unsigned long))];
|
sizeof(uintptr_t))];
|
||||||
} CPUTLBEntry;
|
} CPUTLBEntry;
|
||||||
|
|
||||||
extern int CPUTLBEntry_wrong_size[sizeof(CPUTLBEntry) == (1 << CPU_TLB_ENTRY_BITS) ? 1 : -1];
|
extern int CPUTLBEntry_wrong_size[sizeof(CPUTLBEntry) == (1 << CPU_TLB_ENTRY_BITS) ? 1 : -1];
|
||||||
|
|
Loading…
Reference in New Issue