[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: |
Artyom Tarasenko |
Subject: |
Re: [Qemu-devel] [PATCH 18/29] target-sparc: use SparcV9MMU type for sparc64 I/D-MMUs |
Date: |
Tue, 11 Oct 2016 15:56:53 +0200 |
On Mon, Oct 10, 2016 at 10:13 PM, Richard Henderson <address@hidden> wrote:
> 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);
>
Will add this. Thanks!
--
Regards,
Artyom Tarasenko
SPARC and PPC PReP under qemu blog: http://tyom.blogspot.com/search/label/qemu
- [Qemu-devel] [PATCH 13/29] target-sparc: fix immediate UA2005 traps, (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
- [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