diff --git a/README.md b/README.md index 9289f50a..574c18f9 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,10 @@ * Matrix Storage Manager Support (no reference, metadata format documentation is proprietary). - Known as **IMSM**. Metadata format developed and maintained by **IntelĀ®** as a part of **VROC** - solution. There are some functional differences between **native** and **imsm**. The most - important difference is that the metadata is managed from userspace. + Known as **IMSM**. Metadata format developed by**IntelĀ®**. Currently, maintained + by **Graid Technology Inc.** as a part of **VROC** solution. There are some functional differences + between **native** and **imsm**. + The most important difference is that the metadata is managed from userspace. **CAUTION:** **imsm** is compatible with **Intel RST**, however it is not officially supported. You are using it on your own risk. diff --git a/mdadm.8.in b/mdadm.8.in index 16f80efe..f7e461a7 100644 --- a/mdadm.8.in +++ b/mdadm.8.in @@ -365,7 +365,7 @@ Use the Intel(R) Matrix Storage Manager metadata format. This creates a which is managed in a similar manner to DDF, and is supported by an option-rom on some platforms: .IP -.B https://www.intel.com/content/www/us/en/support/products/122484 +.B https://docs.graidtech.com/vroc/ .PP .RE diff --git a/platform-intel.c b/platform-intel.c index 963edcc4..0dca6fda 100644 --- a/platform-intel.c +++ b/platform-intel.c @@ -691,7 +691,7 @@ static const struct imsm_orom *find_imsm_hba_orom(struct sys_dev *hba) #define RST_TSATA_V_GUID \ EFI_GUID(0x101ce8f1, 0xb873, 0x4362, 0xa9, 0x76, 0xb5, 0x54, 0x31, 0x74, 0x52, 0x7e) -/* GUID entry in 'UEFI' for Intel(R) VROC VMD. */ +/* GUID entry in 'UEFI' for VROC on Intel(R) VMD */ #define RST_UEFI_V_GUID \ EFI_GUID(0x4bf2da96, 0xde6e, 0x4d8a, 0xa8, 0x8b, 0xb3, 0xd, 0x33, 0xf6, 0xf, 0x3e) diff --git a/super-intel.c b/super-intel.c index 7cae5cd3..c158a271 100644 --- a/super-intel.c +++ b/super-intel.c @@ -2727,16 +2727,21 @@ static void print_imsm_chunk_size_capability(const struct imsm_orom *orom) static void print_imsm_capability(const struct orom_entry *entry) { const struct imsm_orom *orom = &entry->orom; + const char *platform_name; + + if (imsm_orom_is_enterprise(orom) && orom->major_ver >= 26) { + platform_name = "VROC(TM) by Graid Technology Inc."; + } else if (orom->capabilities == 0 && orom->driver_features == 0) { + platform_name = "Intel(R) Matrix Storage Manager"; + } else if (imsm_orom_is_enterprise(orom) && orom->major_ver >= 6) { + platform_name = "Intel(R) Virtual RAID on CPU"; + } else { + platform_name = imsm_orom_is_enterprise(orom) ? + "Intel(R) Rapid Storage Technology enterprise" : + "Intel(R) Rapid Storage Technology"; + } - printf(" Platform : Intel(R) "); - - if (orom->capabilities == 0 && orom->driver_features == 0) - printf("Matrix Storage Manager\n"); - else if (imsm_orom_is_enterprise(orom) && orom->major_ver >= 6) - printf("Virtual RAID on CPU\n"); - else - printf("Rapid Storage Technology%s\n", - imsm_orom_is_enterprise(orom) ? " enterprise" : ""); + printf(" Platform : %s\n", platform_name); if (orom->major_ver || orom->minor_ver || orom->hotfix_ver || orom->build) { if (imsm_orom_is_vmd_without_efi(orom)) @@ -6146,13 +6151,12 @@ static int add_to_super_imsm(struct supertype *st, mdu_disk_info_t *dk, } if (is_multipath_nvme(fd)) - pr_err("%s controller supports Multi-Path I/O, Intel (R) VROC does not support multipathing\n", + pr_err("%s controller supports Multi-Path I/O, VROC does not support multipathing\n", basename(cntrl_path)); if (super->orom && devpath_to_vendor(pci_dev_path) != 0x8086 && !imsm_orom_has_tpv_support(super->orom)) { - pr_err("\tPlatform configuration does not support non-Intel NVMe drives.\n" - "\tPlease refer to Intel(R) RSTe/VROC user guide.\n"); + pr_err("\tPlatform configuration does not support non-Intel NVMe drives.\n"); goto error; } }