OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
UefiRuntimeServices.c File Reference
#include "OpenRuntimePrivate.h"
#include <Guid/OcVariable.h>
#include <Guid/GlobalVariable.h>
#include <Guid/ImageAuthentication.h>
#include <Guid/MicrosoftVariable.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/BaseOverflowLib.h>
#include <Library/DebugLib.h>
#include <Library/DevicePathLib.h>
#include <Library/OcBootManagementLib.h>
#include <Library/OcDevicePathLib.h>
#include <Library/OcStringLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiRuntimeServicesTableLib.h>

Go to the source code of this file.

Functions

STATIC VOID Cr0QuirkPrologue (OUT BOOLEAN *Ints, OUT BOOLEAN *Wp, OUT BOOLEAN *Ts)
 
STATIC VOID Cr0QuirkEpilogue (IN BOOLEAN Ints, IN BOOLEAN Wp, IN BOOLEAN Ts)
 
STATIC BOOLEAN IsEfiBootVar (IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, OUT CHAR16 *NewVariableName OPTIONAL)
 
STATIC BOOLEAN IsOcBootVar (IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, OUT CHAR16 *NewVariableName OPTIONAL)
 
STATIC EFI_STATUS EFIAPI WrapGetTime (OUT EFI_TIME *Time, OUT EFI_TIME_CAPABILITIES *Capabilities OPTIONAL)
 
STATIC EFI_STATUS EFIAPI WrapSetTime (IN EFI_TIME *Time)
 
STATIC EFI_STATUS EFIAPI WrapGetWakeupTime (OUT BOOLEAN *Enabled, OUT BOOLEAN *Pending, OUT EFI_TIME *Time)
 
STATIC EFI_STATUS EFIAPI WrapSetWakeupTime (IN BOOLEAN Enable, IN EFI_TIME *Time OPTIONAL)
 
STATIC EFI_STATUS EFIAPI WrapGetVariable (IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, OUT UINT32 *Attributes OPTIONAL, IN OUT UINTN *DataSize, OUT VOID *Data OPTIONAL)
 
STATIC EFI_STATUS EFIAPI WrapGetNextVariableName (IN OUT UINTN *VariableNameSize, IN OUT CHAR16 *VariableName, IN OUT EFI_GUID *VendorGuid)
 
STATIC EFI_STATUS EFIAPI WrapSetVariable (IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN UINT32 Attributes, IN UINTN DataSize, IN VOID *Data)
 
STATIC EFI_STATUS EFIAPI WrapGetNextHighMonotonicCount (OUT UINT32 *Count)
 
STATIC VOID EFIAPI WrapResetSystem (IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, IN UINTN DataSize, IN VOID *ResetData OPTIONAL)
 
STATIC EFI_STATUS EFIAPI WrapSetVirtualAddressMap (IN UINTN MemoryMapSize, IN UINTN DescriptorSize, IN UINT32 DescriptorVersion, IN EFI_MEMORY_DESCRIPTOR *MemoryMap)
 
EFI_STATUS EFIAPI FwOnGetVariable (IN EFI_GET_VARIABLE GetVariable, OUT EFI_GET_VARIABLE *OrgGetVariable OPTIONAL)
 
EFI_STATUS EFIAPI FwOnSetAddressMap (IN EFI_SET_VIRTUAL_ADDRESS_MAP SetAddressMap OPTIONAL, IN BOOLEAN Enabled)
 
STATIC VOID EFIAPI TranslateAddressesHandler (IN EFI_EVENT Event, IN VOID *Context)
 
VOID RedirectRuntimeServices (VOID)
 

Variables

STATIC EFI_GET_TIME mStoredGetTime
 
STATIC EFI_SET_TIME mStoredSetTime
 
STATIC EFI_GET_WAKEUP_TIME mStoredGetWakeupTime
 
STATIC EFI_SET_WAKEUP_TIME mStoredSetWakeupTime
 
STATIC EFI_GET_VARIABLE mStoredGetVariable
 
STATIC EFI_GET_NEXT_VARIABLE_NAME mStoredGetNextVariableName
 
STATIC EFI_SET_VARIABLE mStoredSetVariable
 
STATIC EFI_GET_NEXT_HIGH_MONO_COUNT mStoredGetNextHighMonotonicCount
 
STATIC EFI_RESET_SYSTEM mStoredResetSystem
 
STATIC EFI_SET_VIRTUAL_ADDRESS_MAP mSetVirtualAddressMap
 
OC_FWRT_CONFIG gMainConfig
 
OC_FWRT_CONFIG gOverrideConfig
 
OC_FWRT_CONFIGgCurrentConfig
 
