From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: [PATCH v2 00/11] NVDIMM ACPI: introduce the framework of QEMU emulated Date: Thu, 28 Jan 2016 12:42:57 +0800 Message-ID: <56A99C51.3050206@linux.intel.com> References: <1452624610-46945-1-git-send-email-guangrong.xiao@linux.intel.com> <569EEF15.4020103@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: gleb@kernel.org, mtosatti@redhat.com, stefanha@redhat.com, mst@redhat.com, rth@twiddle.net, ehabkost@redhat.com, dan.j.williams@intel.com, kvm@vger.kernel.org, qemu-devel@nongnu.org To: pbonzini@redhat.com, imammedo@redhat.com Return-path: Received: from mga14.intel.com ([192.55.52.115]:20985 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S968398AbcA1Eup (ORCPT ); Wed, 27 Jan 2016 23:50:45 -0500 In-Reply-To: <569EEF15.4020103@linux.intel.com> Sender: kvm-owner@vger.kernel.org List-ID: Ping... On 01/20/2016 10:21 AM, Xiao Guangrong wrote: > > Hi Michael, Igor, Paolo, > > Any comment? > > > > On 01/13/2016 02:49 AM, 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 >> >> 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 >>