PlatformRegisterOptionsAndKeys ();\r
}\r
\r
+#define VERSION_STRING_PREFIX L"Tianocore/EDK2 firmware version "\r
+\r
/**\r
Do the platform specific action after the console is ready\r
Possible things that can be done in PlatformBootManagerAfterConsole:\r
{\r
ESRT_MANAGEMENT_PROTOCOL *EsrtManagement;\r
EFI_STATUS Status;\r
+ EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;\r
+ UINTN FirmwareVerLength;\r
+ UINTN PosX;\r
+ UINTN PosY;\r
+\r
+ FirmwareVerLength = StrLen (PcdGetPtr (PcdFirmwareVersionString));\r
\r
//\r
// Show the splash screen.\r
//\r
Status = BootLogoEnableLogo ();\r
if (EFI_ERROR (Status)) {\r
+ if (FirmwareVerLength > 0) {\r
+ Print (VERSION_STRING_PREFIX L"%s",\r
+ PcdGetPtr (PcdFirmwareVersionString));\r
+ }\r
Print (L"Press ESCAPE for boot options ");\r
+ } else if (FirmwareVerLength > 0) {\r
+ Status = gBS->HandleProtocol (gST->ConsoleOutHandle,\r
+ &gEfiGraphicsOutputProtocolGuid, (VOID **)&GraphicsOutput);\r
+ if (!EFI_ERROR (Status)) {\r
+ PosX = (GraphicsOutput->Mode->Info->HorizontalResolution -\r
+ (StrLen (VERSION_STRING_PREFIX) + FirmwareVerLength) *\r
+ EFI_GLYPH_WIDTH) / 2;\r
+ PosY = 0;\r
+\r
+ PrintXY (PosX, PosY, NULL, NULL, VERSION_STRING_PREFIX L"%s",\r
+ PcdGetPtr (PcdFirmwareVersionString));\r
+ }\r
}\r
+\r
//\r
// Connect the rest of the devices.\r
//\r