[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 18/29] target-sparc: use SparcV9MMU type for spa
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH 18/29] target-sparc: use SparcV9MMU type for sparc64 I/D-MMUs |
Date: |
Mon, 10 Oct 2016 15:13:46 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 |
On 10/01/2016 05:05 AM, Artyom Tarasenko wrote:
- //typedef struct SparcMMU
- union {
- uint64_t immuregs[16];
- struct {
- uint64_t tsb_tag_target;
- uint64_t unused_mmu_primary_context; // use DMMU
- uint64_t unused_mmu_secondary_context; // use DMMU
- uint64_t sfsr;
- uint64_t sfar;
- uint64_t tsb;
- uint64_t tag_access;
- uint64_t virtual_watchpoint;
- uint64_t physical_watchpoint;
- } immu;
- };
- union {
- uint64_t dmmuregs[16];
- struct {
- uint64_t tsb_tag_target;
- uint64_t mmu_primary_context;
- uint64_t mmu_secondary_context;
- uint64_t sfsr;
- uint64_t sfar;
- uint64_t tsb;
- uint64_t tag_access;
- uint64_t virtual_watchpoint;
- uint64_t physical_watchpoint;
- } dmmu;
- };
+ SparcV9MMU immu;
+ SparcV9MMU dmmu;
You'll find this broke sparc64-linux-user. You'll need
diff --git a/linux-user/main.c b/linux-user/main.c
index bb48260..b1f1347 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -1163,7 +1163,7 @@ void cpu_loop (CPUSPARCState *env)
/* XXX: check env->error_code */
info.si_code = TARGET_SEGV_MAPERR;
if (trapnr == TT_DFAULT)
- info._sifields._sigfault._addr = env->dmmuregs[4];
+ info._sifields._sigfault._addr = env->dmmu.mmuregs[4];
else
info._sifields._sigfault._addr = cpu_tsptr(env)->tpc;
queue_signal(env, info.si_signo, QEMU_SI_FAULT, &info);
r~
- Re: [Qemu-devel] [PATCH 12/29] target-sparc: implement UA2005 rdhpstate and wrhpstate instructions, (continued)
- [Qemu-devel] [PATCH 13/29] target-sparc: fix immediate UA2005 traps, Artyom Tarasenko, 2016/10/01
- [Qemu-devel] [PATCH 14/29] target-sparc: use direct address translation in hyperprivileged mode, Artyom Tarasenko, 2016/10/01
- [Qemu-devel] [PATCH 15/29] target-sparc: allow priveleged ASIs in hyperprivileged mode, Artyom Tarasenko, 2016/10/01
- [Qemu-devel] [PATCH 16/29] target-sparc: ignore writes to UA2005 CPU mondo queue register, Artyom Tarasenko, 2016/10/01
- [Qemu-devel] [PATCH 17/29] target-sparc: replace the last tlb entry when no free entries left, Artyom Tarasenko, 2016/10/01
- [Qemu-devel] [PATCH 18/29] target-sparc: use SparcV9MMU type for sparc64 I/D-MMUs, Artyom Tarasenko, 2016/10/01
- Re: [Qemu-devel] [PATCH 18/29] target-sparc: use SparcV9MMU type for sparc64 I/D-MMUs,
Richard Henderson <=
- [Qemu-devel] [PATCH 19/29] target-sparc: implement UA2005 TSB Pointers, Artyom Tarasenko, 2016/10/01
- [Qemu-devel] [PATCH 21/29] target-sparc: allow 256M sized pages, Artyom Tarasenko, 2016/10/01
- [Qemu-devel] [PATCH 20/29] target-sparc: simplify ultrasparc_tsb_pointer, Artyom Tarasenko, 2016/10/01
- [Qemu-devel] [PATCH 22/29] target-sparc: implement auto-demapping for UA2005 CPUs, Artyom Tarasenko, 2016/10/01
- [Qemu-devel] [PATCH 24/29] target-sparc: add more registers to dump_mmu, Artyom Tarasenko, 2016/10/01