Add DxeDebugLibSerialPort that provides a debug library that layers directly on top of a serial port

Add an EdkDxeRuntimeSalLib that provide a SalLib that is safe for runtime use.  The EdkDxeSalLib is now a boot service only lib.
Move the registration and processing of ExitBootServicesEvents() from the RuntimeLib to the UEFI DriverEntryPointLib in the MdePkg.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2057 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
mdkinney
2006-12-06 05:17:50 +00:00
parent 756e4264d3
commit f1cd55fe24
11 changed files with 849 additions and 85 deletions

View File

@ -21,14 +21,11 @@ Module Name:
// Driver Lib Module Globals
//
STATIC EFI_EVENT mRuntimeNotifyEvent;
STATIC EFI_EVENT mEfiVirtualNotifyEvent;
STATIC BOOLEAN mEfiGoneVirtual = FALSE;
STATIC BOOLEAN mEfiAtRuntime = FALSE;
EFI_RUNTIME_SERVICES *mRT;
STATIC
VOID
EFIAPI
RuntimeDriverExitBootServices (
@ -53,16 +50,6 @@ Returns:
--*/
{
EFI_EVENT_NOTIFY ChildNotifyEventHandler;
UINTN Index;
for (Index = 0;
_gDriverExitBootServicesEvent[Index] != NULL;
Index++) {
ChildNotifyEventHandler = _gDriverExitBootServicesEvent[Index];
ChildNotifyEventHandler (Event, NULL);
}
//
// Clear out BootService globals
//
@ -146,22 +133,10 @@ Returns:
mRT = SystemTable->RuntimeServices;
//
// Register our ExitBootServices () notify function
//
Status = gBS->CreateEvent (
EFI_EVENT_SIGNAL_EXIT_BOOT_SERVICES,
EFI_TPL_NOTIFY,
RuntimeDriverExitBootServices,
NULL,
&mRuntimeNotifyEvent
);
ASSERT_EFI_ERROR (Status);
//
// Register SetVirtualAddressMap () notify function
//
if (_gDriverSetVirtualAddressMapEvent[0] != NULL) {
Status = gBS->CreateEvent (
EFI_EVENT_SIGNAL_VIRTUAL_ADDRESS_CHANGE,
EFI_TPL_NOTIFY,
@ -171,6 +146,7 @@ Returns:
);
ASSERT_EFI_ERROR (Status);
}
return EFI_SUCCESS;
}
@ -201,17 +177,13 @@ Returns:
{
EFI_STATUS Status;
//
// Close our ExitBootServices () notify function
//
Status = gBS->CloseEvent (mRuntimeNotifyEvent);
ASSERT_EFI_ERROR (Status);
//
// Close SetVirtualAddressMap () notify function
//
if (_gDriverSetVirtualAddressMapEvent[0] != NULL) {
Status = gBS->CloseEvent (mEfiVirtualNotifyEvent);
ASSERT_EFI_ERROR (Status);
}
return EFI_SUCCESS;
}