Skip to content

Commit da250dd

Browse files
committed
System76PayloadPkg: Customize UefiBootManagerLib
- Remove "UEFI" prefix from device descriptions - Remove serial numbers from device descriptions Signed-off-by: Tim Crawford <tcrawford@system76.com>
1 parent 78bdd5b commit da250dd

1 file changed

Lines changed: 6 additions & 73 deletions

File tree

System76PayloadPkg/Library/UefiBootManagerLib/BmBootDescription.c

Lines changed: 6 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
1515
#define PRODUCT_IDENTIFICATION_LENGTH 16
1616

1717
CONST UINT16 mBmUsbLangId = 0x0409; // English
18-
CHAR16 mBmUefiPrefix[] = L"UEFI ";
1918

2019
CHAR16 mBootDescGenericManufacturer[] = L"Generic";
2120
CHAR16 mBootDescSd[] = L"SD Device";
@@ -280,7 +279,6 @@ BmGetEmmcTypeDescription (
280279
@param ManufacturerName Manufacturer name string.
281280
@param ProductName Product name from CID.
282281
@param ProductNameLength Length of ProductName.
283-
@param SerialNumber Serial number from CID.
284282
@param DeviceType Device type string (e.g. SD or an eMMC partition).
285283
286284
@return The description string.
@@ -290,7 +288,6 @@ BmGetSdMmcDescription (
290288
IN CHAR16 *ManufacturerName,
291289
IN UINT8 *ProductName,
292290
IN UINT8 ProductNameLength,
293-
IN UINT8 SerialNumber[4],
294291
IN CHAR16 *DeviceType
295292
)
296293
{
@@ -301,8 +298,6 @@ BmGetSdMmcDescription (
301298
+ sizeof (CHAR16) // " "
302299
+ ProductNameLength * sizeof (CHAR16) // "BJTD4R"
303300
+ sizeof (CHAR16) // " "
304-
+ sizeof (UINT32) * 2 * sizeof (CHAR16) // "00000000"
305-
+ sizeof (CHAR16) // " "
306301
+ StrSize (DeviceType); // "eMMC User Data\0"
307302

308303
Desc = AllocateZeroPool (DescSize);
@@ -315,14 +310,10 @@ BmGetSdMmcDescription (
315310
UnicodeSPrint (
316311
Desc,
317312
DescSize,
318-
L"%s %.*a %02x%02x%02x%02x %s",
313+
L"%s %.*a %s",
319314
ManufacturerName,
320315
ProductNameLength,
321316
ProductName,
322-
SerialNumber[0],
323-
SerialNumber[1],
324-
SerialNumber[2],
325-
SerialNumber[3],
326317
DeviceType
327318
);
328319

@@ -350,9 +341,7 @@ BmGetDescriptionFromDiskInfo (
350341
SD_CID SdCid;
351342
EMMC_CID EmmcCid;
352343
CHAR16 *Description;
353-
UINTN Length;
354344
CONST UINTN ModelNameLength = 40;
355-
CONST UINTN SerialNumberLength = 20;
356345
CHAR8 *StrPtr;
357346
UINT8 Temp;
358347
EFI_DEVICE_PATH_PROTOCOL *DevicePath;
@@ -378,24 +367,15 @@ BmGetDescriptionFromDiskInfo (
378367
&BufferSize
379368
);
380369
if (!EFI_ERROR (Status)) {
381-
Description = AllocateZeroPool ((ModelNameLength + SerialNumberLength + 2) * sizeof (CHAR16));
370+
Description = AllocateZeroPool ((ModelNameLength + 1) * sizeof (CHAR16));
382371
ASSERT (Description != NULL);
383372
for (Index = 0; Index + 1 < ModelNameLength; Index += 2) {
384373
Description[Index] = (CHAR16)IdentifyData.ModelName[Index + 1];
385374
Description[Index + 1] = (CHAR16)IdentifyData.ModelName[Index];
386375
}
387376

388-
Length = Index;
389-
Description[Length++] = L' ';
390-
391-
for (Index = 0; Index + 1 < SerialNumberLength; Index += 2) {
392-
Description[Length + Index] = (CHAR16)IdentifyData.SerialNo[Index + 1];
393-
Description[Length + Index + 1] = (CHAR16)IdentifyData.SerialNo[Index];
394-
}
395-
396-
Length += Index;
397-
Description[Length++] = L'\0';
398-
ASSERT (Length == ModelNameLength + SerialNumberLength + 2);
377+
Description[Index] = L'\0';
378+
ASSERT (Index == ModelNameLength);
399379

400380
BmEliminateExtraSpaces (Description);
401381
}
@@ -459,7 +439,6 @@ BmGetDescriptionFromDiskInfo (
459439
BmGetSdMmcManufacturerName (SdCid.ManufacturerId, FALSE),
460440
SdCid.ProductName,
461441
ARRAY_SIZE (SdCid.ProductName),
462-
SdCid.ProductSerialNumber,
463442
mBootDescSd
464443
);
465444
} else if (DevicePathSubType (DevicePath) == MSG_EMMC_DP) {
@@ -480,7 +459,6 @@ BmGetDescriptionFromDiskInfo (
480459
BmGetSdMmcManufacturerName (EmmcCid.ManufacturerId, TRUE),
481460
EmmcCid.ProductName,
482461
ARRAY_SIZE (EmmcCid.ProductName),
483-
EmmcCid.ProductSerialNumber,
484462
Description
485463
);
486464
} else {
@@ -510,7 +488,6 @@ BmGetUsbDescription (
510488
CHAR16 NullChar;
511489
CHAR16 *Manufacturer;
512490
CHAR16 *Product;
513-
CHAR16 *SerialNumber;
514491
CHAR16 *Description;
515492
EFI_USB_DEVICE_DESCRIPTOR DevDesc;
516493
UINTN DescMaxSize;
@@ -551,34 +528,19 @@ BmGetUsbDescription (
551528
Product = &NullChar;
552529
}
553530

554-
Status = UsbIo->UsbGetStringDescriptor (
555-
UsbIo,
556-
mBmUsbLangId,
557-
DevDesc.StrSerialNumber,
558-
&SerialNumber
559-
);
560-
if (EFI_ERROR (Status)) {
561-
SerialNumber = &NullChar;
562-
}
563-
564531
if ((Manufacturer == &NullChar) &&
565-
(Product == &NullChar) &&
566-
(SerialNumber == &NullChar)
532+
(Product == &NullChar)
567533
)
568534
{
569535
return NULL;
570536
}
571537

572-
DescMaxSize = StrSize (Manufacturer) + StrSize (Product) + StrSize (SerialNumber);
538+
DescMaxSize = StrSize (Manufacturer) + StrSize (Product);
573539
Description = AllocateZeroPool (DescMaxSize);
574540
ASSERT (Description != NULL);
575541
StrCatS (Description, DescMaxSize/sizeof (CHAR16), Manufacturer);
576542
StrCatS (Description, DescMaxSize/sizeof (CHAR16), L" ");
577-
578543
StrCatS (Description, DescMaxSize/sizeof (CHAR16), Product);
579-
StrCatS (Description, DescMaxSize/sizeof (CHAR16), L" ");
580-
581-
StrCatS (Description, DescMaxSize/sizeof (CHAR16), SerialNumber);
582544

583545
if (Manufacturer != &NullChar) {
584546
FreePool (Manufacturer);
@@ -588,10 +550,6 @@ BmGetUsbDescription (
588550
FreePool (Product);
589551
}
590552

591-
if (SerialNumber != &NullChar) {
592-
FreePool (SerialNumber);
593-
}
594-
595553
BmEliminateExtraSpaces (Description);
596554

597555
return Description;
@@ -880,7 +838,6 @@ BmGetNvmeDescription (
880838

881839
Description = AllocateZeroPool (
882840
(ARRAY_SIZE (ControllerData.Mn) + 1
883-
+ ARRAY_SIZE (ControllerData.Sn) + 1
884841
+ MAXIMUM_VALUE_CHARACTERS + 1
885842
) * sizeof (CHAR16)
886843
);
@@ -890,19 +847,6 @@ BmGetNvmeDescription (
890847
*(Char++) = (CHAR16)ControllerData.Mn[Index];
891848
}
892849

893-
*(Char++) = L' ';
894-
for (Index = 0; Index < ARRAY_SIZE (ControllerData.Sn); Index++) {
895-
*(Char++) = (CHAR16)ControllerData.Sn[Index];
896-
}
897-
898-
*(Char++) = L' ';
899-
UnicodeValueToStringS (
900-
Char,
901-
sizeof (CHAR16) * (MAXIMUM_VALUE_CHARACTERS + 1),
902-
0,
903-
DevicePath.NvmeNamespace->NamespaceId,
904-
0
905-
);
906850
BmEliminateExtraSpaces (Description);
907851
}
908852

@@ -1038,7 +982,6 @@ BmGetBootDescription (
1038982
BM_BOOT_DESCRIPTION_ENTRY *Entry;
1039983
CHAR16 *Description;
1040984
CHAR16 *DefaultDescription;
1041-
CHAR16 *Temp;
1042985
UINTN Index;
1043986

1044987
//
@@ -1048,16 +991,6 @@ BmGetBootDescription (
1048991
for (Index = 0; Index < ARRAY_SIZE (mBmBootDescriptionHandlers); Index++) {
1049992
DefaultDescription = mBmBootDescriptionHandlers[Index](Handle);
1050993
if (DefaultDescription != NULL) {
1051-
//
1052-
// Avoid description confusion between UEFI & Legacy boot option by adding "UEFI " prefix
1053-
// ONLY for core provided boot description handler.
1054-
//
1055-
Temp = AllocatePool (StrSize (DefaultDescription) + sizeof (mBmUefiPrefix));
1056-
ASSERT (Temp != NULL);
1057-
StrCpyS (Temp, (StrSize (DefaultDescription) + sizeof (mBmUefiPrefix)) / sizeof (CHAR16), mBmUefiPrefix);
1058-
StrCatS (Temp, (StrSize (DefaultDescription) + sizeof (mBmUefiPrefix)) / sizeof (CHAR16), DefaultDescription);
1059-
FreePool (DefaultDescription);
1060-
DefaultDescription = Temp;
1061994
break;
1062995
}
1063996
}

0 commit comments

Comments
 (0)