target-openrisc: Remove executable flag for every page
Pages should be flagged executable only if the tlb executable flag is set or the mmu is off. Signed-off-by: Sebastian Macke <sebastian@macke.de> Reviewed-by: Jia Liu <proljc@gmail.com> Signed-off-by: Jia Liu <proljc@gmail.com>
This commit is contained in:
		
							parent
							
								
									da1d77597b
								
							
						
					
					
						commit
						04359e6bb7
					
				@ -32,7 +32,7 @@ int cpu_openrisc_get_phys_nommu(OpenRISCCPU *cpu,
 | 
				
			|||||||
                                int *prot, target_ulong address, int rw)
 | 
					                                int *prot, target_ulong address, int rw)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    *physical = address;
 | 
					    *physical = address;
 | 
				
			||||||
    *prot = PAGE_READ | PAGE_WRITE;
 | 
					    *prot = PAGE_READ | PAGE_WRITE | PAGE_EXEC;
 | 
				
			||||||
    return TLBRET_MATCH;
 | 
					    return TLBRET_MATCH;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -187,7 +187,7 @@ int cpu_openrisc_handle_mmu_fault(CPUOpenRISCState *env,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    if (ret == TLBRET_MATCH) {
 | 
					    if (ret == TLBRET_MATCH) {
 | 
				
			||||||
        tlb_set_page(env, address & TARGET_PAGE_MASK,
 | 
					        tlb_set_page(env, address & TARGET_PAGE_MASK,
 | 
				
			||||||
                     physical & TARGET_PAGE_MASK, prot | PAGE_EXEC,
 | 
					                     physical & TARGET_PAGE_MASK, prot,
 | 
				
			||||||
                     mmu_idx, TARGET_PAGE_SIZE);
 | 
					                     mmu_idx, TARGET_PAGE_SIZE);
 | 
				
			||||||
        ret = 0;
 | 
					        ret = 0;
 | 
				
			||||||
    } else if (ret < 0) {
 | 
					    } else if (ret < 0) {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user