On Wed, Jan 13, 2016 at 02:49:59AM +0800, Xiao Guangrong wrote: > This patchset is against commit 8a1be662a69 (virtio: fix error message for > number of queues) on pci branch of Michael's git tree > and can be found at: > https://github.com/xiaogr/qemu.git nvdimm-acpi-v2
Looks good, thanks! There's been a bunch of changes in my tree so this no longer applies. Pls rebase and repost, and I'll apply. > Changelog: > These changes are based on Igor's comments: > - drop ssdt.rev2 support as the memory address allocated by BIOS/OVMF > are always 32 bits > - support to test NVDIMM tables (NFIT and NVDIMM SSDT) > - add _CRS to report its operation region > - make AML APIs change be the separated patches > > 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 > > Xiao Guangrong (11): > tests: acpi: test multiple SSDT tables > tests: acpi: test NVDIMM tables > acpi: add aml_create_field() > acpi: add aml_concatenate() > acpi: allow using object as offset for OperationRegion > nvdimm acpi: initialize the resource used by NVDIMM ACPI > nvdimm acpi: introduce patched dsm memory > nvdimm acpi: let qemu handle _DSM method > nvdimm acpi: emulate dsm method > nvdimm acpi: add _CRS > tests: acpi: update nvdimm ssdt table > > hw/acpi/Makefile.objs | 2 +- > hw/acpi/aml-build.c | 33 +++- > hw/acpi/nvdimm.c | 255 > +++++++++++++++++++++++++++- > 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 | 5 +- > include/hw/i386/pc.h | 5 +- > include/hw/mem/nvdimm.h | 36 +++- > tests/acpi-test-data/pc/NFIT | Bin 0 -> 224 bytes > tests/acpi-test-data/pc/NFIT.bridge | Bin 0 -> 224 bytes > tests/acpi-test-data/pc/SSDT | Bin 2486 -> 2885 bytes > tests/acpi-test-data/pc/SSDT-NVDIMM | Bin 0 -> 403 bytes > tests/acpi-test-data/pc/SSDT-NVDIMM.bridge | Bin 0 -> 403 bytes > tests/acpi-test-data/pc/SSDT.bridge | Bin 4345 -> 4745 bytes > tests/acpi-test-data/q35/NFIT | Bin 0 -> 224 bytes > tests/acpi-test-data/q35/NFIT.bridge | Bin 0 -> 224 bytes > tests/acpi-test-data/q35/SSDT | Bin 691 -> 1090 bytes > tests/acpi-test-data/q35/SSDT-NVDIMM | Bin 0 -> 403 bytes > tests/acpi-test-data/q35/SSDT-NVDIMM.bridge | Bin 0 -> 403 bytes > tests/acpi-test-data/q35/SSDT.bridge | Bin 708 -> 1107 bytes > tests/bios-tables-test.c | 58 +++++-- > 23 files changed, 400 insertions(+), 56 deletions(-) > create mode 100644 tests/acpi-test-data/pc/NFIT > create mode 100644 tests/acpi-test-data/pc/NFIT.bridge > create mode 100644 tests/acpi-test-data/pc/SSDT-NVDIMM > create mode 100644 tests/acpi-test-data/pc/SSDT-NVDIMM.bridge > create mode 100644 tests/acpi-test-data/q35/NFIT > create mode 100644 tests/acpi-test-data/q35/NFIT.bridge > create mode 100644 tests/acpi-test-data/q35/SSDT-NVDIMM > create mode 100644 tests/acpi-test-data/q35/SSDT-NVDIMM.bridge > > -- > 1.8.3.1