summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/interface/efi/efi_snp.c9
1 files 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,