 6ebbf39000
			
		
	
	
		6ebbf39000
		
	
	
	
	
		
			
			allowing support of more than 2 mmu access modes. Add backward compatibility is_user variable in targets code when needed. Implement per target cpu_mmu_index function, avoiding duplicated code and #ifdef TARGET_xxx in softmmu core functions. Implement per target mmu modes definitions. As an example, add PowerPC hypervisor mode definition and Alpha executive and kernel modes definitions. Optimize PowerPC case, precomputing mmu_idx when MSR register changes and using the same definition in code translation code. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3384 c046a42c-6fe2-441c-8c8c-71466251a162
		
			
				
	
	
		
			21 lines
		
	
	
		
			368 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			368 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #define CRIS_MMU_ERR_EXEC  0
 | |
| #define CRIS_MMU_ERR_READ  1
 | |
| #define CRIS_MMU_ERR_WRITE 2
 | |
| #define CRIS_MMU_ERR_FLUSH 3
 | |
| 
 | |
| struct cris_mmu_result_t
 | |
| {
 | |
| 	uint32_t phy;
 | |
| 	uint32_t pfn;
 | |
| 	int g:1;
 | |
| 	int v:1;
 | |
| 	int k:1;
 | |
| 	int w:1;
 | |
| 	int e:1;
 | |
| 	int cause_op;
 | |
| };
 | |
| 
 | |
| int cris_mmu_translate(struct cris_mmu_result_t *res,
 | |
| 		       CPUState *env, uint32_t vaddr,
 | |
| 		       int rw, int mmu_idx);
 |