From: Robert Hoo <robert.hu@linux.intel.com>
To: imammedo@redhat.com, mst@redhat.com,
xiaoguangrong.eric@gmail.com, ani@anisinha.ca,
dan.j.williams@intel.com, jingqi.liu@intel.com
Cc: qemu-devel@nongnu.org, robert.hu@intel.com
Subject: [QEMU PATCH v2 0/6] Support ACPI NVDIMM Label Methods
Date: Mon, 30 May 2022 11:40:41 +0800 [thread overview]
Message-ID: <20220530034047.730356-1-robert.hu@linux.intel.com> (raw)
(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
next reply other threads:[~2022-05-30 3:43 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-30 3:40 Robert Hoo [this message]
2022-05-30 3:40 ` [QEMU PATCH v2 1/6] tests/acpi: allow SSDT changes Robert Hoo
2022-06-16 11:24 ` Igor Mammedov
2022-05-30 3:40 ` [QEMU PATCH v2 2/6] acpi/ssdt: Fix aml_or() and aml_and() in if clause Robert Hoo
2022-05-30 3:40 ` [QEMU PATCH v2 3/6] acpi/nvdimm: NVDIMM _DSM Spec supports revision 2 Robert Hoo
2022-06-16 11:38 ` Igor Mammedov
2022-07-01 8:31 ` Robert Hoo
2022-05-30 3:40 ` [QEMU PATCH v2 4/6] nvdimm: Implement ACPI NVDIMM Label Methods Robert Hoo
2022-06-16 12:32 ` Igor Mammedov
2022-07-01 9:23 ` Robert Hoo
2022-07-19 2:46 ` Robert Hoo
2022-07-19 11:32 ` Michael S. Tsirkin
2022-07-21 8:58 ` Igor Mammedov
2022-07-27 5:22 ` Robert Hoo
2022-07-28 14:30 ` Igor Mammedov
2022-05-30 3:40 ` [QEMU PATCH v2 5/6] test/acpi/bios-tables-test: SSDT: update golden master binaries Robert Hoo
2022-05-30 3:40 ` [QEMU PATCH v2 6/6] acpi/nvdimm: Define trace events for NVDIMM and substitute nvdimm_debug() Robert Hoo
2022-06-16 12:35 ` Igor Mammedov
2022-07-01 8:35 ` Robert Hoo
2022-06-06 6:26 ` [QEMU PATCH v2 0/6] Support ACPI NVDIMM Label Methods Hu, Robert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220530034047.730356-1-robert.hu@linux.intel.com \
--to=robert.hu@linux.intel.com \
--cc=ani@anisinha.ca \
--cc=dan.j.williams@intel.com \
--cc=imammedo@redhat.com \
--cc=jingqi.liu@intel.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=robert.hu@intel.com \
--cc=xiaoguangrong.eric@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.