mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
nvdimm, acpi: support NFIT platform capabilities
Add a machine command line option to allow the user to control the Platform Capabilities Structure in the virtualized NFIT. This Platform Capabilities Structure was added in ACPI 6.2 Errata A. Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
2e0c56cdde
commit
9ab3aad281
5 changed files with 105 additions and 4 deletions
|
@ -153,3 +153,30 @@ guest NVDIMM region mapping structure. This unarmed flag indicates
|
|||
guest software that this vNVDIMM device contains a region that cannot
|
||||
accept persistent writes. In result, for example, the guest Linux
|
||||
NVDIMM driver, marks such vNVDIMM device as read-only.
|
||||
|
||||
Platform Capabilities
|
||||
---------------------
|
||||
|
||||
ACPI 6.2 Errata A added support for a new Platform Capabilities Structure
|
||||
which allows the platform to communicate what features it supports related to
|
||||
NVDIMM data durability. Users can provide a capabilities value to a guest via
|
||||
the optional "nvdimm-cap" machine command line option:
|
||||
|
||||
-machine pc,accel=kvm,nvdimm,nvdimm-cap=2
|
||||
|
||||
This "nvdimm-cap" field is an integer, and is the combined value of the
|
||||
various capability bits defined in table 5-137 of the ACPI 6.2 Errata A spec.
|
||||
|
||||
Here is a quick summary of the three bits that are defined as of that spec:
|
||||
|
||||
Bit[0] - CPU Cache Flush to NVDIMM Durability on Power Loss Capable.
|
||||
Bit[1] - Memory Controller Flush to NVDIMM Durability on Power Loss Capable.
|
||||
Note: If bit 0 is set to 1 then this bit shall be set to 1 as well.
|
||||
Bit[2] - Byte Addressable Persistent Memory Hardware Mirroring Capable.
|
||||
|
||||
So, a "nvdimm-cap" value of 2 would mean that the platform supports Memory
|
||||
Controller Flush on Power Loss, a value of 3 would mean that the platform
|
||||
supports CPU Cache Flush and Memory Controller Flush on Power Loss, etc.
|
||||
|
||||
For a complete list of the flags available and for more detailed descriptions,
|
||||
please consult the ACPI spec.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue