From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35488) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aLiVc-0005Cs-3f for qemu-devel@nongnu.org; Tue, 19 Jan 2016 21:28:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aLiVX-0001pg-8v for qemu-devel@nongnu.org; Tue, 19 Jan 2016 21:28:32 -0500 Received: from mga04.intel.com ([192.55.52.120]:36678) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aLiVW-0001ow-V3 for qemu-devel@nongnu.org; Tue, 19 Jan 2016 21:28:27 -0500 References: <1452624610-46945-1-git-send-email-guangrong.xiao@linux.intel.com> From: Xiao Guangrong Message-ID: <569EEF15.4020103@linux.intel.com> Date: Wed, 20 Jan 2016 10:21:09 +0800 MIME-Version: 1.0 In-Reply-To: <1452624610-46945-1-git-send-email-guangrong.xiao@linux.intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 00/11] NVDIMM ACPI: introduce the framework of QEMU emulated List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: pbonzini@redhat.com, imammedo@redhat.com Cc: ehabkost@redhat.com, kvm@vger.kernel.org, mst@redhat.com, gleb@kernel.org, mtosatti@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com, dan.j.williams@intel.com, rth@twiddle.net 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 >