ARM: Make target_phys_addr_t 64 bits and physaddrs 40 bits
authorPeter Maydell <peter.maydell@linaro.org>
Thu, 12 Jul 2012 10:59:03 +0000 (10:59 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 12 Jul 2012 10:59:53 +0000 (10:59 +0000)
Make target_phys_addr_t 64 bits for ARM targets, and set
TARGET_PHYS_ADDR_SPACE_BITS to 40.  This should have no effect for ARM
boards where physical addresses really are 32 bits (except perhaps a
slight performance hit on 32 bit hosts for system emulation) but allows
us to implement the Large Physical Address Extensions for Cortex-A15,
which mean 40 bit physical addresses.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
configure
target-arm/cpu.h

index 500fe24cba1c7cc2c5cf29c99d6e102389d6279f..32a8290667fe0f448390f4682ed00598436a7eb6 100755 (executable)
--- a/configure
+++ b/configure
@@ -3571,7 +3571,7 @@ case "$target_arch2" in
     bflt="yes"
     target_nptl="yes"
     gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml"
-    target_phys_bits=32
+    target_phys_bits=64
     target_llong_alignment=4
     target_libs_softmmu="$fdt_libs"
   ;;
index 33afa185e994931019c0e16d289ac1158a8fdf91..aadfca0a2647340a08e3812f05ba4079fa91f7d4 100644 (file)
@@ -619,7 +619,7 @@ static inline bool cp_access_ok(CPUARMState *env,
 #define TARGET_PAGE_BITS 10
 #endif
 
-#define TARGET_PHYS_ADDR_SPACE_BITS 32
+#define TARGET_PHYS_ADDR_SPACE_BITS 40
 #define TARGET_VIRT_ADDR_SPACE_BITS 32
 
 static inline CPUARMState *cpu_init(const char *cpu_model)