From 3b2992e42f8945f4bc6b9151f83dbf2bb5bcd538 Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Thu, 12 Apr 2012 20:29:36 +0200 Subject: [PATCH] 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 --- cpu-defs.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cpu-defs.h b/cpu-defs.h index 88d8093d22..f49e9500a9 100644 --- a/cpu-defs.h +++ b/cpu-defs.h @@ -98,12 +98,12 @@ typedef struct CPUTLBEntry { target_ulong addr_code; /* Addend to virtual address to get host address. IO accesses use the corresponding iotlb value. */ - unsigned long addend; + uintptr_t addend; /* padding to get a power of two size */ - uint8_t dummy[(1 << CPU_TLB_ENTRY_BITS) - - (sizeof(target_ulong) * 3 + - ((-sizeof(target_ulong) * 3) & (sizeof(unsigned long) - 1)) + - sizeof(unsigned long))]; + uint8_t dummy[(1 << CPU_TLB_ENTRY_BITS) - + (sizeof(target_ulong) * 3 + + ((-sizeof(target_ulong) * 3) & (sizeof(uintptr_t) - 1)) + + sizeof(uintptr_t))]; } CPUTLBEntry; extern int CPUTLBEntry_wrong_size[sizeof(CPUTLBEntry) == (1 << CPU_TLB_ENTRY_BITS) ? 1 : -1];