Re: [PATCH v2 00/11] NVDIMM ACPI: introduce the framework of QEMU emulated

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

 



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
--
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



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux