TianoCore EDK2 master
Loading...
Searching...
No Matches
Sec.c File Reference
#include "Sec.h"

Go to the source code of this file.

Functions

STATIC EFI_STATUS EFIAPI SecTemporaryRamSupport (IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_PHYSICAL_ADDRESS TemporaryMemoryBase, IN EFI_PHYSICAL_ADDRESS PermanentMemoryBase, IN UINTN CopySize)
 
STATIC VOID CreatePpiList (OUT UINTN *PpiListSize, OUT EFI_PEI_PPI_DESCRIPTOR **PpiList)
 
STATIC VOID PrintFirmwareVersion (VOID)
 
STATIC VOID EFIAPI SecMain (IN EFI_PEI_CORE_ENTRY_POINT PeiCoreEntryPoint)
 
VOID CEntryPoint (IN EFI_PEI_CORE_ENTRY_POINT PeiCoreEntryPoint)
 

Variables

STATIC CONST EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI mTemporaryRamSupportPpi
 
STATIC CONST EFI_PEI_PPI_DESCRIPTOR gCommonPpiTable []
 

Detailed Description

Generic SEC driver for ARM platforms

Copyright (c) 2011 - 2022, ARM Limited. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file Sec.c.

Function Documentation

◆ CEntryPoint()

VOID CEntryPoint ( IN EFI_PEI_CORE_ENTRY_POINT  PeiCoreEntryPoint)

Module C entrypoint.

Parameters
[in]PeiCoreEntryPointAddress in ram of the entrypoint of the PEI core

Definition at line 202 of file Sec.c.

◆ CreatePpiList()

STATIC VOID CreatePpiList ( OUT UINTN PpiListSize,
OUT EFI_PEI_PPI_DESCRIPTOR **  PpiList 
)

Construct a PPI list from the PPIs provided in this file and the ones provided by the platform code.

Parameters
[out]PpiListSizeSize of the PPI list in bytes
[out]PpiListPointer to the constructed PPI list

Definition at line 92 of file Sec.c.

◆ PrintFirmwareVersion()

STATIC VOID PrintFirmwareVersion ( VOID  )

Prints firmware version and build time to serial console.

Definition at line 127 of file Sec.c.

◆ SecMain()

STATIC VOID EFIAPI SecMain ( IN EFI_PEI_CORE_ENTRY_POINT  PeiCoreEntryPoint)

SEC main routine.

Parameters
[in]PeiCoreEntryPointAddress in ram of the entrypoint of the PEI core

Definition at line 158 of file Sec.c.

◆ SecTemporaryRamSupport()

STATIC EFI_STATUS EFIAPI SecTemporaryRamSupport ( IN CONST EFI_PEI_SERVICES **  PeiServices,
IN EFI_PHYSICAL_ADDRESS  TemporaryMemoryBase,
IN EFI_PHYSICAL_ADDRESS  PermanentMemoryBase,
IN UINTN  CopySize 
)

This service of the EFI_PEI_TEMPORARY_RAM_SUPPORT_PPI that migrates temporary RAM into permanent memory.

Parameters
PeiServicesPointer to the PEI Services Table.
TemporaryMemoryBaseSource Address in temporary memory from which the SEC or PEIM will copy the Temporary RAM contents.
PermanentMemoryBaseDestination Address in permanent memory into which the SEC or PEIM will copy the Temporary RAM contents.
CopySizeAmount of memory to migrate from temporary to permanent memory.
Return values
EFI_SUCCESSThe data was successfully returned.
EFI_INVALID_PARAMETERPermanentMemoryBase + CopySize > TemporaryMemoryBase when TemporaryMemoryBase > PermanentMemoryBase.

Definition at line 35 of file Sec.c.

Variable Documentation

◆ gCommonPpiTable

STATIC CONST EFI_PEI_PPI_DESCRIPTOR gCommonPpiTable[]
Initial value:
= {
{
EFI_PEI_PPI_DESCRIPTOR_PPI,
&gEfiTemporaryRamSupportPpiGuid,
(VOID *)&mTemporaryRamSupportPpi
}
}

Definition at line 75 of file Sec.c.

◆ mTemporaryRamSupportPpi

Initial value:
= {
}
STATIC EFI_STATUS EFIAPI SecTemporaryRamSupport(IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_PHYSICAL_ADDRESS TemporaryMemoryBase, IN EFI_PHYSICAL_ADDRESS PermanentMemoryBase, IN UINTN CopySize)
Definition: Sec.c:35

Definition at line 71 of file Sec.c.