Alderlake changed UEFI variable name to 'RstVmdV' also and for VMD devices, so check the updated name for VMD devices like it is done in the SATA case. Signed-off-by: Oldřich Jedlička <oldium.pro@xxxxxxxxx> --- platform-intel.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/platform-intel.c b/platform-intel.c index a4d55a3..2f8e6af 100644 --- a/platform-intel.c +++ b/platform-intel.c @@ -512,8 +512,8 @@ static const struct imsm_orom *find_imsm_hba_orom(struct sys_dev *hba) #define AHCI_PROP "RstSataV" #define AHCI_SSATA_PROP "RstsSatV" #define AHCI_TSATA_PROP "RsttSatV" -#define AHCI_RST_PROP "RstVmdV" -#define VMD_PROP "RstUefiV" +#define RST_VMD_PROP "RstVmdV" +#define RST_UEFI_PROP "RstUefiV" #define VENDOR_GUID \ EFI_GUID(0x193dfefa, 0xa445, 0x4302, 0x99, 0xd8, 0xef, 0x3a, 0xad, 0x1a, 0x04, 0xc6) @@ -607,7 +607,8 @@ const struct imsm_orom *find_imsm_efi(struct sys_dev *hba) struct orom_entry *ret; static const char * const sata_efivars[] = {AHCI_PROP, AHCI_SSATA_PROP, AHCI_TSATA_PROP, - AHCI_RST_PROP}; + RST_VMD_PROP}; + static const char * const vmd_efivars[] = {RST_UEFI_PROP, RST_VMD_PROP}; unsigned long i; if (check_env("IMSM_TEST_AHCI_EFI") || check_env("IMSM_TEST_SCU_EFI")) @@ -640,10 +641,14 @@ const struct imsm_orom *find_imsm_efi(struct sys_dev *hba) break; case SYS_DEV_VMD: - if (!read_efi_variable(&orom, sizeof(orom), VMD_PROP, - VENDOR_GUID)) - break; - return NULL; + for (i = 0; i < ARRAY_SIZE(vmd_efivars); i++) { + if (!read_efi_variable(&orom, sizeof(orom), + vmd_efivars[i], VENDOR_GUID)) + break; + } + if (i == ARRAY_SIZE(vmd_efivars)) + return NULL; + break; default: return NULL; } -- 2.37.1