Commit 3d9fb9fefe3f4e209b57443bed18691a2c6f3e7a
1 parent
42fe4044
cosmetics (Thiemo Seufer)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1936 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
3 changed files
with
12 additions
and
15 deletions
target-mips/helper.c
| @@ -40,8 +40,8 @@ static int map_address (CPUState *env, target_ulong *physical, int *prot, | @@ -40,8 +40,8 @@ static int map_address (CPUState *env, target_ulong *physical, int *prot, | ||
| 40 | int ret; | 40 | int ret; |
| 41 | 41 | ||
| 42 | ret = -2; | 42 | ret = -2; |
| 43 | - tag = (address & 0xFFFFE000); | ||
| 44 | - ASID = env->CP0_EntryHi & 0x000000FF; | 43 | + tag = address & 0xFFFFE000; |
| 44 | + ASID = env->CP0_EntryHi & 0xFF; | ||
| 45 | for (i = 0; i < MIPS_TLB_NB; i++) { | 45 | for (i = 0; i < MIPS_TLB_NB; i++) { |
| 46 | tlb = &env->tlb[i]; | 46 | tlb = &env->tlb[i]; |
| 47 | /* Check ASID, virtual page number & size */ | 47 | /* Check ASID, virtual page number & size */ |
| @@ -74,7 +74,7 @@ int get_physical_address (CPUState *env, target_ulong *physical, int *prot, | @@ -74,7 +74,7 @@ int get_physical_address (CPUState *env, target_ulong *physical, int *prot, | ||
| 74 | int ret; | 74 | int ret; |
| 75 | 75 | ||
| 76 | /* User mode can only access useg */ | 76 | /* User mode can only access useg */ |
| 77 | - user_mode = ((env->hflags & MIPS_HFLAG_MODE) == MIPS_HFLAG_UM) ? 1 : 0; | 77 | + user_mode = (env->hflags & MIPS_HFLAG_MODE) == MIPS_HFLAG_UM; |
| 78 | #if 0 | 78 | #if 0 |
| 79 | if (logfile) { | 79 | if (logfile) { |
| 80 | fprintf(logfile, "user mode %d h %08x\n", | 80 | fprintf(logfile, "user mode %d h %08x\n", |
| @@ -231,7 +231,7 @@ int cpu_mips_handle_mmu_fault (CPUState *env, target_ulong address, int rw, | @@ -231,7 +231,7 @@ int cpu_mips_handle_mmu_fault (CPUState *env, target_ulong address, int rw, | ||
| 231 | env->CP0_Context = (env->CP0_Context & 0xff800000) | | 231 | env->CP0_Context = (env->CP0_Context & 0xff800000) | |
| 232 | ((address >> 9) & 0x007ffff0); | 232 | ((address >> 9) & 0x007ffff0); |
| 233 | env->CP0_EntryHi = | 233 | env->CP0_EntryHi = |
| 234 | - (env->CP0_EntryHi & 0x000000FF) | (address & 0xFFFFF000); | 234 | + (env->CP0_EntryHi & 0xFF) | (address & 0xFFFFF000); |
| 235 | env->exception_index = exception; | 235 | env->exception_index = exception; |
| 236 | env->error_code = error_code; | 236 | env->error_code = error_code; |
| 237 | ret = 1; | 237 | ret = 1; |
target-mips/op_helper.c
| @@ -330,13 +330,13 @@ void do_mtc0 (int reg, int sel) | @@ -330,13 +330,13 @@ void do_mtc0 (int reg, int sel) | ||
| 330 | rn = "Index"; | 330 | rn = "Index"; |
| 331 | break; | 331 | break; |
| 332 | case 2: | 332 | case 2: |
| 333 | - val = T0 & 0x03FFFFFFF; | 333 | + val = T0 & 0x3FFFFFFF; |
| 334 | old = env->CP0_EntryLo0; | 334 | old = env->CP0_EntryLo0; |
| 335 | env->CP0_EntryLo0 = val; | 335 | env->CP0_EntryLo0 = val; |
| 336 | rn = "EntryLo0"; | 336 | rn = "EntryLo0"; |
| 337 | break; | 337 | break; |
| 338 | case 3: | 338 | case 3: |
| 339 | - val = T0 & 0x03FFFFFFF; | 339 | + val = T0 & 0x3FFFFFFF; |
| 340 | old = env->CP0_EntryLo1; | 340 | old = env->CP0_EntryLo1; |
| 341 | env->CP0_EntryLo1 = val; | 341 | env->CP0_EntryLo1 = val; |
| 342 | rn = "EntryLo1"; | 342 | rn = "EntryLo1"; |
| @@ -403,20 +403,17 @@ void do_mtc0 (int reg, int sel) | @@ -403,20 +403,17 @@ void do_mtc0 (int reg, int sel) | ||
| 403 | old, val, env->CP0_Cause, old & mask, val & mask, | 403 | old, val, env->CP0_Cause, old & mask, val & mask, |
| 404 | env->CP0_Cause & mask); | 404 | env->CP0_Cause & mask); |
| 405 | } | 405 | } |
| 406 | -#if 1 | ||
| 407 | if ((val & (1 << CP0St_IE)) && !(old & (1 << CP0St_IE)) && | 406 | if ((val & (1 << CP0St_IE)) && !(old & (1 << CP0St_IE)) && |
| 408 | !(env->hflags & MIPS_HFLAG_EXL) && | 407 | !(env->hflags & MIPS_HFLAG_EXL) && |
| 409 | !(env->hflags & MIPS_HFLAG_ERL) && | 408 | !(env->hflags & MIPS_HFLAG_ERL) && |
| 410 | - !(env->hflags & MIPS_HFLAG_DM) && | 409 | + !(env->hflags & MIPS_HFLAG_DM) && |
| 411 | (env->CP0_Status & env->CP0_Cause & mask)) { | 410 | (env->CP0_Status & env->CP0_Cause & mask)) { |
| 412 | if (logfile) | 411 | if (logfile) |
| 413 | fprintf(logfile, "Raise pending IRQs\n"); | 412 | fprintf(logfile, "Raise pending IRQs\n"); |
| 414 | env->interrupt_request |= CPU_INTERRUPT_HARD; | 413 | env->interrupt_request |= CPU_INTERRUPT_HARD; |
| 415 | - do_raise_exception(EXCP_EXT_INTERRUPT); | ||
| 416 | - } else if (!(val & 0x00000001) && (old & 0x00000001)) { | 414 | + } else if (!(val & (1 << CP0St_IE)) && (old & (1 << CP0St_IE))) { |
| 417 | env->interrupt_request &= ~CPU_INTERRUPT_HARD; | 415 | env->interrupt_request &= ~CPU_INTERRUPT_HARD; |
| 418 | } | 416 | } |
| 419 | -#endif | ||
| 420 | rn = "Status"; | 417 | rn = "Status"; |
| 421 | break; | 418 | break; |
| 422 | case 13: | 419 | case 13: |
| @@ -605,9 +602,9 @@ void do_tlbp (void) | @@ -605,9 +602,9 @@ void do_tlbp (void) | ||
| 605 | uint8_t ASID; | 602 | uint8_t ASID; |
| 606 | int i; | 603 | int i; |
| 607 | 604 | ||
| 608 | - tag = (env->CP0_EntryHi & 0xFFFFE000); | ||
| 609 | - ASID = env->CP0_EntryHi & 0x000000FF; | ||
| 610 | - for (i = 0; i < MIPS_TLB_NB; i++) { | 605 | + tag = env->CP0_EntryHi & 0xFFFFE000; |
| 606 | + ASID = env->CP0_EntryHi & 0xFF; | ||
| 607 | + for (i = 0; i < MIPS_TLB_NB; i++) { | ||
| 611 | tlb = &env->tlb[i]; | 608 | tlb = &env->tlb[i]; |
| 612 | /* Check ASID, virtual page number & size */ | 609 | /* Check ASID, virtual page number & size */ |
| 613 | if ((tlb->G == 1 || tlb->ASID == ASID) && tlb->VPN == tag) { | 610 | if ((tlb->G == 1 || tlb->ASID == ASID) && tlb->VPN == tag) { |
target-mips/translate.c
| @@ -1614,7 +1614,7 @@ int gen_intermediate_code_internal (CPUState *env, TranslationBlock *tb, | @@ -1614,7 +1614,7 @@ int gen_intermediate_code_internal (CPUState *env, TranslationBlock *tb, | ||
| 1614 | #if defined(CONFIG_USER_ONLY) | 1614 | #if defined(CONFIG_USER_ONLY) |
| 1615 | ctx.mem_idx = 0; | 1615 | ctx.mem_idx = 0; |
| 1616 | #else | 1616 | #else |
| 1617 | - ctx.mem_idx = (ctx.hflags & MIPS_HFLAG_MODE) == MIPS_HFLAG_UM ? 0 : 1; | 1617 | + ctx.mem_idx = !((ctx.hflags & MIPS_HFLAG_MODE) == MIPS_HFLAG_UM); |
| 1618 | #endif | 1618 | #endif |
| 1619 | ctx.CP0_Status = env->CP0_Status; | 1619 | ctx.CP0_Status = env->CP0_Status; |
| 1620 | #ifdef DEBUG_DISAS | 1620 | #ifdef DEBUG_DISAS |