This series applies on top of [PATCH 0/5] Improve traces on migration failure due to cpreg number mismatch https://lore.kernel.org/all/[email protected]/
It introduces an infrastructure to explicitly tolerate some mismatches between cpu cpreg indexes/values on migration. We especially handle failures due to an attempt to migrate more registers than exposed on the destination. Once the infrastructure is in place we can handle the following known issues: KVM: - removal of unconditionnal exposure of TCR2_EL1, PIRE0_EL1, PIR_EL1 from v6.13 onwards. Causes forward migration failure. - unconditionnal exposure of KVM_REG_ARM_VENDOR_HYP_BMAP_2 FW pseudo register from v6.16 onwards. Causes backward migration failure. TCG: - We can eventually remove AArch32 DBGDTRTX register which was erroneously defined. Both series are available at: https://github.com/eauger/qemu/tree/cpreg_vmstate_array_len_traces_mitig History: v6 -> v7 - complete rework after Peter's comments in (https://lore.kernel.org/all/[email protected]/) Especially it does not use properties at all. Do not feature hidden regs Also the initial series was split into 2. Eric Auger (7): target/arm/machine: Fix detection of unknown incoming cpregs target/arm/cpu: Introduce the infrastructure for cpreg migration tolerances target/arm/machine: Take account cpreg mig tolerances in case of mismatch target/arm/cpu64: Mitigate migration failures due to spurious TCR_EL1, PIRE0_EL1 and PIR_EL1 target/arm/cpu64: Define cpreg migration tolerance for KVM_REG_ARM_VENDOR_HYP_BMAP_2 target/arm/helper: Define cpreg migration tolerance for DGBDTR_EL0 Revert "target/arm: Reinstate bogus AArch32 DBGDTRTX register for migration compat" target/arm/cpu.h | 32 +++++++++++++++++ target/arm/cpu.c | 75 +++++++++++++++++++++++++++++++++++++++ target/arm/cpu64.c | 34 ++++++++++++++++++ target/arm/debug_helper.c | 29 --------------- target/arm/helper.c | 5 +++ target/arm/machine.c | 70 +++++++++++++++++++++++++++++------- target/arm/trace-events | 2 ++ 7 files changed, 206 insertions(+), 41 deletions(-) -- 2.53.0
