46cd2c1050f0 ("hw/tpm: add PPI support to tpm-tis-device for ARM64
virt") unconditionally registers a "tpm-ppi" RAMBlock when the TPM
TIS sysbus device is realized. This breaks backward migration: a
QEMU with PPI support cannot migrate to an older QEMU without it:
Unknown ramblock "tpm-ppi", cannot accept migration
The failure is 100% reproducible on any aarch64 guest that uses
tpm-tis-device when migrating to a host whose QEMU predates the PPI
commit.
Fix by gating the PPI memory region behind a new "ppi" device
property, and disabling it via hw_compat_11_0[] for machine types
<= virt-11.0.
Mohammadfaiz Bawa (2):
hw/tpm: gate PPI support on tpm-tis-device behind a device property
hw/core/machine: disable tpm-tis-device PPI for machine type <= 11.0
hw/core/machine.c | 1 +
hw/tpm/tpm_tis.h | 1 +
hw/tpm/tpm_tis_sysbus.c | 16 +++++++++++-----
3 files changed, 13 insertions(+), 5 deletions(-)
--
2.54.0