On Tue, Mar 01, 2016 at 06:56:02PM +0800, Xiao Guangrong wrote: > This patchset is against commit 2212ef27b342b98b220fe9 (fw-cfg: support > writeable blobs) on pci branch of Michael's git tree > and can be found at: > https://github.com/xiaogr/qemu.git nvdimm-acpi-v4 Applied patch 1-3 and 5 > Changelog in v4: > - drop the unnecessary assert() in aml_concatenate() based on Igor's > suggestion > - introduce build_append_named_dword() and use it to simplify the code as > Michael's suggestion > > Changelog in v3: > Changes addressing Michael's comment: > - rebase the patchset against current code > > Changes addressing Igor's comment: > - rename the parameters of aml_create_field() to reflect the ACPI spec > - fix the issue that the @target operand can not be optional in > aml_concatenate() that is also cleaned up by using build_opcode_2arg_dst() > > Others: > - separate the test patches to the single set and will be posted on later > > 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 > > Michael S. Tsirkin (1): > acpi: add build_append_named_dword, returning an offset in buffer > > Xiao Guangrong (8): > 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 > > hw/acpi/Makefile.objs | 2 +- > hw/acpi/aml-build.c | 55 +++++++++- > hw/acpi/nvdimm.c | 243 ++++++++++++++++++++++++++++++++++++++++++-- > hw/i386/acpi-build.c | 41 ++++---- > hw/i386/pc.c | 6 +- > hw/i386/pc_piix.c | 5 + > hw/i386/pc_q35.c | 8 +- > include/hw/acpi/aml-build.h | 9 +- > include/hw/i386/pc.h | 4 +- > include/hw/mem/nvdimm.h | 36 ++++++- > 10 files changed, 366 insertions(+), 43 deletions(-) > > -- > 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html