summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2009-05-19 16:17:58 +0100
committerPaul Brook <paul@codesourcery.com>2009-05-19 16:17:58 +0100
commit1ad2134f914dfd4c8f92307c94c9a5a1e28f0059 (patch)
treefafeb00db8346df20b35434ea3f1eaad1fd67832 /cpu-defs.h
parentDisable >4G ram support on 32-bit targets (diff)
downloadqemu-kvm-1ad2134f914dfd4c8f92307c94c9a5a1e28f0059.tar.gz
qemu-kvm-1ad2134f914dfd4c8f92307c94c9a5a1e28f0059.tar.bz2
qemu-kvm-1ad2134f914dfd4c8f92307c94c9a5a1e28f0059.zip
Hardware convenience library
The only target dependency for most hardware is sizeof(target_phys_addr_t). Build these files into a convenience library, and use that instead of building for every target. Remove and poison various target specific macros to avoid bogus target dependencies creeping back in. Big/Little endian is not handled because devices should not know or care about this to start with. Signed-off-by: Paul Brook <paul@codesourcery.com>
Diffstat (limited to 'cpu-defs.h')
-rw-r--r--cpu-defs.h25
1 files changed, 1 insertions, 24 deletions
diff --git a/cpu-defs.h b/cpu-defs.h
index 0a82197c8..0d0eaa1c5 100644
--- a/cpu-defs.h
+++ b/cpu-defs.h
@@ -30,19 +30,12 @@
#include <signal.h>
#include "osdep.h"
#include "sys-queue.h"
+#include "targphys.h"
#ifndef TARGET_LONG_BITS
#error TARGET_LONG_BITS must be defined before including this header
#endif
-#ifndef TARGET_PHYS_ADDR_BITS
-#if TARGET_LONG_BITS >= HOST_LONG_BITS
-#define TARGET_PHYS_ADDR_BITS TARGET_LONG_BITS
-#else
-#define TARGET_PHYS_ADDR_BITS HOST_LONG_BITS
-#endif
-#endif
-
#define TARGET_LONG_SIZE (TARGET_LONG_BITS / 8)
/* target_ulong is the type of a virtual address */
@@ -62,22 +55,6 @@ typedef uint64_t target_ulong;
#error TARGET_LONG_SIZE undefined
#endif
-/* target_phys_addr_t is the type of a physical address (its size can
- be different from 'target_ulong'). We have sizeof(target_phys_addr)
- = max(sizeof(unsigned long),
- sizeof(size_of_target_physical_address)) because we must pass a
- host pointer to memory operations in some cases */
-
-#if TARGET_PHYS_ADDR_BITS == 32
-typedef uint32_t target_phys_addr_t;
-#define TARGET_FMT_plx "%08x"
-#elif TARGET_PHYS_ADDR_BITS == 64
-typedef uint64_t target_phys_addr_t;
-#define TARGET_FMT_plx "%016" PRIx64
-#else
-#error TARGET_PHYS_ADDR_BITS undefined
-#endif
-
#define HOST_LONG_SIZE (HOST_LONG_BITS / 8)
#define EXCP_INTERRUPT 0x10000 /* async interruption */