Series * fixes [1/11] QEMU crash when non aligned DIMM is used in KVM mode. * adds extra checks/enforcement to avoid non aligned DIMM address/sizes and prevents guest failures when it tries to deal with such DIMMs * prevents QEMU from starting with not baked by KVM amount of memory slots * fixes hotplug-memory region fragmentation, enabled for 2.2 and newer * enforces backend alignment on DIMMs address/size for optimal performance, enabled for 2.2 and newer
Igor Mammedov (11): pc: kvm: check if KVM has free memory slots to avoid abort() kvm: provide API to query amount of memory slots supported by KVM pc: check if KVM has enough memory slots for DIMM devices pc: make pc_dimm_plug() more readble pc: limit DIMM address and size to page aligned values memory: expose alignment used for allocating RAM as MemoryRegion API pc: add pc_init_pci_2_1() and pc_compat_2_1() pc: align DIMM's address/size by backend's alignment value pc: pc-dimm: use backend alignment during address auto allocation pc: explicitly check maxmem limit when adding DIMM pc: count in 1Gb hugepage alignment when sizing hotplug-memory container exec.c | 9 +++-- hw/i386/pc.c | 98 ++++++++++++++++++++++++++++++++++++++++++++++-- hw/i386/pc_piix.c | 16 +++++++- hw/i386/pc_q35.c | 16 +++++++- hw/mem/pc-dimm.c | 19 +++++++++- include/exec/exec-all.h | 2 +- include/exec/memory.h | 2 + include/hw/i386/pc.h | 4 ++ include/hw/mem/pc-dimm.h | 2 +- include/qemu/osdep.h | 3 +- include/sysemu/kvm.h | 2 + kvm-all.c | 32 +++++++++++++++- kvm-stub.c | 10 +++++ memory.c | 5 +++ target-s390x/kvm.c | 2 +- util/oslib-posix.c | 5 ++- util/oslib-win32.c | 2 +- 17 files changed, 212 insertions(+), 17 deletions(-) -- 1.8.3.1