张东旭 <xu910121@xxxxxxxx> reported a regression seen with CentOS when migrating from an old kernel to a new one. The problem was that QEMU rejected the migration since KVM_GET_REG_LIST reported a register was missing on the destination. Extra registers are OK on the destination, but not missing ones. The regression reproduces with upstream kernels when migrating from a 4.15 or later kernel, up to one with commit 73433762fcae ("KVM: arm64/sve: System register context switch and access support"), to a kernel that includes that commit, e.g. the latest mainline (5.10-rc1). The first patch of this series is the fix. The next two patches, which don't have any intended functional changes, allow ID_SANITISED to be used for registers that flip between exposing features and being RAZ, which allows some code to be removed. Andrew Jones (3): KVM: arm64: Don't hide ID registers from userspace KVM: arm64: Check RAZ visibility in ID register accessors KVM: arm64: Remove AA64ZFR0_EL1 accessors arch/arm64/kvm/sys_regs.c | 96 +++++++++++---------------------------- arch/arm64/kvm/sys_regs.h | 20 ++++++++ 2 files changed, 47 insertions(+), 69 deletions(-) -- 2.27.0 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm