mirror of
https://github.com/acidanthera/audk.git
synced 2025-04-08 17:05:09 +02:00
ArmPkg/SmbiosMiscDxe: Get full SMBIOS strings from OemMiscLib
Typically, the information of the SMBIOS type 1/2/3 is fetched from an FRU device during UEFI booting intead of fixed PCDs. Therefore, this patch is to add more HII string fields in the OemMiscLib and support updating these SMBIOS types with the strings provided by the OemMiscLib if the PCDs are empty. Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
This commit is contained in:
parent
a6c0418651
commit
45e3842970
@ -40,11 +40,14 @@ typedef enum {
|
||||
SerialNumType01,
|
||||
UuidType01,
|
||||
SystemManufacturerType01,
|
||||
VersionType01,
|
||||
SkuNumberType01,
|
||||
FamilyType01,
|
||||
AssertTagType02,
|
||||
SerialNumberType02,
|
||||
BoardManufacturerType02,
|
||||
ProductNameType02,
|
||||
VersionType02,
|
||||
SkuNumberType02,
|
||||
ChassisLocationType02,
|
||||
AssetTagType03,
|
||||
|
@ -74,12 +74,24 @@ SMBIOS_MISC_TABLE_FUNCTION (MiscSystemManufacturer) {
|
||||
if (StrLen (Product) > 0) {
|
||||
TokenToUpdate = STRING_TOKEN (STR_MISC_SYSTEM_PRODUCT_NAME);
|
||||
HiiSetString (mSmbiosMiscHiiHandle, TokenToUpdate, Product, NULL);
|
||||
} else {
|
||||
OemUpdateSmbiosInfo (
|
||||
mSmbiosMiscHiiHandle,
|
||||
STRING_TOKEN (STR_MISC_SYSTEM_PRODUCT_NAME),
|
||||
ProductNameType01
|
||||
);
|
||||
}
|
||||
|
||||
pVersion = (CHAR16 *)PcdGetPtr (PcdSystemVersion);
|
||||
if (StrLen (pVersion) > 0) {
|
||||
TokenToUpdate = STRING_TOKEN (STR_MISC_SYSTEM_VERSION);
|
||||
HiiSetString (mSmbiosMiscHiiHandle, TokenToUpdate, pVersion, NULL);
|
||||
} else {
|
||||
OemUpdateSmbiosInfo (
|
||||
mSmbiosMiscHiiHandle,
|
||||
STRING_TOKEN (STR_MISC_SYSTEM_VERSION),
|
||||
VersionType01
|
||||
);
|
||||
}
|
||||
|
||||
OemUpdateSmbiosInfo (
|
||||
|
@ -77,18 +77,36 @@ SMBIOS_MISC_TABLE_FUNCTION (MiscBaseBoardManufacturer) {
|
||||
if (StrLen (BaseBoardManufacturer) > 0) {
|
||||
TokenToUpdate = STRING_TOKEN (STR_MISC_BASE_BOARD_MANUFACTURER);
|
||||
HiiSetString (mSmbiosMiscHiiHandle, TokenToUpdate, BaseBoardManufacturer, NULL);
|
||||
} else {
|
||||
OemUpdateSmbiosInfo (
|
||||
mSmbiosMiscHiiHandle,
|
||||
STRING_TOKEN (STR_MISC_BASE_BOARD_MANUFACTURER),
|
||||
BoardManufacturerType02
|
||||
);
|
||||
}
|
||||
|
||||
BaseBoardProductName = (CHAR16 *)PcdGetPtr (PcdBaseBoardProductName);
|
||||
if (StrLen (BaseBoardProductName) > 0) {
|
||||
TokenToUpdate = STRING_TOKEN (STR_MISC_BASE_BOARD_PRODUCT_NAME);
|
||||
HiiSetString (mSmbiosMiscHiiHandle, TokenToUpdate, BaseBoardProductName, NULL);
|
||||
} else {
|
||||
OemUpdateSmbiosInfo (
|
||||
mSmbiosMiscHiiHandle,
|
||||
STRING_TOKEN (STR_MISC_BASE_BOARD_PRODUCT_NAME),
|
||||
ProductNameType02
|
||||
);
|
||||
}
|
||||
|
||||
Version = (CHAR16 *)PcdGetPtr (PcdBaseBoardVersion);
|
||||
if (StrLen (Version) > 0) {
|
||||
TokenToUpdate = STRING_TOKEN (STR_MISC_BASE_BOARD_VERSION);
|
||||
HiiSetString (mSmbiosMiscHiiHandle, TokenToUpdate, Version, NULL);
|
||||
} else {
|
||||
OemUpdateSmbiosInfo (
|
||||
mSmbiosMiscHiiHandle,
|
||||
STRING_TOKEN (STR_MISC_BASE_BOARD_VERSION),
|
||||
VersionType02
|
||||
);
|
||||
}
|
||||
|
||||
OemUpdateSmbiosInfo (
|
||||
|
Loading…
x
Reference in New Issue
Block a user