From 0a71888792d20a7322ef8f4acb236f1b86c13c5f Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Tue, 3 May 2011 18:52:56 +0100 Subject: [PATCH] [efi] Ensure that each HII package list and formset has a unique GUID Signed-off-by: Michael Brown --- src/interface/efi/efi_snp.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/interface/efi/efi_snp.c b/src/interface/efi/efi_snp.c index f40bfff94..bc6c09191 100644 --- a/src/interface/efi/efi_snp.c +++ b/src/interface/efi/efi_snp.c @@ -769,8 +769,8 @@ static EFI_GUID efi_hii_config_access_protocol_guid static EFI_HII_DATABASE_PROTOCOL *efihii; EFI_REQUIRE_PROTOCOL ( EFI_HII_DATABASE_PROTOCOL, &efihii ); -/** Local GUID used for our EFI SNP formset */ -#define EFI_SNP_FORMSET_GUID \ +/** Local base GUID used for our EFI SNP formset */ +#define EFI_SNP_FORMSET_GUID_BASE \ { 0xc4f84019, 0x6dfd, 0x4a27, \ { 0x9b, 0x94, 0xb7, 0x2e, 0x1f, 0xbc, 0xad, 0xca } } @@ -815,7 +815,7 @@ struct efi_snp_formset { .Length = sizeof ( efi_snp_formset ), .Type = EFI_HII_PACKAGE_FORMS, }, - .FormSet = EFI_IFR_FORM_SET ( EFI_SNP_FORMSET_GUID, + .FormSet = EFI_IFR_FORM_SET ( EFI_SNP_FORMSET_GUID_BASE, EFI_SNP_FORMSET_TITLE, EFI_SNP_FORMSET_HELP, typeof ( efi_snp_formset.FormSet ), @@ -992,6 +992,9 @@ efi_snp_package_list ( struct efi_snp_device *snpdev ) { if ( ! package_list ) return NULL; + /* Create a unique GUID for this package list and formset */ + efi_snp_formset.FormSet.FormSet.Guid.Data1++; + /* Populate package list */ memcpy ( &package_list->header.PackageListGuid, &efi_snp_formset.FormSet.FormSet.Guid,