This patchset is against commit 5530427f0ca (acpi: extend aml_and() to
accept target argument) on pci branch of Michael's git tree
and can be found at:
https://github.com/xiaogr/qemu.git nvdimm-acpi-v1
This is the second part of vNVDIMM implementation which implements the
BIOS patched dsm memory and introduces the framework that allows QEMU
to emulate DSM method
Thanks to Michael's idea, we do not reserve any memory for NVDIMM ACPI,
instead we let BIOS allocate the memory and patch the address to the
offset we want
IO port is still enabled as it plays as the way to notify QEMU and pass
the patched dsm memory address, so that IO port region, 0x0a18 - 0xa20,
is reserved and it is divided into two 32 bits ports and used to pass
the low 32 bits and high 32 bits of dsm memory address to QEMU
Thanks Igor's idea, this patchset also extends DSDT/SSDT to revision 2
to apply 64 bit operations, in order to keeping compatibility, old
version (<= 2.5) still uses revision 1. Since 64 bit operations breaks
old guests (such as windows XP), we should keep the 64 bits stuff in
the private place where common ACPI operation does not touch it
Igor Mammedov (1):
pc: acpi: bump DSDT/SSDT compliance revision to v2
Xiao Guangrong (5):
nvdimm acpi: initialize the resource used by NVDIMM ACPI
nvdimm acpi: introduce patched dsm memory
acpi: allow using acpi named offset for OperationRegion
nvdimm acpi: let qemu handle _DSM method
nvdimm acpi: emulate dsm method
hw/acpi/Makefile.objs | 2 +-
hw/acpi/aml-build.c | 45 +++++++-
hw/acpi/ich9.c | 32 +++++
hw/acpi/nvdimm.c | 276 ++++++++++++++++++++++++++++++++++++++++++--
hw/acpi/piix4.c | 3 +
hw/i386/acpi-build.c | 41 ++++---
hw/i386/pc.c | 8 +-
hw/i386/pc_piix.c | 5 +
hw/i386/pc_q35.c | 8 +-
include/hw/acpi/aml-build.h | 6 +-
include/hw/acpi/ich9.h | 2 +
include/hw/i386/pc.h | 19 ++-
include/hw/mem/nvdimm.h | 44 ++++++-
13 files changed, 449 insertions(+), 42 deletions(-)
--
1.8.3.1
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html