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:
		
							
								
								
									
										2
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								configure
									
									
									
									
										vendored
									
									
								
							@@ -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"
 | 
				
			||||||
  ;;
 | 
					  ;;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user