qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4 0/9] NVDIMM ACPI: introduce the framework of


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH v4 0/9] NVDIMM ACPI: introduce the framework of QEMU emulated
Date: Tue, 1 Mar 2016 20:38:44 +0200

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]