]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
ppc/pnv: Add new PowerPC Special Purpose Registers (RWMR)
authordan tan <dantan@linux.ibm.com>
Thu, 16 Jan 2025 15:42:26 +0000 (09:42 -0600)
committerNicholas Piggin <npiggin@gmail.com>
Tue, 11 Mar 2025 12:43:31 +0000 (22:43 +1000)
Register RWMR - Region Weighted Mode Register
for privileged access in Power9 and Power10

It controls what the SPURR register produces.

Specs:
 - Power10: https://files.openpower.foundation/s/EgCy7C43p2NSRfR

TCG does not model SMT priority, timing, resource controls
and status so this register has no effect for now.

[npiggin: adjust changelog]
Signed-off-by: dan tan <dantan@linux.ibm.com>
Message-ID: <20250116154226.13376-1-dantan@linux.vnet.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
target/ppc/cpu.h
target/ppc/cpu_init.c

index 682583d1d10fa39efe608307279e59e0bbe9715a..25b1e6d6b01c1a57ceb0daeb44f82fafdd020a78 100644 (file)
@@ -2102,6 +2102,7 @@ void ppc_compat_add_property(Object *obj, const char *name,
 #define SPR_PMCR              (0x374)
 #define SPR_440_ITV0          (0x374)
 #define SPR_440_ITV1          (0x375)
+#define SPR_RWMR              (0x375)
 #define SPR_440_ITV2          (0x376)
 #define SPR_440_ITV3          (0x377)
 #define SPR_440_CCR1          (0x378)
index 54035c7bbbd269d1224ceb2665085c55ba175b33..8d73e11540b0923f8805a8a35496e5d3234584d5 100644 (file)
@@ -5773,6 +5773,11 @@ static void register_power9_book4_sprs(CPUPPCState *env)
                      SPR_NOACCESS, SPR_NOACCESS,
                      &spr_read_generic, &spr_write_generic,
                      KVM_REG_PPC_WORT, 0);
+    spr_register_hv(env, SPR_RWMR, "RWMR",
+                 SPR_NOACCESS, SPR_NOACCESS,
+                 &spr_read_generic, &spr_write_generic,
+                 &spr_read_generic, &spr_write_generic,
+                 0x00000000);
 #endif
 }