qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-ppc] Power9 VRMA emulation


From: Amol Surati
Subject: [Qemu-ppc] Power9 VRMA emulation
Date: Fri, 17 May 2019 09:56:57 +0530
User-agent: Mutt/1.11.4 (2019-03-13)

Hello,

IIUC, with ISA3.0b, VPM0 is considered to be functionally always 1,
even though its value in the LPCR register may remain/be fixed at 0,
as it does by default.

Does this not warrant a change in functions ppc_hash64_handle_mmu_fault,
ppc_hash64_update_vrma, and others?

For instance, under the conditions described in ISA3.0b section 5.7.3.3,
ppc_hash64_handle_mmu_fault raises a HISI without querying the
VRMA SLB because it finds VPM0 as 0 and so skips that query altogether.

*799             if (env->spr[SPR_LPCR] & LPCR_VPM0) {
 800                 slb = &env->vrma_slb;
 ...
 808             } else if (raddr < env->rmls) {
 ...
 811             } else {
 812                 /* The access failed, generate the approriate interrupt */
 813                 if (rwx == 2) {
*814                     ppc_hash64_set_isi(cs, SRR1_PROTFAULT);
 ...
 823             }

Am I misunderstanding the ISA?

Thank you,
Amol



reply via email to

[Prev in Thread] Current Thread [Next in Thread]