OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
OpenCoreUefi.c File Reference
#include <Library/OcMainLib.h>
#include <Guid/AppleVariable.h>
#include <Guid/OcVariable.h>
#include <Guid/GlobalVariable.h>
#include <Library/BaseLib.h>
#include <Library/DevicePathLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/OcAfterBootCompatLib.h>
#include <Library/OcAppleBootPolicyLib.h>
#include <Library/OcAppleEventLib.h>
#include <Library/OcAppleImageConversionLib.h>
#include <Library/OcAudioLib.h>
#include <Library/OcBootManagementLib.h>
#include <Library/OcInputLib.h>
#include <Library/OcApfsLib.h>
#include <Library/OcAppleImg4Lib.h>
#include <Library/OcAppleKeyMapLib.h>
#include <Library/OcAppleSecureBootLib.h>
#include <Library/OcAppleUserInterfaceThemeLib.h>
#include <Library/OcConsoleLib.h>
#include <Library/OcCpuLib.h>
#include <Library/OcDataHubLib.h>
#include <Library/OcLogAggregatorLib.h>
#include <Library/OcDebugLogLib.h>
#include <Library/OcDeviceMiscLib.h>
#include <Library/OcDevicePropertyLib.h>
#include <Library/OcDriverConnectionLib.h>
#include <Library/OcFirmwareVolumeLib.h>
#include <Library/OcHashServicesLib.h>
#include <Library/OcMiscLib.h>
#include <Library/OcMemoryLib.h>
#include <Library/OcRtcLib.h>
#include <Library/OcSmcLib.h>
#include <Library/OcOSInfoLib.h>
#include <Library/OcUnicodeCollationEngGenericLib.h>
#include <Library/OcPciIoLib.h>
#include <Library/OcVariableLib.h>
#include <Library/PrintLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiLib.h>
#include <Library/UefiRuntimeServicesTableLib.h>
#include <Protocol/DevicePath.h>
#include <Protocol/GraphicsOutput.h>
#include <Protocol/Security.h>
#include <Protocol/Security2.h>
#include <Protocol/SimplePointer.h>

Go to the source code of this file.

Macros

#define OC_EXIT_BOOT_SERVICES_HANDLER_MAX   5
 

Functions

VOID OcScheduleExitBootServices (IN EFI_EVENT_NOTIFY Handler, IN VOID *Context)
 
VOID OcLoadDrivers (IN OC_STORAGE_CONTEXT *Storage, IN OC_GLOBAL_CONFIG *Config, OUT EFI_HANDLE **DriversToConnect OPTIONAL, IN BOOLEAN LoadEarly)
 
STATIC VOID EFIAPI OcExitBootServicesHandler (IN EFI_EVENT Event, IN VOID *Context)
 
STATIC VOID OcReinstallProtocols (IN OC_GLOBAL_CONFIG *Config)
 
STATIC VOID OcLoadAppleSecureBoot (IN OC_GLOBAL_CONFIG *Config, IN OC_CPU_INFO *CpuInfo)
 
STATIC EFI_STATUS EFIAPI OcSecurityFileAuthentication (IN CONST EFI_SECURITY_ARCH_PROTOCOL *This, IN UINT32 AuthenticationStatus, IN CONST EFI_DEVICE_PATH_PROTOCOL *File)
 
STATIC EFI_STATUS EFIAPI OcSecurity2FileAuthentication (IN CONST EFI_SECURITY2_ARCH_PROTOCOL *This, IN CONST EFI_DEVICE_PATH_PROTOCOL *File OPTIONAL, IN VOID *FileBuffer, IN UINTN FileSize, IN BOOLEAN BootPolicy)
 
STATIC VOID OcInstallPermissiveSecurityPolicy (VOID)
 
VOID OcLoadBooterUefiSupport (IN OC_GLOBAL_CONFIG *Config, IN OC_CPU_INFO *CpuInfo, IN UINT8 *Signature)
 
VOID OcReserveMemory (IN OC_GLOBAL_CONFIG *Config)
 
VOID OcLoadUefiSupport (IN OC_STORAGE_CONTEXT *Storage, IN OC_GLOBAL_CONFIG *Config, IN OC_CPU_INFO *CpuInfo, IN UINT8 *Signature)
 

Variables

STATIC EFI_EVENT_NOTIFY mOcExitBootServicesHandlers [OC_EXIT_BOOT_SERVICES_HANDLER_MAX+1]
 
STATIC VOID * mOcExitBootServicesContexts [OC_EXIT_BOOT_SERVICES_HANDLER_MAX]
 
STATIC UINTN mOcExitBootServicesIndex
 

Detailed Description

OpenCore driver.

