summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2025-01-28 19:47:31 +0100
committerHelge Deller <deller@gmx.de>2025-01-30 13:37:20 +0100
commit8f2a1c5926bf933abce54de23d5ae44371c50e23 (patch)
tree7e55ada2ca75f74da32f030179e2e2c9770b13ae
parentbf60e2a72adc190d3a4d8eb28b6f9c4c17ddd649 (diff)
downloadfocaccia-qemu-8f2a1c5926bf933abce54de23d5ae44371c50e23.tar.gz
focaccia-qemu-8f2a1c5926bf933abce54de23d5ae44371c50e23.zip
target/hppa: Add CPU diagnose registers
Add the diagnose registers (%dr) to the CPUArchState. Those are mostly
undocumented and control cache behaviour, memory behaviour, reset button
management and many other related internal CPU things.

Signed-off-by: Helge Deller <deller@gmx.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to '')
-rw-r--r--target/hppa/cpu.h1
-rw-r--r--target/hppa/machine.c5
2 files changed, 4 insertions, 2 deletions
diff --git a/target/hppa/cpu.h b/target/hppa/cpu.h
index beea42d105..b858986c41 100644
--- a/target/hppa/cpu.h
+++ b/target/hppa/cpu.h
@@ -232,6 +232,7 @@ typedef struct CPUArchState {
     target_ulong cr[32];     /* control registers */
     target_ulong cr_back[2]; /* back of cr17/cr18 */
     target_ulong shadow[7];  /* shadow registers */
+    target_ulong dr[32];     /* diagnose registers */
 
     /*
      * During unwind of a memory insn, the base register of the address.
diff --git a/target/hppa/machine.c b/target/hppa/machine.c
index 211bfcf640..bb47a2e689 100644
--- a/target/hppa/machine.c
+++ b/target/hppa/machine.c
@@ -198,6 +198,7 @@ static const VMStateField vmstate_env_fields[] = {
     VMSTATE_UINT64(iasq_b, CPUHPPAState),
 
     VMSTATE_UINT32(fr0_shadow, CPUHPPAState),
+    VMSTATE_UINT64_ARRAY(dr, CPUHPPAState, 32),
     VMSTATE_END_OF_LIST()
 };
 
@@ -208,8 +209,8 @@ static const VMStateDescription * const vmstate_env_subsections[] = {
 
 static const VMStateDescription vmstate_env = {
     .name = "env",
-    .version_id = 3,
-    .minimum_version_id = 3,
+    .version_id = 4,
+    .minimum_version_id = 4,
     .fields = vmstate_env_fields,
     .subsections = vmstate_env_subsections,
 };