Frontpage: add device names, FW info to setup screen
Signed-off-by: Matt Devo <matt.devillier@gmail.com>
This commit is contained in:
@ -689,6 +689,107 @@ GetOptionalStringByIndex (
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
GetDeviceNameFromProduct (
|
||||
IN CHAR16 *Product,
|
||||
OUT CHAR16 **DeviceName
|
||||
)
|
||||
{
|
||||
if (!StrCmp(Product, L"Auron")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Acer Chromebook C740/C910");
|
||||
} else if (!StrCmp(Product, L"Auron_Paine")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Acer Chromebook 11 C740");
|
||||
} else if (!StrCmp(Product, L"Auron_Yuna")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Acer Chromebook 15 C910");
|
||||
} else if (!StrCmp(Product, L"Banjo")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Acer Chromebook 15 CB3-571");
|
||||
} else if (!StrCmp(Product, L"Buddy")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Acer Chromebase 24");
|
||||
} else if (!StrCmp(Product, L"Butterfly")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"HP Pavilion Chromebook 14");
|
||||
} else if (!StrCmp(Product, L"Candy")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Dell Chromebook 11 3120");
|
||||
} else if (!StrCmp(Product, L"Chell")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"HP Chromebook 13 G1");
|
||||
} else if (!StrCmp(Product, L"Clapper")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Lenovo N20 Chromebook");
|
||||
} else if (!StrCmp(Product, L"Cyan")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Acer Chromebook R11 / C738T");
|
||||
} else if (!StrCmp(Product, L"Edgar")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Acer Chromebook 14");
|
||||
} else if (!StrCmp(Product, L"Enguarde")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Lenovo N21 Chromebook");
|
||||
} else if (!StrCmp(Product, L"Falco")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"HP Chromebook 14");
|
||||
} else if (!StrCmp(Product, L"Gandof")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Toshiba Chromebook2 2015");
|
||||
} else if (!StrCmp(Product, L"Glimmer")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Lenovo ThinkPad 11e");
|
||||
} else if (!StrCmp(Product, L"Gnawty")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Acer Chromebook 11 CB3-111/131");
|
||||
} else if (!StrCmp(Product, L"Guado")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Asus Chromebox CN62");
|
||||
} else if (!StrCmp(Product, L"Kip")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"HP Chromebook 11 G3/G4");
|
||||
} else if (!StrCmp(Product, L"Leon")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Toshiba Chromebook");
|
||||
} else if (!StrCmp(Product, L"Librem 13 v2")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Purism Librem 13 v2");
|
||||
} else if (!StrCmp(Product, L"Lulu")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Dell Chromebook 13 7310");
|
||||
} else if (!StrCmp(Product, L"Link")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Google Chromebook Pixel 2013");
|
||||
} else if (!StrCmp(Product, L"Lumpy")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Samsung Chromebook Series 5 550");
|
||||
} else if (!StrCmp(Product, L"Mccloud")) {
|
||||
StrCatS (*DeviceName, 0x60 / sizeof (CHAR16), L"Acer Chromebox CXI");
|
||||
} else if (!StrCmp(Product, L"Monroe")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"LG Chromebase");
|
||||
} else if (!StrCmp(Product, L"Ninja")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"AOpen Chromebox Commercial");
|
||||
} else if (!StrCmp(Product, L"Orco")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Lenovo Ideapad 100s");
|
||||
} else if (!StrCmp(Product, L"Panther")) {
|
||||
StrCatS (*DeviceName, 0x60 / sizeof (CHAR16), L"Asus Chromebox CN60");
|
||||
} else if (!StrCmp(Product, L"Parrot")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Acer Chromebook C710");
|
||||
} else if (!StrCmp(Product, L"Peppy")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Acer Chromebook C720");
|
||||
} else if (!StrCmp(Product, L"Quawks")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Asus Chromebook C300");
|
||||
} else if (!StrCmp(Product, L"Reks")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Lenovo N22 Chromebook");
|
||||
} else if (!StrCmp(Product, L"Rikku")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Acer Chromebox CXI2");
|
||||
} else if (!StrCmp(Product, L"Samus")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Google Chromebook Pixel 2015");
|
||||
} else if (!StrCmp(Product, L"Sentry")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Lenovo ThinkPad 13 Chromebook");
|
||||
} else if (!StrCmp(Product, L"Squawks")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Asus Chromebook C200");
|
||||
} else if (!StrCmp(Product, L"Stout")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Lenovo ThinkPad X131e Chromebook");
|
||||
} else if (!StrCmp(Product, L"Stumpy")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Samsung Chromebox Series 3");
|
||||
} else if (!StrCmp(Product, L"Sumo")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"AOpen Chromebase Commercial");
|
||||
} else if (!StrCmp(Product, L"Swanky")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Toshiba Chromebook2 2014");
|
||||
} else if (!StrCmp(Product, L"Tidus")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Lenovo ThinkCentre Chromebox");
|
||||
} else if (!StrCmp(Product, L"Tricky")) {
|
||||
StrCatS (*DeviceName, 0x60 / sizeof (CHAR16), L"Dell Chromebox 3010");
|
||||
} else if (!StrCmp(Product, L"Winky")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Samsung Chromebook 2");
|
||||
} else if (!StrCmp(Product, L"Wolf")) {
|
||||
StrCatS (*DeviceName, 0x40 / sizeof (CHAR16), L"Dell Chromebook 11 2013");
|
||||
} else if (!StrCmp(Product, L"Zako")) {
|
||||
StrCatS (*DeviceName, 0x60 / sizeof (CHAR16), L"HP Chromebox CB1");
|
||||
}
|
||||
//etc etc
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Update the banner information for the Front Page based on DataHub information.
|
||||
|
||||
@ -699,7 +800,10 @@ UpdateFrontPageStrings (
|
||||
)
|
||||
{
|
||||
UINT8 StrIndex;
|
||||
UINT8 Str2Index;
|
||||
CHAR16 *NewString;
|
||||
CHAR16 *NewString2;
|
||||
CHAR16 *NewString3;
|
||||
EFI_STATUS Status;
|
||||
EFI_STRING_ID TokenToUpdate;
|
||||
EFI_SMBIOS_HANDLE SmbiosHandle;
|
||||
@ -725,21 +829,36 @@ UpdateFrontPageStrings (
|
||||
SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED;
|
||||
Status = Smbios->GetNext (Smbios, &SmbiosHandle, NULL, &Record, NULL);
|
||||
while (!EFI_ERROR(Status)) {
|
||||
if (Record->Type == SMBIOS_TYPE_BIOS_INFORMATION) {
|
||||
NewString3 = AllocateZeroPool (0x60);
|
||||
|
||||
if (Record->Type == EFI_SMBIOS_TYPE_BIOS_INFORMATION) {
|
||||
Type0Record = (SMBIOS_TABLE_TYPE0 *) Record;
|
||||
StrIndex = Type0Record->BiosVersion;
|
||||
Str2Index = Type0Record->BiosReleaseDate;
|
||||
GetOptionalStringByIndex ((CHAR8*)((UINT8*)Type0Record + Type0Record->Hdr.Length), StrIndex, &NewString);
|
||||
GetOptionalStringByIndex ((CHAR8*)((UINT8*)Type0Record + Type0Record->Hdr.Length), Str2Index, &NewString2);
|
||||
StrCatS (NewString3, 0x40 / sizeof (CHAR16), L"FW: ");
|
||||
StrCatS (NewString3, 0x40 / sizeof (CHAR16), NewString2);
|
||||
StrCatS (NewString3, 0x40 / sizeof (CHAR16), L"::");
|
||||
StrCatS (NewString3, 0x40 / sizeof (CHAR16), NewString);
|
||||
TokenToUpdate = STRING_TOKEN (STR_FRONT_PAGE_BIOS_VERSION);
|
||||
HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString, NULL);
|
||||
HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString3, NULL);
|
||||
FreePool (NewString);
|
||||
}
|
||||
|
||||
if (Record->Type == SMBIOS_TYPE_SYSTEM_INFORMATION) {
|
||||
Type1Record = (SMBIOS_TABLE_TYPE1 *) Record;
|
||||
StrIndex = Type1Record->ProductName;
|
||||
Str2Index = Type1Record->Manufacturer;
|
||||
GetOptionalStringByIndex ((CHAR8*)((UINT8*)Type1Record + Type1Record->Hdr.Length), StrIndex, &NewString);
|
||||
NewString2 = AllocateZeroPool (0x60);
|
||||
GetDeviceNameFromProduct(NewString, &NewString2);
|
||||
StrCatS (NewString3, 0x60 / sizeof (CHAR16), NewString2);
|
||||
StrCatS (NewString3, 0x60 / sizeof (CHAR16), L" (");
|
||||
StrCatS (NewString3, 0x60 / sizeof (CHAR16), NewString);
|
||||
StrCatS (NewString3, 0x60 / sizeof (CHAR16), L")");
|
||||
TokenToUpdate = STRING_TOKEN (STR_FRONT_PAGE_COMPUTER_MODEL);
|
||||
HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString, NULL);
|
||||
HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString3, NULL);
|
||||
FreePool (NewString);
|
||||
}
|
||||
|
||||
@ -752,13 +871,13 @@ UpdateFrontPageStrings (
|
||||
FreePool (NewString);
|
||||
}
|
||||
|
||||
if (Record->Type == SMBIOS_TYPE_PROCESSOR_INFORMATION) {
|
||||
Type4Record = (SMBIOS_TABLE_TYPE4 *) Record;
|
||||
ConvertProcessorToString(Type4Record->CurrentSpeed, 6, &NewString);
|
||||
TokenToUpdate = STRING_TOKEN (STR_FRONT_PAGE_CPU_SPEED);
|
||||
HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString, NULL);
|
||||
FreePool (NewString);
|
||||
}
|
||||
// if (Record->Type == SMBIOS_TYPE_PROCESSOR_INFORMATION) {
|
||||
// Type4Record = (SMBIOS_TABLE_TYPE4 *) Record;
|
||||
// ConvertProcessorToString(Type4Record->CurrentSpeed, 6, &NewString);
|
||||
// TokenToUpdate = STRING_TOKEN (STR_FRONT_PAGE_CPU_SPEED);
|
||||
// HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString, NULL);
|
||||
// FreePool (NewString);
|
||||
// }
|
||||
|
||||
if ( Record->Type == SMBIOS_TYPE_MEMORY_ARRAY_MAPPED_ADDRESS ) {
|
||||
Type19Record = (SMBIOS_TABLE_TYPE19 *) Record;
|
||||
@ -769,16 +888,15 @@ UpdateFrontPageStrings (
|
||||
InstalledMemory += RShiftU64(Type19Record->ExtendedEndingAddress -
|
||||
Type19Record->ExtendedStartingAddress + 1, 20);
|
||||
}
|
||||
// now update the total installed RAM size
|
||||
ConvertMemorySizeToString ((UINT32)InstalledMemory, &NewString );
|
||||
TokenToUpdate = STRING_TOKEN (STR_FRONT_PAGE_MEMORY_SIZE);
|
||||
HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString, NULL);
|
||||
FreePool (NewString);
|
||||
}
|
||||
|
||||
Status = Smbios->GetNext (Smbios, &SmbiosHandle, NULL, &Record, NULL);
|
||||
}
|
||||
|
||||
// now update the total installed RAM size
|
||||
ConvertMemorySizeToString ((UINT32)InstalledMemory, &NewString );
|
||||
TokenToUpdate = STRING_TOKEN (STR_FRONT_PAGE_MEMORY_SIZE);
|
||||
HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString, NULL);
|
||||
FreePool (NewString);
|
||||
}
|
||||
}
|
||||
|
||||
return ;
|
||||
|
Reference in New Issue
Block a user