aboutsummaryrefslogtreecommitdiff
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)
downloadqemu-8f2a1c5926bf933abce54de23d5ae44371c50e23.zip
qemu-8f2a1c5926bf933abce54de23d5ae44371c50e23.tar.gz
qemu-8f2a1c5926bf933abce54de23d5ae44371c50e23.tar.bz2
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>
-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 beea42d..b858986 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 211bfcf..bb47a2e 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,
};