qemu-devel
[Top][All Lists]
Advanced

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

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


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH v5 0/5] NVDIMM ACPI: introduce the framework of QEMU emulated DSM
Date: Thu, 3 Mar 2016 15:43:23 +0200

On Wed, Mar 02, 2016 at 07:50:36PM +0800, Xiao Guangrong wrote:
> This patchset is against commit 429fb940caadf9 (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-v5

This looks good overall.  There are some stylistic changes all over, I
think this warrants v6 with all comments addressed.


> Changelog in v5:
> Thanks to Michael's review, the changes in this version are:
> - use nvdimm_debug() instead of fprintf() on the path triggered by read
>   access of IO port
> - introduce the data struct to represent output information to drop the
>   open-code
> - improve the comment to better explain the fact that currently no function
>   other than function 0 is supported
> 
> 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
> 
> Xiao Guangrong (5):
>   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/nvdimm.c        | 255 
> ++++++++++++++++++++++++++++++++++++++++++++++--
>  hw/i386/acpi-build.c    |  10 +-
>  hw/i386/pc.c            |   6 +-
>  hw/i386/pc_piix.c       |   5 +
>  hw/i386/pc_q35.c        |   8 +-
>  include/hw/i386/pc.h    |   4 +-
>  include/hw/mem/nvdimm.h |  36 ++++++-
>  8 files changed, 302 insertions(+), 24 deletions(-)
> 
> -- 
> 1.8.3.1



reply via email to

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