Commit 9fb63ac281f4472242f040b59d428aba35237530

Authored by bellard
1 parent 6af0bf9c

MIPS_USES_R4K_TLB typo


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1465 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 11 additions and 12 deletions
target-mips/helper.c
@@ -17,11 +17,10 @@ @@ -17,11 +17,10 @@
17 * License along with this library; if not, write to the Free Software 17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */ 19 */
20 -  
21 #include "exec.h" 20 #include "exec.h"
22 21
23 /* MIPS32 4K MMU emulation */ 22 /* MIPS32 4K MMU emulation */
24 -#if MIPS_USES_4K_TLB 23 +#ifdef MIPS_USES_R4K_TLB
25 static int map_address (CPUState *env, target_ulong *physical, int *prot, 24 static int map_address (CPUState *env, target_ulong *physical, int *prot,
26 target_ulong address, int rw, int access_type) 25 target_ulong address, int rw, int access_type)
27 { 26 {
@@ -44,9 +43,9 @@ static int map_address (CPUState *env, target_ulong *physical, int *prot, @@ -44,9 +43,9 @@ static int map_address (CPUState *env, target_ulong *physical, int *prot,
44 /* Check access rights */ 43 /* Check access rights */
45 if ((tlb->V[n] & 2) && (rw == 0 || (tlb->D[n] & 4))) { 44 if ((tlb->V[n] & 2) && (rw == 0 || (tlb->D[n] & 4))) {
46 *physical = tlb->PFN[n] | (address & 0xFFF); 45 *physical = tlb->PFN[n] | (address & 0xFFF);
47 - *prot = PROT_READ; 46 + *prot = PAGE_READ;
48 if (tlb->D[n]) 47 if (tlb->D[n])
49 - *prot |= PROT_WRITE; 48 + *prot |= PAGE_WRITE;
50 return 0; 49 return 0;
51 } else if (!(tlb->V[n] & 2)) { 50 } else if (!(tlb->V[n] & 2)) {
52 return -3; 51 return -3;
@@ -78,9 +77,9 @@ int get_physical_address (CPUState *env, target_ulong *physical, int *prot, @@ -78,9 +77,9 @@ int get_physical_address (CPUState *env, target_ulong *physical, int *prot,
78 return -1; 77 return -1;
79 ret = 0; 78 ret = 0;
80 if (address < 0x80000000UL) { 79 if (address < 0x80000000UL) {
81 - if (user_mode || !(env->hflags & MIPS_HFLAG_ERL)) {  
82 -#if MIPS_USES_4K_TLB  
83 - ret = map_address(env, physical, prot, address, rw); 80 + if (!(env->hflags & MIPS_HFLAG_ERL)) {
  81 +#ifdef MIPS_USES_R4K_TLB
  82 + ret = map_address(env, physical, prot, address, rw, access_type);
84 #else 83 #else
85 *physical = address + 0x40000000UL; 84 *physical = address + 0x40000000UL;
86 *prot = PAGE_READ | PAGE_WRITE; 85 *prot = PAGE_READ | PAGE_WRITE;
@@ -101,8 +100,8 @@ int get_physical_address (CPUState *env, target_ulong *physical, int *prot, @@ -101,8 +100,8 @@ int get_physical_address (CPUState *env, target_ulong *physical, int *prot,
101 *prot = PAGE_READ | PAGE_WRITE; 100 *prot = PAGE_READ | PAGE_WRITE;
102 } else if (address < 0xE0000000UL) { 101 } else if (address < 0xE0000000UL) {
103 /* kseg2 */ 102 /* kseg2 */
104 -#if MIPS_USES_4K_TLB  
105 - ret = map_address(env, physical, prot, address, rw); 103 +#ifdef MIPS_USES_R4K_TLB
  104 + ret = map_address(env, physical, prot, address, rw, access_type);
106 #else 105 #else
107 *physical = address; 106 *physical = address;
108 *prot = PAGE_READ | PAGE_WRITE; 107 *prot = PAGE_READ | PAGE_WRITE;
@@ -111,8 +110,8 @@ int get_physical_address (CPUState *env, target_ulong *physical, int *prot, @@ -111,8 +110,8 @@ int get_physical_address (CPUState *env, target_ulong *physical, int *prot,
111 /* kseg3 */ 110 /* kseg3 */
112 /* XXX: check supervisor mode */ 111 /* XXX: check supervisor mode */
113 /* XXX: debug segment is not emulated */ 112 /* XXX: debug segment is not emulated */
114 -#if MIPS_USES_4K_TLB  
115 - ret = map_address(env, physical, prot, address, rw); 113 +#ifdef MIPS_USES_R4K_TLB
  114 + ret = map_address(env, physical, prot, address, rw, access_type);
116 #else 115 #else
117 *physical = address; 116 *physical = address;
118 *prot = PAGE_READ | PAGE_WRITE; 117 *prot = PAGE_READ | PAGE_WRITE;
@@ -332,7 +331,7 @@ void do_interrupt (CPUState *env) @@ -332,7 +331,7 @@ void do_interrupt (CPUState *env)
332 pc = 0xBFC00480; 331 pc = 0xBFC00480;
333 break; 332 break;
334 case EXCP_RESET: 333 case EXCP_RESET:
335 -#if defined (MIPS_USES_R4K_TLB) 334 +#ifdef MIPS_USES_R4K_TLB
336 env->CP0_random = MIPS_TLB_NB - 1; 335 env->CP0_random = MIPS_TLB_NB - 1;
337 #endif 336 #endif
338 env->CP0_Wired = 0; 337 env->CP0_Wired = 0;