With the new infrastructure in place it is now feasible to teach
qemu that it is safe to ignore a sysreg in the incoming migration
stream. So with the plan to revert commit 4f2b82f60431 ("target/arm:
Reinstate bogus AArch32 DBGDTRTX register for migration compat) from
qemu 11 onwards, let's add a compat in 10.2 machine options stating
that this reg is safe to ignore. from 11.0 onwards we will not need
that register anymore.Signed-off-by: Eric Auger <[email protected]> --- Theoretically removing that register could also impact other ARM machines but I don't think we have any compat outside of arm virt, do we? --- hw/arm/virt.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index ec0af8e6e7..c6a5146c92 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -100,6 +100,14 @@ static GlobalProperty arm_virt_compat_defaults[] = { static const size_t arm_virt_compat_defaults_len = G_N_ELEMENTS(arm_virt_compat_defaults); +#define DBGDTRTX 0x40200000200e0298 + +static GlobalProperty arm_virt_compat_10_2[] = { + { TYPE_ARM_CPU, "x-mig-safe-missing-regs", stringify(DBGDTRTX)}, +}; +static const size_t arm_virt_compat_10_2_len = + G_N_ELEMENTS(arm_virt_compat_10_2); + /* * This cannot be called from the virt_machine_class_init() because * TYPE_VIRT_MACHINE is abstract and mc->compat_props g_ptr_array_new() @@ -3536,6 +3544,7 @@ type_init(machvirt_machine_init); static void virt_machine_10_2_options(MachineClass *mc) { + compat_props_add(mc->compat_props, arm_virt_compat_10_2, arm_virt_compat_10_2_len); } DEFINE_VIRT_MACHINE_AS_LATEST(10, 2) -- 2.52.0
