MdeModulePkg/BdsDxe: Initialize gConnectConInEvent earlier

PlatformBootManagerBeforeConsole() might want to trigger this event
to connect ConIn so BdsDxe initializes this event before
PlatformBootManagerBeforeConsole().

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Sunny Wang <sunnywang@hpe.com>
Cc: Chao B Zhang <chao.b.zhang@intel.com>
This commit is contained in:
Ruiyu Ni 2016-12-05 09:49:24 +08:00
parent c497dcc8e5
commit 8537bd7ef6

View File

@ -873,6 +873,23 @@ BdsEntry (
(EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_DXE_BS_PC_BEGIN_CONNECTING_DRIVERS) (EFI_SOFTWARE_DXE_BS_DRIVER | EFI_SW_DXE_BS_PC_BEGIN_CONNECTING_DRIVERS)
); );
//
// Initialize ConnectConIn event before calling platform code.
//
if (PcdGetBool (PcdConInConnectOnDemand)) {
Status = gBS->CreateEventEx (
EVT_NOTIFY_SIGNAL,
TPL_CALLBACK,
BdsDxeOnConnectConInCallBack,
NULL,
&gConnectConInEventGuid,
&gConnectConInEvent
);
if (EFI_ERROR (Status)) {
gConnectConInEvent = NULL;
}
}
// //
// Do the platform init, can be customized by OEM/IBV // Do the platform init, can be customized by OEM/IBV
// Possible things that can be done in PlatformBootManagerBeforeConsole: // Possible things that can be done in PlatformBootManagerBeforeConsole:
@ -905,21 +922,9 @@ BdsEntry (
if (PcdGetBool (PcdConInConnectOnDemand)) { if (PcdGetBool (PcdConInConnectOnDemand)) {
EfiBootManagerConnectConsoleVariable (ConOut); EfiBootManagerConnectConsoleVariable (ConOut);
EfiBootManagerConnectConsoleVariable (ErrOut); EfiBootManagerConnectConsoleVariable (ErrOut);
// //
// Initialize ConnectConIn event // Do not connect ConIn devices when lazy ConIn feature is ON.
// //
Status = gBS->CreateEventEx (
EVT_NOTIFY_SIGNAL,
TPL_CALLBACK,
BdsDxeOnConnectConInCallBack,
NULL,
&gConnectConInEventGuid,
&gConnectConInEvent
);
if (EFI_ERROR (Status)) {
gConnectConInEvent = NULL;
}
} else { } else {
EfiBootManagerConnectAllDefaultConsoles (); EfiBootManagerConnectAllDefaultConsoles ();
} }