#
23a4b3eb |
| 29-Nov-2024 |
Stephen Bates <sbates@raithlin.com> |
hw/nvme: Add OCP SMART / Health Information Extended Log Page
The Open Compute Project [1] includes a Datacenter NVMe SSD Specification [2]. The most recent version of this specification (as of Nove
hw/nvme: Add OCP SMART / Health Information Extended Log Page
The Open Compute Project [1] includes a Datacenter NVMe SSD Specification [2]. The most recent version of this specification (as of November 2024) is 2.6.1. This specification layers on top of the NVM Express specifications [3] to provide additional functionality. A key part of of this is the 512 Byte OCP SMART / Health Information Extended log page that is defined in Section 4.8.6 of the specification.
We add a controller argument (ocp) that toggles on/off the SMART log extended structure. To accommodate different vendor specific specifications like OCP, we add a multiplexing function (nvme_vendor_specific_log) which will route to the different log functions based on arguments and log ids. We only return the OCP extended SMART log when the command is 0xC0 and ocp has been turned on in the nvme argumants.
Though we add the whole nvme SMART log extended structure, we only populate the physical_media_units_{read,written}, log_page_version and log_page_uuid.
This patch is based on work done by Joel but has been modified enough that he requested a co-developed-by tag rather than a signed-off-by.
[1]: https://www.opencompute.org/ [2]: https://www.opencompute.org/documents/datacenter-nvme-ssd-specification-v2-6-1-pdf [3]: https://nvmexpress.org/specifications/
Signed-off-by: Stephen Bates <sbates@raithlin.com> Co-developed-by: Joel Granados <j.granados@samsung.com> Reviewed-by: Klaus Jensen <k.jensen@samsung.com> Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
show more ...
|
#
bdc31646 |
| 22-Feb-2024 |
Roque Arcudia Hernandez <roqueh@google.com> |
hw/nvme: Add NVMe NGUID property
This patch adds a way to specify an NGUID for a given NVMe Namespace using a string of hexadecimal digits with an optional '-' separator to group bytes. For instance
hw/nvme: Add NVMe NGUID property
This patch adds a way to specify an NGUID for a given NVMe Namespace using a string of hexadecimal digits with an optional '-' separator to group bytes. For instance:
-device nvme-ns,nguid="e9accd3b83904e13167cf0593437f57d"
If provided, the NGUID will be part of the Namespace Identification Descriptor list and the Identify Namespace data.
Signed-off-by: Roque Arcudia Hernandez <roqueh@google.com> Signed-off-by: Nabih Estefan <nabihestefan@google.com> Reviewed-by: Klaus Jensen <k.jensen@samsung.com> Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
show more ...
|
#
ec5a138c |
| 07-Aug-2023 |
Ankit Kumar <ankit.kumar@samsung.com> |
docs: update hw/nvme documentation for protection information
Add missing entry for pif ("protection information format"). Protection information size can be 8 or 16 bytes, Update the pil entry as p
docs: update hw/nvme documentation for protection information
Add missing entry for pif ("protection information format"). Protection information size can be 8 or 16 bytes, Update the pil entry as per the NVM command set specification.
Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
show more ...
|
#
313e1629 |
| 30-Jul-2023 |
Stefan Weil <sw@weilnetz.de> |
misc: Fix some typos in documentation and comments
Signed-off-by: Stefan Weil <sw@weilnetz.de> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linar
misc: Fix some typos in documentation and comments
Signed-off-by: Stefan Weil <sw@weilnetz.de> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230730180329.851576-1-sw@weilnetz.de> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
show more ...
|
#
e409c905 |
| 24-May-2023 |
Klaus Jensen <k.jensen@samsung.com> |
docs: update hw/nvme documentation for TP4146
Update documentation for TP4146 ("Flexible Data Placement") emulation.
Reviewed-by: Jesper Wendel Devantier <j.devantier@samsung.com> Signed-off-by: Kl
docs: update hw/nvme documentation for TP4146
Update documentation for TP4146 ("Flexible Data Placement") emulation.
Reviewed-by: Jesper Wendel Devantier <j.devantier@samsung.com> Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
show more ...
|
#
146b5fa5 |
| 27-Jun-2022 |
Niklas Cassel <niklas.cassel@wdc.com> |
hw/nvme: fix example serial in documentation
The serial prop on the controller is actually describing the nvme subsystem serial, which has to be identical for all controllers within the same nvme su
hw/nvme: fix example serial in documentation
The serial prop on the controller is actually describing the nvme subsystem serial, which has to be identical for all controllers within the same nvme subsystem.
This is enforced since commit a859eb9f8f64 ("hw/nvme: enforce common serial per subsystem").
Fix the documentation, so that people copying the qemu command line example won't get an error on qemu start.
Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com> Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
show more ...
|
#
751babf5 |
| 09-May-2022 |
Lukasz Maniak <lukasz.maniak@linux.intel.com> |
docs: Add documentation for SR-IOV and Virtualization Enhancements
Documentation describes 5 new parameters being added regarding SR-IOV: sriov_max_vfs sriov_vq_flexible sriov_vi_flexible sriov_max_
docs: Add documentation for SR-IOV and Virtualization Enhancements
Documentation describes 5 new parameters being added regarding SR-IOV: sriov_max_vfs sriov_vq_flexible sriov_vi_flexible sriov_max_vi_per_vf sriov_max_vq_per_vf
The description also includes the simplest possible QEMU invocation and the series of NVMe commands required to enable SR-IOV support.
Signed-off-by: Lukasz Maniak <lukasz.maniak@linux.intel.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Klaus Jensen <k.jensen@samsung.com> Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
show more ...
|
#
b980c1ae |
| 17-Nov-2021 |
Stefan Weil <sw@weilnetz.de> |
Fix some typos in documentation (found by codespell)
Signed-off-by: Stefan Weil <sw@weilnetz.de> Message-Id: <20211117210702.1393570-1-sw@weilnetz.de> Reviewed-by: Philippe Mathieu-Daudé <philmd@red
Fix some typos in documentation (found by codespell)
Signed-off-by: Stefan Weil <sw@weilnetz.de> Message-Id: <20211117210702.1393570-1-sw@weilnetz.de> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> [thuth: "what's" --> "what is" as suggested by philmd] Signed-off-by: Thomas Huth <thuth@redhat.com>
show more ...
|
#
916b0f0b |
| 24-Sep-2021 |
Klaus Jensen <k.jensen@samsung.com> |
hw/nvme: change nvme-ns 'shared' default
Change namespaces to be shared namespaces by default (parameter shared=on). Keep shared=off for older machine types.
Reviewed-by: Keith Busch <kbusch@kernel
hw/nvme: change nvme-ns 'shared' default
Change namespaces to be shared namespaces by default (parameter shared=on). Keep shared=off for older machine types.
Reviewed-by: Keith Busch <kbusch@kernel.org> Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
show more ...
|
#
189c099f |
| 20-Jul-2021 |
Alex Bennée <alex.bennee@linaro.org> |
docs: collect the disparate device emulation docs into one section
While we are at it add a brief preamble that explains some of the common concepts in QEMU's device emulation which will hopefully l
docs: collect the disparate device emulation docs into one section
While we are at it add a brief preamble that explains some of the common concepts in QEMU's device emulation which will hopefully lead to less confusing about our dizzying command line options.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Markus Armbruster <armbru@redhat.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Daniel P. Berrangé <berrange@redhat.com> Cc: Eduardo Habkost <ehabkost@redhat.com> Message-Id: <20210720232703.10650-3-alex.bennee@linaro.org>
show more ...
|
#
176c0a49 |
| 29-Jun-2021 |
Keith Busch <kbusch@kernel.org> |
hw/nvme: add 'zoned.zasl' to documentation
Signed-off-by: Keith Busch <kbusch@kernel.org> Reviewed-by: Klaus Jensen <k.jensen@samsung.com> Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
|
#
3276dde4 |
| 14-Jun-2021 |
Heinrich Schuchardt <xypron.glpk@gmx.de> |
hw/nvme: default for namespace EUI-64
On machines with version > 6.0 replace a missing EUI-64 by a generated value.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Klaus Jensen
hw/nvme: default for namespace EUI-64
On machines with version > 6.0 replace a missing EUI-64 by a generated value.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
show more ...
|
#
6870cfb8 |
| 14-Jun-2021 |
Heinrich Schuchardt <xypron.glpk@gmx.de> |
hw/nvme: namespace parameter for EUI-64
The EUI-64 field is the only identifier for NVMe namespaces in UEFI device paths. Add a new namespace property "eui64", that provides the user the option to s
hw/nvme: namespace parameter for EUI-64
The EUI-64 field is the only identifier for NVMe namespaces in UEFI device paths. Add a new namespace property "eui64", that provides the user the option to specify the EUI-64.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Acked-by: Klaus Jensen <k.jensen@samsung.com> Reviewed-by: Klaus Jensen <k.jensen@samsung.com>
show more ...
|
#
a3d9f3a9 |
| 08-Apr-2021 |
Klaus Jensen <k.jensen@samsung.com> |
docs: add nvme emulation documentation
Remove the docs/specs/nvme.txt and replace it with proper documentation in docs/system/nvme.rst.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com> Reviewed-b
docs: add nvme emulation documentation
Remove the docs/specs/nvme.txt and replace it with proper documentation in docs/system/nvme.rst.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
show more ...
|