linux-user: ppc64: set MSR_CM bit for BookE 2.06 MMU
64 bit user mode doesn't work for the e5500 core because the MSR_CM bit is not set which enables the 64 bit mode for this MMU model. Memory addresses are truncated to 32 bit, which results in "Invalid data memory access" error messages. Fix it by setting the MSR_CM bit for this MMU model. Signed-off-by: Michael Walle <michael@walle.cc> Reviewed-by: Alexander Graf <agraf@suse.de> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
This commit is contained in:
		
							parent
							
								
									ee8e76141b
								
							
						
					
					
						commit
						c836112997
					
				| @ -4615,10 +4615,11 @@ int main(int argc, char **argv, char **envp) | ||||
|         int i; | ||||
| 
 | ||||
| #if defined(TARGET_PPC64) | ||||
|         int flag = (env->insns_flags2 & PPC2_BOOKE206) ? MSR_CM : MSR_SF; | ||||
| #if defined(TARGET_ABI32) | ||||
|         env->msr &= ~((target_ulong)1 << MSR_SF); | ||||
|         env->msr &= ~((target_ulong)1 << flag); | ||||
| #else | ||||
|         env->msr |= (target_ulong)1 << MSR_SF; | ||||
|         env->msr |= (target_ulong)1 << flag; | ||||
| #endif | ||||
| #endif | ||||
|         env->nip = regs->nip; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Michael Walle
						Michael Walle