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>
This commit is contained in:
Helge Deller 2025-01-28 19:47:31 +01:00
parent bf60e2a72a
commit 8f2a1c5926
2 changed files with 4 additions and 2 deletions

View File

@ -232,6 +232,7 @@ typedef struct CPUArchState {
target_ulong cr[32]; /* control registers */ target_ulong cr[32]; /* control registers */
target_ulong cr_back[2]; /* back of cr17/cr18 */ target_ulong cr_back[2]; /* back of cr17/cr18 */
target_ulong shadow[7]; /* shadow registers */ target_ulong shadow[7]; /* shadow registers */
target_ulong dr[32]; /* diagnose registers */
/* /*
* During unwind of a memory insn, the base register of the address. * During unwind of a memory insn, the base register of the address.

View File

@ -198,6 +198,7 @@ static const VMStateField vmstate_env_fields[] = {
VMSTATE_UINT64(iasq_b, CPUHPPAState), VMSTATE_UINT64(iasq_b, CPUHPPAState),
VMSTATE_UINT32(fr0_shadow, CPUHPPAState), VMSTATE_UINT32(fr0_shadow, CPUHPPAState),
VMSTATE_UINT64_ARRAY(dr, CPUHPPAState, 32),
VMSTATE_END_OF_LIST() VMSTATE_END_OF_LIST()
}; };
@ -208,8 +209,8 @@ static const VMStateDescription * const vmstate_env_subsections[] = {
static const VMStateDescription vmstate_env = { static const VMStateDescription vmstate_env = {
.name = "env", .name = "env",
.version_id = 3, .version_id = 4,
.minimum_version_id = 3, .minimum_version_id = 4,
.fields = vmstate_env_fields, .fields = vmstate_env_fields,
.subsections = vmstate_env_subsections, .subsections = vmstate_env_subsections,
}; };