OpenCore
1.0.4
OpenCore Bootloader
|
#include <Uefi.h>
#include <Library/DebugLib.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiRuntimeServicesTableLib.h>
#include <Library/UefiLib.h>
#include <Library/OcCryptoLib.h>
#include <Library/OcMiscLib.h>
#include <Library/OcSmcLib.h>
#include <Library/OcRtcLib.h>
#include <Library/OcVariableLib.h>
#include "OcSmcLibInternal.h"
Go to the source code of this file.
Functions | |
STATIC EFI_STATUS EFIAPI | SmcIoVirtualSmcReadValue (IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_KEY Key, IN SMC_DATA_SIZE Size, OUT SMC_DATA *Value) |
STATIC EFI_STATUS EFIAPI | SmcIoVirtualSmcWriteValue (IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_KEY Key, IN SMC_DATA_SIZE Size, IN SMC_DATA *Value) |
STATIC EFI_STATUS EFIAPI | SmcIoVirtualSmcMakeKey (IN CHAR8 *Name, OUT SMC_KEY *Key) |
STATIC EFI_STATUS EFIAPI | SmcIoVirtualSmcGetKeyCount (IN APPLE_SMC_IO_PROTOCOL *This, OUT UINT32 *Count) |
STATIC EFI_STATUS EFIAPI | SmcIoVirtualSmcGetKeyFromIndex (IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_KEY_INDEX Index, OUT SMC_KEY *Key) |
STATIC EFI_STATUS EFIAPI | SmcIoVirtualSmcGetKeyInfo (IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_KEY Key, OUT SMC_DATA_SIZE *Size, OUT SMC_KEY_TYPE *Type, OUT SMC_KEY_ATTRIBUTES *Attributes) |
STATIC EFI_STATUS EFIAPI | SmcIoVirtualSmcReset (IN APPLE_SMC_IO_PROTOCOL *This, IN UINT32 Mode) |
STATIC EFI_STATUS EFIAPI | SmcIoVirtualSmcFlashType (IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_FLASH_TYPE Type) |
STATIC EFI_STATUS EFIAPI | SmcIoVirtualSmcUnsupported (VOID) |
STATIC EFI_STATUS EFIAPI | SmcIoVirtualSmcFlashWrite (IN APPLE_SMC_IO_PROTOCOL *This, IN UINT32 Unknown, IN SMC_FLASH_SIZE Size, IN SMC_DATA *Data) |
STATIC EFI_STATUS EFIAPI | SmcIoVirtualSmcFlashAuth (IN APPLE_SMC_IO_PROTOCOL *This, IN SMC_FLASH_SIZE Size, IN SMC_DATA *Data) |
STATIC EFI_STATUS EFIAPI | SmcIoVirtualSmcUnknown1 (VOID) |
STATIC EFI_STATUS EFIAPI | SmcIoVirtualSmcUnknown2 (IN APPLE_SMC_IO_PROTOCOL *This, IN UINTN Ukn1, IN UINTN Ukn2) |
STATIC EFI_STATUS EFIAPI | SmcIoVirtualSmcUnknown3 (IN APPLE_SMC_IO_PROTOCOL *This, IN UINTN Ukn1, IN UINTN Ukn2) |
STATIC EFI_STATUS EFIAPI | SmcIoVirtualSmcUnknown4 (IN APPLE_SMC_IO_PROTOCOL *This, IN UINTN Ukn1) |
STATIC EFI_STATUS EFIAPI | SmcIoVirtualSmcUnknown5 (IN APPLE_SMC_IO_PROTOCOL *This, IN UINT8 *Data) |
STATIC VOID EFIAPI | EraseAuthenticationKey (IN EFI_EVENT Event, IN VOID *Context) |
STATIC BOOLEAN | ExtractAuthentificationKey (UINT8 *Buffer, UINT32 Size) |
STATIC VOID | LoadAuthenticationKey (VOID) |
STATIC VOID | ExportStatusKey (VOID) |
APPLE_SMC_IO_PROTOCOL * | OcSmcIoInstallProtocol (IN BOOLEAN Reinstall, IN BOOLEAN AuthRestart) |
Variables | |
STATIC EFI_EVENT | mAuthenticationKeyEraseEvent |
STATIC VIRTUALSMC_KEY_VALUE | mVirtualSmcKeyValue [6] |
STATIC CONST UINT8 | mAuthenticationKeyIndex = ARRAY_SIZE (mVirtualSmcKeyValue) - 1 |
STATIC APPLE_SMC_IO_PROTOCOL | mSmcIoProtocol |
Copyright (C) 2017-2020, 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 OcSmcLib.c.
STATIC VOID EFIAPI EraseAuthenticationKey | ( | IN EFI_EVENT | Event, |
IN VOID * | Context ) |
Definition at line 403 of file OcSmcLib.c.
STATIC VOID ExportStatusKey | ( | VOID | ) |
Definition at line 560 of file OcSmcLib.c.
STATIC BOOLEAN ExtractAuthentificationKey | ( | UINT8 * | Buffer, |
UINT32 | Size ) |
Definition at line 413 of file OcSmcLib.c.
STATIC VOID LoadAuthenticationKey | ( | VOID | ) |
Definition at line 487 of file OcSmcLib.c.
APPLE_SMC_IO_PROTOCOL * OcSmcIoInstallProtocol | ( | IN BOOLEAN | Reinstall, |
IN BOOLEAN | AuthRestart ) |
Install and initialise SMC I/O protocol.
[in] | Reinstall | Overwrite installed protocol. |
[in] | AuthRestart | Support AuthRestart protocol via VSMC. |
installed | or located protocol or NULL. |
Definition at line 595 of file OcSmcLib.c.
STATIC EFI_STATUS EFIAPI SmcIoVirtualSmcFlashAuth | ( | IN APPLE_SMC_IO_PROTOCOL * | This, |
IN SMC_FLASH_SIZE | Size, | ||
IN SMC_DATA * | Data ) |
Definition at line 300 of file OcSmcLib.c.
STATIC EFI_STATUS EFIAPI SmcIoVirtualSmcFlashType | ( | IN APPLE_SMC_IO_PROTOCOL * | This, |
IN SMC_FLASH_TYPE | Type ) |
Definition at line 260 of file OcSmcLib.c.
STATIC EFI_STATUS EFIAPI SmcIoVirtualSmcFlashWrite | ( | IN APPLE_SMC_IO_PROTOCOL * | This, |
IN UINT32 | Unknown, | ||
IN SMC_FLASH_SIZE | Size, | ||
IN SMC_DATA * | Data ) |
Definition at line 285 of file OcSmcLib.c.
STATIC EFI_STATUS EFIAPI SmcIoVirtualSmcGetKeyCount | ( | IN APPLE_SMC_IO_PROTOCOL * | This, |
OUT UINT32 * | Count ) |
Definition at line 170 of file OcSmcLib.c.
STATIC EFI_STATUS EFIAPI SmcIoVirtualSmcGetKeyFromIndex | ( | IN APPLE_SMC_IO_PROTOCOL * | This, |
IN SMC_KEY_INDEX | Index, | ||
OUT SMC_KEY * | Key ) |
Definition at line 193 of file OcSmcLib.c.
STATIC EFI_STATUS EFIAPI SmcIoVirtualSmcGetKeyInfo | ( | IN APPLE_SMC_IO_PROTOCOL * | This, |
IN SMC_KEY | Key, | ||
OUT SMC_DATA_SIZE * | Size, | ||
OUT SMC_KEY_TYPE * | Type, | ||
OUT SMC_KEY_ATTRIBUTES * | Attributes ) |
Definition at line 216 of file OcSmcLib.c.
STATIC EFI_STATUS EFIAPI SmcIoVirtualSmcMakeKey | ( | IN CHAR8 * | Name, |
OUT SMC_KEY * | Key ) |
Definition at line 137 of file OcSmcLib.c.
STATIC EFI_STATUS EFIAPI SmcIoVirtualSmcReadValue | ( | IN APPLE_SMC_IO_PROTOCOL * | This, |
IN SMC_KEY | Key, | ||
IN SMC_DATA_SIZE | Size, | ||
OUT SMC_DATA * | Value ) |
Definition at line 67 of file OcSmcLib.c.
STATIC EFI_STATUS EFIAPI SmcIoVirtualSmcReset | ( | IN APPLE_SMC_IO_PROTOCOL * | This, |
IN UINT32 | Mode ) |
Definition at line 247 of file OcSmcLib.c.
STATIC EFI_STATUS EFIAPI SmcIoVirtualSmcUnknown1 | ( | VOID | ) |
Definition at line 314 of file OcSmcLib.c.
STATIC EFI_STATUS EFIAPI SmcIoVirtualSmcUnknown2 | ( | IN APPLE_SMC_IO_PROTOCOL * | This, |
IN UINTN | Ukn1, | ||
IN UINTN | Ukn2 ) |
Definition at line 326 of file OcSmcLib.c.
STATIC EFI_STATUS EFIAPI SmcIoVirtualSmcUnknown3 | ( | IN APPLE_SMC_IO_PROTOCOL * | This, |
IN UINTN | Ukn1, | ||
IN UINTN | Ukn2 ) |
Definition at line 340 of file OcSmcLib.c.
STATIC EFI_STATUS EFIAPI SmcIoVirtualSmcUnknown4 | ( | IN APPLE_SMC_IO_PROTOCOL * | This, |
IN UINTN | Ukn1 ) |
Definition at line 354 of file OcSmcLib.c.
STATIC EFI_STATUS EFIAPI SmcIoVirtualSmcUnknown5 | ( | IN APPLE_SMC_IO_PROTOCOL * | This, |
IN UINT8 * | Data ) |
Definition at line 367 of file OcSmcLib.c.
STATIC EFI_STATUS EFIAPI SmcIoVirtualSmcUnsupported | ( | VOID | ) |
Definition at line 273 of file OcSmcLib.c.
STATIC EFI_STATUS EFIAPI SmcIoVirtualSmcWriteValue | ( | IN APPLE_SMC_IO_PROTOCOL * | This, |
IN SMC_KEY | Key, | ||
IN SMC_DATA_SIZE | Size, | ||
IN SMC_DATA * | Value ) |
Definition at line 100 of file OcSmcLib.c.
STATIC EFI_EVENT mAuthenticationKeyEraseEvent |
Definition at line 34 of file OcSmcLib.c.
STATIC CONST UINT8 mAuthenticationKeyIndex = ARRAY_SIZE (mVirtualSmcKeyValue) - 1 |
Definition at line 62 of file OcSmcLib.c.
STATIC APPLE_SMC_IO_PROTOCOL mSmcIoProtocol |
Definition at line 377 of file OcSmcLib.c.
STATIC VIRTUALSMC_KEY_VALUE mVirtualSmcKeyValue[6] |
Definition at line 38 of file OcSmcLib.c.