ARM: Make target_phys_addr_t 64 bits and physaddrs 40 bits

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>
This commit is contained in:
Peter Maydell 2012-07-12 10:59:03 +00:00
parent 40291d6146
commit 3cc0cd61f4
2 changed files with 2 additions and 2 deletions

2
configure vendored
View File

@ -3571,7 +3571,7 @@ case "$target_arch2" in
bflt="yes" bflt="yes"
target_nptl="yes" target_nptl="yes"
gdb_xml_files="arm-core.xml arm-vfp.xml arm-vfp3.xml arm-neon.xml" 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_llong_alignment=4
target_libs_softmmu="$fdt_libs" target_libs_softmmu="$fdt_libs"
;; ;;

View File

@ -619,7 +619,7 @@ static inline bool cp_access_ok(CPUARMState *env,
#define TARGET_PAGE_BITS 10 #define TARGET_PAGE_BITS 10
#endif #endif
#define TARGET_PHYS_ADDR_SPACE_BITS 32 #define TARGET_PHYS_ADDR_SPACE_BITS 40
#define TARGET_VIRT_ADDR_SPACE_BITS 32 #define TARGET_VIRT_ADDR_SPACE_BITS 32
static inline CPUARMState *cpu_init(const char *cpu_model) static inline CPUARMState *cpu_init(const char *cpu_model)