qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v2 12/19] ppc/pnv: Implement big-core PVR for Power9/10


From: Cédric Le Goater
Subject: Re: [PATCH v2 12/19] ppc/pnv: Implement big-core PVR for Power9/10
Date: Sat, 13 Jul 2024 09:28:15 +0200
User-agent: Mozilla Thunderbird

On 7/12/24 14:02, Nicholas Piggin wrote:
Power9/10 CPUs have PVR[51] set in small-core mode and clear in big-core
mode. This is used by skiboot firmware.

PVR is not hypervisor-privileged but it is not so important that spapr
to implement this because it's generally masked out of PVR matching code
in kernels, and only used by firmware.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>


Reviewed-by: Cédric Le Goater <clg@redhat.com>

Thanks,

C.


---
  hw/ppc/pnv_core.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c
index 16d40392db..a96ec4e2b9 100644
--- a/hw/ppc/pnv_core.c
+++ b/hw/ppc/pnv_core.c
@@ -58,6 +58,10 @@ static void pnv_core_cpu_reset(PnvCore *pc, PowerPCCPU *cpu)
      env->nip = 0x10;
      env->msr |= MSR_HVB; /* Hypervisor mode */
      env->spr[SPR_HRMOR] = pc->hrmor;
+    if (pc->big_core) {
+        /* Clear "small core" bit on Power9/10 (this is set in default PVR) */
+        env->spr[SPR_PVR] &= ~PPC_BIT(51);
+    }
      hreg_compute_hflags(env);
      ppc_maybe_interrupt(env);




reply via email to

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