Copyright (c) 2019, vit9696. 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 OpenCoreUefi.c.

Macro Definition Documentation

◆ OC_EXIT_BOOT_SERVICES_HANDLER_MAX

#define OC_EXIT_BOOT_SERVICES_HANDLER_MAX   5

Definition at line 65 of file OpenCoreUefi.c.

Function Documentation

◆ OcExitBootServicesHandler()

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

Definition at line 335 of file OpenCoreUefi.c.

◆ OcInstallPermissiveSecurityPolicy()

STATIC VOID OcInstallPermissiveSecurityPolicy ( VOID )

Definition at line 641 of file OpenCoreUefi.c.

◆ OcLoadAppleSecureBoot()

STATIC VOID OcLoadAppleSecureBoot ( IN OC_GLOBAL_CONFIG * Config,
IN OC_CPU_INFO * CpuInfo )

Definition at line 492 of file OpenCoreUefi.c.

◆ OcLoadBooterUefiSupport()

VOID OcLoadBooterUefiSupport ( IN OC_GLOBAL_CONFIG * Config,
IN OC_CPU_INFO * CpuInfo,
IN UINT8 * Signature )

Definition at line 677 of file OpenCoreUefi.c.

◆ OcLoadDrivers()

VOID OcLoadDrivers ( IN OC_STORAGE_CONTEXT * Storage,
IN OC_GLOBAL_CONFIG * Config,
OUT EFI_HANDLE **DriversToConnect OPTIONAL,
IN BOOLEAN LoadEarly )

Load drivers.

Parameters
[in]StorageOpenCore storage.
[in]ConfigOpenCore configuration.
[in]DriversToConnectDrivers which require later connection.
[in]LoadEarlyIf TRUE load any early phase drivers, otherwise load normal phase.

Definition at line 88 of file OpenCoreUefi.c.

◆ OcLoadUefiSupport()

VOID OcLoadUefiSupport ( IN OC_STORAGE_CONTEXT * Storage,
IN OC_GLOBAL_CONFIG * Config,
IN OC_CPU_INFO * CpuInfo,
IN UINT8 * Signature )

Load UEFI compatibility support like drivers.

Parameters
[in]StorageOpenCore storage.
[in]ConfigOpenCore configuration.
[in]CpuInfoCPU information.
[out]SignatureOpenCore SHA-1 booter signature, all zero when unavailable.

Definition at line 887 of file OpenCoreUefi.c.

◆ OcReinstallProtocols()

STATIC VOID OcReinstallProtocols ( IN OC_GLOBAL_CONFIG * Config)

Definition at line 374 of file OpenCoreUefi.c.

◆ OcReserveMemory()

VOID OcReserveMemory ( IN OC_GLOBAL_CONFIG * Config)

Definition at line 839 of file OpenCoreUefi.c.

◆ OcScheduleExitBootServices()

VOID OcScheduleExitBootServices ( IN EFI_EVENT_NOTIFY Handler,
IN VOID * Context )

Schedule Exit Boot Services event in TPL_APPLICATION mode.

Parameters
[in]HandlerHandler function to invoke.
[in]ContextHandler function context.

Definition at line 72 of file OpenCoreUefi.c.

◆ OcSecurity2FileAuthentication()

STATIC EFI_STATUS EFIAPI OcSecurity2FileAuthentication ( IN CONST EFI_SECURITY2_ARCH_PROTOCOL * This,
IN CONST EFI_DEVICE_PATH_PROTOCOL *File OPTIONAL,
IN VOID * FileBuffer,
IN UINTN FileSize,
IN BOOLEAN BootPolicy )

Definition at line 627 of file OpenCoreUefi.c.

◆ OcSecurityFileAuthentication()

STATIC EFI_STATUS EFIAPI OcSecurityFileAuthentication ( IN CONST EFI_SECURITY_ARCH_PROTOCOL * This,
IN UINT32 AuthenticationStatus,
IN CONST EFI_DEVICE_PATH_PROTOCOL * File )

Definition at line 614 of file OpenCoreUefi.c.

Variable Documentation

◆ mOcExitBootServicesContexts

STATIC VOID* mOcExitBootServicesContexts[OC_EXIT_BOOT_SERVICES_HANDLER_MAX]

Definition at line 68 of file OpenCoreUefi.c.

◆ mOcExitBootServicesHandlers

STATIC EFI_EVENT_NOTIFY mOcExitBootServicesHandlers[OC_EXIT_BOOT_SERVICES_HANDLER_MAX+1]

Definition at line 67 of file OpenCoreUefi.c.

◆ mOcExitBootServicesIndex

STATIC UINTN mOcExitBootServicesIndex

Definition at line 69 of file OpenCoreUefi.c.