target-microblaze: mmu: Make TLBSX write-only

Make TLBSX write-only and guest-error log reads from it.

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
This commit is contained in:
Edgar E. Iglesias 2018-04-15 23:05:22 +02:00
parent df1e528aad
commit bd9e66086b
1 changed files with 4 additions and 1 deletions

View File

@ -182,7 +182,7 @@ done:
uint32_t mmu_read(CPUMBState *env, uint32_t rn) uint32_t mmu_read(CPUMBState *env, uint32_t rn)
{ {
unsigned int i; unsigned int i;
uint32_t r; uint32_t r = 0;
if (env->mmu.c_mmu < 2 || !env->mmu.c_mmu_tlb_access) { if (env->mmu.c_mmu < 2 || !env->mmu.c_mmu_tlb_access) {
qemu_log_mask(LOG_GUEST_ERROR, "MMU access on MMU-less system\n"); qemu_log_mask(LOG_GUEST_ERROR, "MMU access on MMU-less system\n");
@ -211,6 +211,9 @@ uint32_t mmu_read(CPUMBState *env, uint32_t rn)
} }
r = env->mmu.regs[rn]; r = env->mmu.regs[rn];
break; break;
case MMU_R_TLBSX:
qemu_log_mask(LOG_GUEST_ERROR, "TLBSX is write-only.\n");
break;
default: default:
r = env->mmu.regs[rn]; r = env->mmu.regs[rn];
break; break;