Merge R8->R9 tracker 5935 and 7080 to update runtime arch protocol to DxeCis 0.91. Update DxeCore and Runtime driver to follow new definitions.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2101 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -157,7 +157,7 @@ EFI_METRONOME_ARCH_PROTOCOL *gMetronome = NULL;
|
||||
EFI_TIMER_ARCH_PROTOCOL *gTimer = NULL;
|
||||
EFI_BDS_ARCH_PROTOCOL *gBds = NULL;
|
||||
EFI_WATCHDOG_TIMER_ARCH_PROTOCOL *gWatchdogTimer = NULL;
|
||||
EFI_RUNTIME_ARCH_PROTOCOL *gRuntime = NULL;
|
||||
|
||||
|
||||
//
|
||||
// BugBug: I'n not runtime, but is the PPI?
|
||||
@@ -324,6 +324,26 @@ EFI_RUNTIME_SERVICES mEfiRuntimeServicesTableTemplate = {
|
||||
#endif
|
||||
};
|
||||
|
||||
EFI_RUNTIME_ARCH_PROTOCOL gRuntimeTemplate = {
|
||||
INITIALIZE_LIST_HEAD_VARIABLE (gRuntimeTemplate.ImageHead),
|
||||
INITIALIZE_LIST_HEAD_VARIABLE (gRuntimeTemplate.EventHead),
|
||||
|
||||
//
|
||||
// Make sure Size != sizeof (EFI_MEMORY_DESCRIPTOR). This will
|
||||
// prevent people from having pointer math bugs in their code.
|
||||
// now you have to use *DescriptorSize to make things work.
|
||||
//
|
||||
sizeof (EFI_MEMORY_DESCRIPTOR) + sizeof (UINT64) - (sizeof (EFI_MEMORY_DESCRIPTOR) % sizeof (UINT64)),
|
||||
EFI_MEMORY_DESCRIPTOR_VERSION,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
FALSE,
|
||||
FALSE
|
||||
};
|
||||
|
||||
EFI_RUNTIME_ARCH_PROTOCOL *gRuntime = &gRuntimeTemplate;
|
||||
|
||||
//
|
||||
// DXE Core Global Variables for the EFI System Table, Boot Services Table,
|
||||
// DXE Services Table, and Runtime Services Table
|
||||
@@ -886,11 +906,11 @@ CoreExitBootServices (
|
||||
|
||||
Routine Description:
|
||||
|
||||
EFI 1.0 API to terminate Boot Services
|
||||
Terminates all boot services.
|
||||
|
||||
Arguments:
|
||||
|
||||
ImageHandle - Handle that represents the identity of the calling image
|
||||
ImageHandle - Handle that identifies the exiting image.
|
||||
|
||||
MapKey -Key to the latest memory map.
|
||||
|
||||
@@ -926,16 +946,6 @@ Returns:
|
||||
//
|
||||
gCpu->DisableInterrupt (gCpu);
|
||||
|
||||
//
|
||||
// Register Runtime events with the Runtime Architectural Protocol
|
||||
//
|
||||
CoreShutdownEventServices ();
|
||||
|
||||
//
|
||||
// Register Runtime images with the Runtime Architectural Protocol
|
||||
//
|
||||
CoreShutdownImageServices ();
|
||||
|
||||
//
|
||||
// Report that ExitBootServices() has been called
|
||||
//
|
||||
@@ -964,7 +974,12 @@ Returns:
|
||||
//
|
||||
SetMem (gBS, sizeof (EFI_BOOT_SERVICES), 0);
|
||||
gBS = NULL;
|
||||
|
||||
|
||||
//
|
||||
// Update the AtRuntime field in Runtiem AP.
|
||||
//
|
||||
gRuntime->AtRuntime = TRUE;
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user