As posted, the patches for the dirty page ring broke non-x86 architectures, because it moved KVM_COALESCED_MMIO_PAGE_OFFSET incorrectly to include/uapi/linux/kvm.h. In file included from include/linux/kvm_host.h:36:0, from arch/arm64/kernel/hibernate.c:19: >> arch/arm64/include/asm/kvm_host.h:35:0: warning: "KVM_COALESCED_MMIO_PAGE_OFFSET" redefined #define KVM_COALESCED_MMIO_PAGE_OFFSET 1 In file included from include/linux/kvm_host.h:31:0, from arch/arm64/kernel/hibernate.c:19: include/uapi/linux/kvm.h:218:0: note: this is the location of the previous definition #define KVM_COALESCED_MMIO_PAGE_OFFSET 2 This fixes it by moving it to each architecture's UAPI headers separately. Paolo Paolo Bonzini (2): kvm: make KVM_CAP_COALESCED_MMIO architecture agnostic kvm: make KVM_COALESCED_MMIO_PAGE_OFFSET public arch/arm/include/asm/kvm_host.h | 1 - arch/arm/include/uapi/asm/kvm.h | 2 ++ arch/arm/kvm/arm.c | 3 --- arch/arm64/include/asm/kvm_host.h | 1 - arch/arm64/include/uapi/asm/kvm.h | 2 ++ arch/mips/include/asm/kvm_host.h | 1 - arch/mips/include/uapi/asm/kvm.h | 2 ++ arch/mips/kvm/mips.c | 3 --- arch/powerpc/include/asm/kvm_host.h | 3 --- arch/powerpc/include/uapi/asm/kvm.h | 3 +++ arch/powerpc/kvm/powerpc.c | 5 ----- arch/x86/include/asm/kvm_host.h | 2 -- arch/x86/include/uapi/asm/kvm.h | 3 +++ arch/x86/kvm/x86.c | 3 --- include/linux/kvm_host.h | 2 +- virt/kvm/kvm_main.c | 13 +++++++++---- 16 files changed, 22 insertions(+), 27 deletions(-) -- 1.8.3.1