mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 17:23:56 -06:00
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>
This commit is contained in:
parent
00d7dffe87
commit
bdc31646c5
6 changed files with 229 additions and 7 deletions
|
@ -89,6 +89,7 @@ static int nvme_ns_init(NvmeNamespace *ns, Error **errp)
|
|||
id_ns->mcl = cpu_to_le32(ns->params.mcl);
|
||||
id_ns->msrc = ns->params.msrc;
|
||||
id_ns->eui64 = cpu_to_be64(ns->params.eui64);
|
||||
memcpy(&id_ns->nguid, &ns->params.nguid.data, sizeof(id_ns->nguid));
|
||||
|
||||
ds = 31 - clz32(ns->blkconf.logical_block_size);
|
||||
ms = ns->params.ms;
|
||||
|
@ -797,6 +798,7 @@ static Property nvme_ns_props[] = {
|
|||
DEFINE_PROP_BOOL("shared", NvmeNamespace, params.shared, true),
|
||||
DEFINE_PROP_UINT32("nsid", NvmeNamespace, params.nsid, 0),
|
||||
DEFINE_PROP_UUID_NODEFAULT("uuid", NvmeNamespace, params.uuid),
|
||||
DEFINE_PROP_NGUID_NODEFAULT("nguid", NvmeNamespace, params.nguid),
|
||||
DEFINE_PROP_UINT64("eui64", NvmeNamespace, params.eui64, 0),
|
||||
DEFINE_PROP_UINT16("ms", NvmeNamespace, params.ms, 0),
|
||||
DEFINE_PROP_UINT8("mset", NvmeNamespace, params.mset, 0),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue