[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v4 32/43] target/hppa: Only use EXCP_DTLB_MISS
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PULL v4 32/43] target/hppa: Only use EXCP_DTLB_MISS |
Date: |
Sun, 28 Jan 2018 15:15:17 -0800 |
Unknown why this works, but if we return EXCP_ITLB_MISS we
will triple-fault the first userland instruction fetch.
Is it something to do with having a combined I/DTLB?
Signed-off-by: Richard Henderson <address@hidden>
---
target/hppa/mem_helper.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/target/hppa/mem_helper.c b/target/hppa/mem_helper.c
index a34c64cc4a..08a4eb2480 100644
--- a/target/hppa/mem_helper.c
+++ b/target/hppa/mem_helper.c
@@ -96,7 +96,9 @@ int hppa_get_physical_address(CPUHPPAState *env, vaddr addr,
int mmu_idx,
if (ent == NULL || !ent->entry_valid) {
phys = 0;
prot = 0;
- ret = (type & PAGE_EXEC ? EXCP_ITLB_MISS : EXCP_DTLB_MISS);
+ /* ??? Unconditionally report data tlb miss,
+ even if this is an instruction fetch. */
+ ret = EXCP_DTLB_MISS;
goto egress;
}
--
2.14.3
- [Qemu-devel] [PULL v4 20/43] target/hppa: Log unimplemented instructions, (continued)
- [Qemu-devel] [PULL v4 20/43] target/hppa: Log unimplemented instructions, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 21/43] target/hppa: Implement I*TLBA and I*TLBP insns, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 26/43] target/hppa: Implement SYNCDMA insn, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 22/43] target/hppa: Implement P*TLB and P*TLBE insns, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 24/43] target/hppa: Implement LPA, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 25/43] target/hppa: Implement LCI, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 27/43] target/hppa: Implement halt and reset instructions, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 23/43] target/hppa: Implement LDWA, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 28/43] target/hppa: Optimize for flat addressing space, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 29/43] target/hppa: Add system registers to gdbstub, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 32/43] target/hppa: Only use EXCP_DTLB_MISS,
Richard Henderson <=
- [Qemu-devel] [PULL v4 33/43] target/hppa: Increase number of temp regs, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 30/43] target/hppa: Add migration for the cpu, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 31/43] target/hppa: Implement B,GATE insn, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 35/43] target/hppa: Implement LDSID for system mode, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 34/43] target/hppa: Fix comment, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 36/43] target/hppa: Implement a pause instruction, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 41/43] hw/hppa: Add MAINTAINERS entry, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 37/43] target/hppa: Implement STWA, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 38/43] target/hppa: Enable MTTCG, Richard Henderson, 2018/01/28
- [Qemu-devel] [PULL v4 39/43] hw/hppa: Implement DINO system board, Richard Henderson, 2018/01/28