target-ppc: fix Book-E TLB matching
The Book-E TLB matching process should bail out early when a TLB entry matches, but the access permissions are wrong. The CPU will then raise a DSI error instead of a Data TLB error, as described for TLB matching in Freescale and IBM documents. Signed-off-by: Alex Zuepke <azu@sysgo.de> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
		
							parent
							
								
									87684b4c40
								
							
						
					
					
						commit
						0a4c774086
					
				| 
						 | 
				
			
			@ -825,7 +825,7 @@ static int mmubooke_get_physical_address(CPUPPCState *env, mmu_ctx_t *ctx,
 | 
			
		|||
        tlb = &env->tlb.tlbe[i];
 | 
			
		||||
        ret = mmubooke_check_tlb(env, tlb, &raddr, &ctx->prot, address, rw,
 | 
			
		||||
                                 access_type, i);
 | 
			
		||||
        if (!ret) {
 | 
			
		||||
        if (ret != -1) {
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue