&gEfiDxeSmmReadyToLockProtocolGuid, EFI_NATIVE_INTERFACE,\r
NULL);\r
ASSERT_EFI_ERROR (Status);\r
+\r
+ PlatformInitializeConsole (gPlatformConsole);\r
}\r
\r
\r
}\r
\r
\r
-EFI_STATUS\r
-PlatformBdsConnectConsole (\r
- IN BDS_CONSOLE_CONNECT_ENTRY *PlatformConsole\r
+VOID\r
+PlatformInitializeConsole (\r
+ IN PLATFORM_CONSOLE_CONNECT_ENTRY *PlatformConsole\r
)\r
/*++\r
\r
Arguments:\r
\r
PlatformConsole - Predfined platform default console device array.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - Success connect at least one ConIn and ConOut\r
- device, there must have one ConOut device is\r
- active vga device.\r
-\r
- EFI_STATUS - Return the status of\r
- BdsLibConnectAllDefaultConsoles ()\r
-\r
--*/\r
{\r
- EFI_STATUS Status;\r
UINTN Index;\r
EFI_DEVICE_PATH_PROTOCOL *VarConout;\r
EFI_DEVICE_PATH_PROTOCOL *VarConin;\r
- UINTN DevicePathSize;\r
\r
//\r
// Connect RootBridge\r
//\r
- VarConout = BdsLibGetVariableAndSize (\r
- VarConsoleOut,\r
- &gEfiGlobalVariableGuid,\r
- &DevicePathSize\r
- );\r
- VarConin = BdsLibGetVariableAndSize (\r
- VarConsoleInp,\r
- &gEfiGlobalVariableGuid,\r
- &DevicePathSize\r
- );\r
+ GetEfiGlobalVariable2 (EFI_CON_OUT_VARIABLE_NAME, (VOID **) &VarConout, NULL);\r
+ GetEfiGlobalVariable2 (EFI_CON_IN_VARIABLE_NAME, (VOID **) &VarConin, NULL);\r
\r
if (VarConout == NULL || VarConin == NULL) {\r
//\r
//\r
DetectAndPreparePlatformPciDevicePaths (TRUE);\r
}\r
-\r
- //\r
- // Connect the all the default console with current cosole variable\r
- //\r
- Status = BdsLibConnectAllDefaultConsoles ();\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
-\r
- return EFI_SUCCESS;\r
}\r
\r
\r
// Notes: this part code can be change with the table policy\r
//\r
ASSERT (BootMode == BOOT_WITH_FULL_CONFIGURATION);\r
- //\r
- // Connect platform console\r
- //\r
- Status = PlatformBdsConnectConsole (gPlatformConsole);\r
- if (EFI_ERROR (Status)) {\r
- //\r
- // Here OEM/IBV can customize with defined action\r
- //\r
- PlatformBdsNoConsoleAction ();\r
- }\r
\r
//\r
// Memory test and Logo show\r
}\r
}\r
\r
-EFI_STATUS\r
-PlatformBdsNoConsoleAction (\r
- VOID\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- This function is remained for IBV/OEM to do some platform action,\r
- if there no console device can be connected.\r
-\r
-Arguments:\r
-\r
- None.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS - Direct return success now.\r
-\r
---*/\r
-{\r
- DEBUG ((EFI_D_INFO, "PlatformBdsNoConsoleAction\n"));\r
- return EFI_SUCCESS;\r
-}\r
-\r
VOID\r
EFIAPI\r
PlatformBdsLockNonUpdatableFlash (\r
{\r
}\r
\r
-/**\r
- Lock the ConsoleIn device in system table. All key\r
- presses will be ignored until the Password is typed in. The only way to\r
- disable the password is to type it in to a ConIn device.\r
-\r
- @param Password Password used to lock ConIn device.\r
-\r
- @retval EFI_SUCCESS lock the Console In Spliter virtual handle successfully.\r
- @retval EFI_UNSUPPORTED Password not found\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-LockKeyboards (\r
- IN CHAR16 *Password\r
- )\r
-{\r
- return EFI_UNSUPPORTED;\r
-}\r
-\r
\r
#include <OvmfPlatforms.h>\r
\r
-extern BDS_CONSOLE_CONNECT_ENTRY gPlatformConsole[];\r
extern EFI_DEVICE_PATH_PROTOCOL *gPlatformConnectSequence[];\r
extern EFI_DEVICE_PATH_PROTOCOL *gPlatformDriverOption[];\r
extern ACPI_HID_DEVICE_PATH gPnpPs2KeyboardDeviceNode;\r
extern ACPI_HID_DEVICE_PATH gPnp16550ComPortDeviceNode;\r
extern UART_DEVICE_PATH gUartDeviceNode;\r
extern VENDOR_DEVICE_PATH gTerminalTypeDeviceNode;\r
-//\r
-//\r
-//\r
-#define VarConsoleInpDev L"ConInDev"\r
-#define VarConsoleInp L"ConIn"\r
-#define VarConsoleOutDev L"ConOutDev"\r
-#define VarConsoleOut L"ConOut"\r
-#define VarErrorOutDev L"ErrOutDev"\r
-#define VarErrorOut L"ErrOut"\r
\r
#define PCI_DEVICE_PATH_NODE(Func, Dev) \\r
{ \\r
EFI_DEVICE_PATH_PROTOCOL End;\r
} USB_CLASS_FORMAT_DEVICE_PATH;\r
\r
+typedef struct {\r
+ EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
+ UINTN ConnectType;\r
+} PLATFORM_CONSOLE_CONNECT_ENTRY;\r
+\r
+#define CONSOLE_OUT BIT0\r
+#define CONSOLE_IN BIT1\r
+#define STD_ERROR BIT2\r
+extern PLATFORM_CONSOLE_CONNECT_ENTRY gPlatformConsole[];\r
+\r
//\r
// Platform BDS Functions\r
//\r
EFI_BOOT_MODE BootMode\r
);\r
\r
-EFI_STATUS\r
-PlatformBdsConnectConsole (\r
- IN BDS_CONSOLE_CONNECT_ENTRY *PlatformConsole\r
- );\r
-\r
-EFI_STATUS\r
-PlatformBdsNoConsoleAction (\r
- VOID\r
+VOID\r
+PlatformInitializeConsole (\r
+ IN PLATFORM_CONSOLE_CONNECT_ENTRY *PlatformConsole\r
);\r
\r
EFI_STATUS\r