STATIC EFI_EVENT mTranslateEvent
 
STATIC EFI_GET_VARIABLE mCustomGetVariable
 
STATIC EFI_SET_VIRTUAL_ADDRESS_MAP mCustomSetVirtualAddressMap
 
STATIC BOOLEAN mCustomSetVirtualAddressMapEnabled
 
STATIC BOOLEAN mKernelStarted
 For file logging disable TPL checking in OcLogAddEntry.
 

Detailed Description

Copyright (C) 2019, vit9696. All rights reserved.

All rights reserved.

This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

Definition in file UefiRuntimeServices.c.

Function Documentation

◆ Cr0QuirkEpilogue()

STATIC VOID Cr0QuirkEpilogue ( IN BOOLEAN Ints,
IN BOOLEAN Wp,
IN BOOLEAN Ts )

Definition at line 110 of file UefiRuntimeServices.c.

◆ Cr0QuirkPrologue()

STATIC VOID Cr0QuirkPrologue ( OUT BOOLEAN * Ints,
OUT BOOLEAN * Wp,
OUT BOOLEAN * Ts )

Definition at line 68 of file UefiRuntimeServices.c.

◆ FwOnGetVariable()

EFI_STATUS EFIAPI FwOnGetVariable ( IN EFI_GET_VARIABLE GetVariable,
OUT EFI_GET_VARIABLE *OrgGetVariable OPTIONAL )

Definition at line 829 of file UefiRuntimeServices.c.

◆ FwOnSetAddressMap()

EFI_STATUS EFIAPI FwOnSetAddressMap ( IN EFI_SET_VIRTUAL_ADDRESS_MAP SetAddressMap OPTIONAL,
IN BOOLEAN Enabled )

Definition at line 849 of file UefiRuntimeServices.c.

◆ IsEfiBootVar()

STATIC BOOLEAN IsEfiBootVar ( IN CHAR16 * VariableName,
IN EFI_GUID * VendorGuid,
OUT CHAR16 *NewVariableName OPTIONAL )

Definition at line 147 of file UefiRuntimeServices.c.

◆ IsOcBootVar()

STATIC BOOLEAN IsOcBootVar ( IN CHAR16 * VariableName,
IN EFI_GUID * VendorGuid,
OUT CHAR16 *NewVariableName OPTIONAL )

Definition at line 209 of file UefiRuntimeServices.c.

◆ RedirectRuntimeServices()

VOID RedirectRuntimeServices ( VOID )

Definition at line 896 of file UefiRuntimeServices.c.

◆ TranslateAddressesHandler()

STATIC VOID EFIAPI TranslateAddressesHandler ( IN EFI_EVENT Event,
IN VOID * Context )

Definition at line 871 of file UefiRuntimeServices.c.

◆ WrapGetNextHighMonotonicCount()

STATIC EFI_STATUS EFIAPI WrapGetNextHighMonotonicCount ( OUT UINT32 * Count)

Definition at line 741 of file UefiRuntimeServices.c.

◆ WrapGetNextVariableName()

STATIC EFI_STATUS EFIAPI WrapGetNextVariableName ( IN OUT UINTN * VariableNameSize,
IN OUT CHAR16 * VariableName,
IN OUT EFI_GUID * VendorGuid )

< Not guaranteed to be updated with EFI_SUCCESS.

< This is NOT explicitly required by the spec.

< Not guaranteed to be updated with EFI_SUCCESS.

< This is NOT explicitly required by the spec.

Definition at line 431 of file UefiRuntimeServices.c.

◆ WrapGetTime()

STATIC EFI_STATUS EFIAPI WrapGetTime ( OUT EFI_TIME * Time,
OUT EFI_TIME_CAPABILITIES *Capabilities OPTIONAL )

Definition at line 248 of file UefiRuntimeServices.c.

◆ WrapGetVariable()

STATIC EFI_STATUS EFIAPI WrapGetVariable ( IN CHAR16 * VariableName,
IN EFI_GUID * VendorGuid,
OUT UINT32 *Attributes OPTIONAL,
IN OUT UINTN * DataSize,
OUT VOID *Data OPTIONAL )

Definition at line 361 of file UefiRuntimeServices.c.

◆ WrapGetWakeupTime()

STATIC EFI_STATUS EFIAPI WrapGetWakeupTime ( OUT BOOLEAN * Enabled,
OUT BOOLEAN * Pending,
OUT EFI_TIME * Time )

Definition at line 309 of file UefiRuntimeServices.c.

◆ WrapResetSystem()

STATIC VOID EFIAPI WrapResetSystem ( IN EFI_RESET_TYPE ResetType,
IN EFI_STATUS ResetStatus,
IN UINTN DataSize,
IN VOID *ResetData OPTIONAL )

