This is mostly Liran's work. It's preliminary because he found some cases that break but he hasn't debugged them fully yet (a kernel bug is suspected though) and because my version, which only requires a very small and backwards-compatible linux-headers change (patch 4), has seen even less testing.
Paolo Liran Alon (6): KVM: i386: Use symbolic constant for #DB/#BP exception constants KVM: i386: Re-inject #DB to guest with updated DR6 KVM: i386: Add support for KVM_CAP_EXCEPTION_PAYLOAD vmstate: Add support for kernel integer types KVM: i386: Add support for save and restore nested state Revert "target/i386: kvm: add VMX migration blocker" Paolo Bonzini (1): linux-headers: import improved definition of KVM_GET/SET_NESTED_STATE structs accel/kvm/kvm-all.c | 8 ++ include/migration/vmstate.h | 18 +++ include/sysemu/kvm.h | 1 + linux-headers/asm-x86/kvm.h | 11 ++ target/i386/cpu.c | 10 +- target/i386/cpu.h | 16 ++- target/i386/hvf/hvf.c | 10 +- target/i386/hvf/x86hvf.c | 4 +- target/i386/kvm.c | 160 ++++++++++++++++++++---- target/i386/machine.c | 243 +++++++++++++++++++++++++++++++++++- 10 files changed, 440 insertions(+), 41 deletions(-) -- 2.21.0