[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[QEMU PATCH v2 0/6] Support ACPI NVDIMM Label Methods
From: |
Robert Hoo |
Subject: |
[QEMU PATCH v2 0/6] Support ACPI NVDIMM Label Methods |
Date: |
Mon, 30 May 2022 11:40:41 +0800 |
(v1 Subject was "acpi/nvdimm: support NVDIMM _LS{I,R,W} methods")
Originally NVDIMM Label methods was defined in Intel PMEM _DSM Interface
Spec [1], of function index 4, 5 and 6.
Recent ACPI spec [2] has deprecated those _DSM methods with ACPI NVDIMM
Label Methods _LS{I,R,W}. The essence of these functions has no changes.
This patch set is to update QEMU emulation on this, as well as update
bios-table-test binaries, and substitute trace events for nvdimm_debug().
Patch 1 and 5, the opening and closing parenthesis patches for changes
affecting ACPI tables. Details see tests/qtest/bios-tables-test.c.
Patch 2, a trivial fix on aml_or()/aml_and() usage.
Patch 3, allow NVDIMM _DSM revision 2 to get in.
Patch 4, main body, which implements the virtual _LS{I,R,W} methods and
also generalize QEMU <--> ACPI NVDIMM method interface, which paves the way
for future necessary methods implementation, not only _DSM. The result
SSDT table changes in ASL can be found in Patch 5's commit message.
Patch 6, define trace events for acpi/nvdimm, replace nvdimm_debug()
Test
Tested Linux guest of recent Kernel 5.18.0-rc4, create/destroy
namespace, init labels, etc. works as before.
Tested Windows 10 (1607) guest, and Windows server 2019, but seems vNVDIMM
in Windows guest hasn't ever been supported. Before and after this patch
set, no difference on guest boot up and other functions.
[1] Intel PMEM _DSM Interface Spec v2.0, 3.10 Deprecated Functions
https://pmem.io/documents/IntelOptanePMem_DSM_Interface-V2.0.pdf
[2] ACPI Spec v6.4, 6.5.10 NVDIMM Label Methods
https://uefi.org/sites/default/files/resources/ACPI_Spec_6_4_Jan22.pdf
---
Change Log:
v2:
Almost rewritten
Separate Patch 2
Dance with tests/qtest/bios-table-tests
Add trace events
Robert Hoo (6):
tests/acpi: allow SSDT changes
acpi/ssdt: Fix aml_or() and aml_and() in if clause
acpi/nvdimm: NVDIMM _DSM Spec supports revision 2
nvdimm: Implement ACPI NVDIMM Label Methods
test/acpi/bios-tables-test: SSDT: update standard AML binaries
acpi/nvdimm: Define trace events for NVDIMM and substitute
nvdimm_debug()
hw/acpi/nvdimm.c | 434 +++++++++++++++++++++++--------
hw/acpi/trace-events | 14 +
include/hw/mem/nvdimm.h | 12 +-
tests/data/acpi/pc/SSDT.dimmpxm | Bin 734 -> 1829 bytes
tests/data/acpi/q35/SSDT.dimmpxm | Bin 734 -> 1829 bytes
5 files changed, 344 insertions(+), 116 deletions(-)
base-commit: 58b53669e87fed0d70903e05cd42079fbbdbc195
--
2.31.1
- [QEMU PATCH v2 0/6] Support ACPI NVDIMM Label Methods,
Robert Hoo <=
- [QEMU PATCH v2 2/6] acpi/ssdt: Fix aml_or() and aml_and() in if clause, Robert Hoo, 2022/05/29
- [QEMU PATCH v2 3/6] acpi/nvdimm: NVDIMM _DSM Spec supports revision 2, Robert Hoo, 2022/05/29
- [QEMU PATCH v2 1/6] tests/acpi: allow SSDT changes, Robert Hoo, 2022/05/29
- [QEMU PATCH v2 4/6] nvdimm: Implement ACPI NVDIMM Label Methods, Robert Hoo, 2022/05/29
- [QEMU PATCH v2 5/6] test/acpi/bios-tables-test: SSDT: update golden master binaries, Robert Hoo, 2022/05/29
- [QEMU PATCH v2 6/6] acpi/nvdimm: Define trace events for NVDIMM and substitute nvdimm_debug(), Robert Hoo, 2022/05/29