Definition at line 764 of file UefiRuntimeServices.c.

◆ WrapSetTime()

STATIC EFI_STATUS EFIAPI WrapSetTime ( IN EFI_TIME * Time)

Definition at line 286 of file UefiRuntimeServices.c.

◆ WrapSetVariable()

STATIC EFI_STATUS EFIAPI WrapSetVariable ( IN CHAR16 * VariableName,
IN EFI_GUID * VendorGuid,
IN UINT32 Attributes,
IN UINTN DataSize,
IN VOID * Data )

Definition at line 647 of file UefiRuntimeServices.c.

◆ WrapSetVirtualAddressMap()

STATIC EFI_STATUS EFIAPI WrapSetVirtualAddressMap ( IN UINTN MemoryMapSize,
IN UINTN DescriptorSize,
IN UINT32 DescriptorVersion,
IN EFI_MEMORY_DESCRIPTOR * MemoryMap )

Definition at line 790 of file UefiRuntimeServices.c.

◆ WrapSetWakeupTime()

STATIC EFI_STATUS EFIAPI WrapSetWakeupTime ( IN BOOLEAN Enable,
IN EFI_TIME *Time OPTIONAL )

Definition at line 336 of file UefiRuntimeServices.c.

Variable Documentation

◆ gCurrentConfig

OC_FWRT_CONFIG* gCurrentConfig

Current active runtime services configuration (main or override).

Definition at line 52 of file UefiRuntimeServices.c.

◆ gMainConfig

OC_FWRT_CONFIG gMainConfig

Configurations to use.

Definition at line 50 of file UefiRuntimeServices.c.

◆ gOverrideConfig

OC_FWRT_CONFIG gOverrideConfig

Override runtime services configuration.

Definition at line 51 of file UefiRuntimeServices.c.

◆ mCustomGetVariable

STATIC EFI_GET_VARIABLE mCustomGetVariable

Definition at line 58 of file UefiRuntimeServices.c.

◆ mCustomSetVirtualAddressMap

STATIC EFI_SET_VIRTUAL_ADDRESS_MAP mCustomSetVirtualAddressMap

Definition at line 59 of file UefiRuntimeServices.c.

◆ mCustomSetVirtualAddressMapEnabled

STATIC BOOLEAN mCustomSetVirtualAddressMapEnabled

Definition at line 60 of file UefiRuntimeServices.c.

◆ mKernelStarted

STATIC BOOLEAN mKernelStarted

For file logging disable TPL checking in OcLogAddEntry.

Definition at line 61 of file UefiRuntimeServices.c.

◆ mSetVirtualAddressMap

STATIC EFI_SET_VIRTUAL_ADDRESS_MAP mSetVirtualAddressMap

Definition at line 45 of file UefiRuntimeServices.c.

◆ mStoredGetNextHighMonotonicCount

STATIC EFI_GET_NEXT_HIGH_MONO_COUNT mStoredGetNextHighMonotonicCount

Definition at line 43 of file UefiRuntimeServices.c.

◆ mStoredGetNextVariableName

STATIC EFI_GET_NEXT_VARIABLE_NAME mStoredGetNextVariableName

Definition at line 41 of file UefiRuntimeServices.c.

◆ mStoredGetTime

STATIC EFI_GET_TIME mStoredGetTime

Runtime accessible variables (all read only).

Definition at line 36 of file UefiRuntimeServices.c.

◆ mStoredGetVariable

STATIC EFI_GET_VARIABLE mStoredGetVariable

Definition at line 40 of file UefiRuntimeServices.c.

◆ mStoredGetWakeupTime

STATIC EFI_GET_WAKEUP_TIME mStoredGetWakeupTime

Definition at line 38 of file UefiRuntimeServices.c.

◆ mStoredResetSystem

STATIC EFI_RESET_SYSTEM mStoredResetSystem

Definition at line 44 of file UefiRuntimeServices.c.

◆ mStoredSetTime

STATIC EFI_SET_TIME mStoredSetTime

Definition at line 37 of file UefiRuntimeServices.c.

◆ mStoredSetVariable

STATIC EFI_SET_VARIABLE mStoredSetVariable

Definition at line 42 of file UefiRuntimeServices.c.

◆ mStoredSetWakeupTime

STATIC EFI_SET_WAKEUP_TIME mStoredSetWakeupTime

Definition at line 39 of file UefiRuntimeServices.c.

◆ mTranslateEvent

STATIC EFI_EVENT mTranslateEvent

Boot phase accessible variables.

Definition at line 57 of file UefiRuntimeServices.c.