All of lore.kernel.org
 help / color / mirror / Atom feed
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



             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.