Move SAL "initialization/virtual address change notification" from EdkUefiRuntimeLib to EdkDxeSalLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2009 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -24,8 +24,6 @@ Module Name:
|
||||
|
||||
STATIC EFI_EVENT mRuntimeNotifyEvent;
|
||||
STATIC EFI_EVENT mEfiVirtualNotifyEvent;
|
||||
STATIC EFI_PLABEL mPlabel;
|
||||
STATIC EXTENDED_SAL_BOOT_SERVICE_PROTOCOL *mEsalBootService;
|
||||
|
||||
EFI_RUNTIME_SERVICES *mRT;
|
||||
|
||||
@@ -103,10 +101,10 @@ Returns:
|
||||
ChildNotifyEventHandler (Event, NULL);
|
||||
}
|
||||
|
||||
mRT->ConvertPointer (0x0, (VOID **) &mPlabel.EntryPoint);
|
||||
mRT->ConvertPointer (EFI_IPF_GP_POINTER, (VOID **) &mPlabel.GP);
|
||||
|
||||
SetEsalVirtualEntryPoint (mPlabel.EntryPoint, mPlabel.GP);
|
||||
//
|
||||
// Update global for Runtime Services Table
|
||||
//
|
||||
EfiConvertPointer (0, (VOID **) &mRT);
|
||||
}
|
||||
|
||||
EFI_STATUS
|
||||
@@ -135,29 +133,10 @@ Returns:
|
||||
|
||||
--*/
|
||||
{
|
||||
EFI_PLABEL *Plabel;
|
||||
EFI_STATUS Status;
|
||||
|
||||
mRT = SystemTable->RuntimeServices;
|
||||
|
||||
//
|
||||
// The protocol contains a function pointer, which is an indirect procedure call.
|
||||
// An indirect procedure call goes through a plabel, and pointer to a function is
|
||||
// a pointer to a plabel. To implement indirect procedure calls that can work in
|
||||
// both physical and virtual mode, two plabels are required (one physical and one
|
||||
// virtual). So lets grap the physical PLABEL for the EsalEntryPoint and store it
|
||||
// away. We cache it in a module global, so we can register the vitrual version.
|
||||
//
|
||||
Status = gBS->LocateProtocol (&gEfiExtendedSalBootServiceProtocolGuid, NULL, &mEsalBootService);
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
|
||||
Plabel = (EFI_PLABEL *) (UINTN) mEsalBootService->ExtendedSalProc;
|
||||
|
||||
mPlabel.EntryPoint = Plabel->EntryPoint;
|
||||
mPlabel.GP = Plabel->GP;
|
||||
|
||||
SetEsalPhysicalEntryPoint (mPlabel.EntryPoint, mPlabel.GP);
|
||||
|
||||
//
|
||||
// Register our ExitBootServices () notify function
|
||||
//
|
||||
|
@@ -91,7 +91,7 @@ Returns:
|
||||
--*/
|
||||
{
|
||||
SAL_RETURN_REGS ReturnReg;
|
||||
EFI_GUID Guid = EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID Guid = EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID;
|
||||
|
||||
ReturnReg = EfiCallEsalService (&Guid, GetTime, (UINT64) Time, (UINT64) Capabilities, 0, 0, 0, 0, 0);
|
||||
return ReturnReg.Status;
|
||||
@@ -119,8 +119,7 @@ Returns:
|
||||
--*/
|
||||
{
|
||||
SAL_RETURN_REGS ReturnReg;
|
||||
|
||||
EFI_GUID Guid = EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID Guid = EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID;
|
||||
|
||||
ReturnReg = EfiCallEsalService (&Guid, SetTime, (UINT64) Time, 0, 0, 0, 0, 0, 0);
|
||||
return ReturnReg.Status;
|
||||
@@ -152,8 +151,7 @@ Returns:
|
||||
--*/
|
||||
{
|
||||
SAL_RETURN_REGS ReturnReg;
|
||||
|
||||
EFI_GUID Guid = EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID Guid = EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID;
|
||||
|
||||
ReturnReg = EfiCallEsalService (&Guid, GetWakeupTime, (UINT64) Enabled, (UINT64) Pending, (UINT64) Time, 0, 0, 0, 0);
|
||||
return ReturnReg.Status;
|
||||
@@ -184,8 +182,7 @@ Returns:
|
||||
--*/
|
||||
{
|
||||
SAL_RETURN_REGS ReturnReg;
|
||||
|
||||
EFI_GUID Guid = EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID Guid = EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID;
|
||||
|
||||
ReturnReg = EfiCallEsalService (&Guid, SetWakeupTime, (UINT64) Enable, (UINT64) Time, 0, 0, 0, 0, 0);
|
||||
return ReturnReg.Status;
|
||||
@@ -224,7 +221,7 @@ Returns:
|
||||
--*/
|
||||
{
|
||||
SAL_RETURN_REGS ReturnReg;
|
||||
EFI_GUID Guid = EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID Guid = EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID;
|
||||
|
||||
ReturnReg = EfiCallEsalService (
|
||||
&Guid,
|
||||
@@ -271,7 +268,7 @@ Returns:
|
||||
--*/
|
||||
{
|
||||
SAL_RETURN_REGS ReturnReg;
|
||||
EFI_GUID Guid = EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID Guid = EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID;
|
||||
|
||||
ReturnReg = EfiCallEsalService (
|
||||
&Guid,
|
||||
@@ -318,7 +315,7 @@ Returns:
|
||||
--*/
|
||||
{
|
||||
SAL_RETURN_REGS ReturnReg;
|
||||
EFI_GUID Guid = EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID Guid = EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID;
|
||||
|
||||
ReturnReg = EfiCallEsalService (
|
||||
&Guid,
|
||||
@@ -356,8 +353,7 @@ Returns:
|
||||
--*/
|
||||
{
|
||||
SAL_RETURN_REGS ReturnReg;
|
||||
|
||||
EFI_GUID Guid = EFI_EXTENDED_SAL_MTC_SERVICES_PROTOCOL_GUID;
|
||||
EFI_GUID Guid = EFI_EXTENDED_SAL_MTC_SERVICES_PROTOCOL_GUID;
|
||||
|
||||
ReturnReg = EfiCallEsalService (&Guid, GetNextHighMonotonicCount, (UINT64) HighCount, 0, 0, 0, 0, 0, 0);
|
||||
return (EFI_STATUS) ReturnReg.Status;
|
||||
@@ -492,9 +488,9 @@ EfiSetVirtualAddressMap (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
EfiUpdateCapsule (
|
||||
IN UEFI_CAPSULE_HEADER **CapsuleHeaderArray,
|
||||
IN UINTN CapsuleCount,
|
||||
IN EFI_PHYSICAL_ADDRESS ScatterGatherList OPTIONAL
|
||||
IN UEFI_CAPSULE_HEADER **CapsuleHeaderArray,
|
||||
IN UINTN CapsuleCount,
|
||||
IN EFI_PHYSICAL_ADDRESS ScatterGatherList OPTIONAL
|
||||
)
|
||||
{
|
||||
return EFI_UNSUPPORTED;
|
||||
@@ -503,10 +499,10 @@ EfiUpdateCapsule (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
EfiQueryCapsuleCapabilities (
|
||||
IN UEFI_CAPSULE_HEADER **CapsuleHeaderArray,
|
||||
IN UINTN CapsuleCount,
|
||||
OUT UINT64 *MaximumCapsuleSize,
|
||||
OUT EFI_RESET_TYPE *ResetType
|
||||
IN UEFI_CAPSULE_HEADER **CapsuleHeaderArray,
|
||||
IN UINTN CapsuleCount,
|
||||
OUT UINT64 *MaximumCapsuleSize,
|
||||
OUT EFI_RESET_TYPE *ResetType
|
||||
)
|
||||
{
|
||||
return EFI_UNSUPPORTED;
|
||||
@@ -516,10 +512,10 @@ EfiQueryCapsuleCapabilities (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
EfiQueryVariableInfo (
|
||||
IN UINT32 Attributes,
|
||||
OUT UINT64 *MaximumVariableStorageSize,
|
||||
OUT UINT64 *RemainingVariableStorageSize,
|
||||
OUT UINT64 *MaximumVariableSize
|
||||
IN UINT32 Attributes,
|
||||
OUT UINT64 *MaximumVariableStorageSize,
|
||||
OUT UINT64 *RemainingVariableStorageSize,
|
||||
OUT UINT64 *MaximumVariableSize
|
||||
)
|
||||
{
|
||||
return EFI_UNSUPPORTED;
|
||||
|
Reference in New Issue
Block a user