If the SerialPortLib had any initialization needed, this would be skipped in the RiscVVirt Sec. Follow the example seen elsewhere (ArmVirtPkg PrePi). Seen with BaseSerialPortLibRiscVSbiLibRam not using DBCN in Sec, yet using DBCN elsewhere. Cc: Daniel Schaefer <git@danielschaefer.me> Signed-off-by: Andrei Warkentin <andrei.warkentin@intel.com> Reviewed-by: Sunil V L <sunilvl@ventanamicro.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
104 lines
2.5 KiB
C
104 lines
2.5 KiB
C
/** @file
|
|
Master header file for SecCore.
|
|
|
|
Copyright (c) 2022, Ventana Micro Systems Inc. All rights reserved.<BR>
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#ifndef SEC_MAIN_H_
|
|
#define SEC_MAIN_H_
|
|
|
|
#include <PiPei.h>
|
|
#include <Library/BaseLib.h>
|
|
#include <Library/BaseMemoryLib.h>
|
|
#include <Library/DebugAgentLib.h>
|
|
#include <Library/DebugLib.h>
|
|
#include <Library/ExtractGuidedSectionLib.h>
|
|
#include <Library/IoLib.h>
|
|
#include <Library/HobLib.h>
|
|
#include <Library/PcdLib.h>
|
|
#include <Library/PeCoffExtraActionLib.h>
|
|
#include <Library/PeCoffGetEntryPointLib.h>
|
|
#include <Library/PeCoffLib.h>
|
|
#include <Library/PeiServicesLib.h>
|
|
#include <Library/PeiServicesTablePointerLib.h>
|
|
#include <Library/DebugPrintErrorLevelLib.h>
|
|
#include <Library/PrintLib.h>
|
|
#include <Library/BaseRiscVSbiLib.h>
|
|
#include <Library/PrePiLib.h>
|
|
#include <Library/PlatformInitLib.h>
|
|
#include <Library/PrePiHobListPointerLib.h>
|
|
#include <Library/SerialPortLib.h>
|
|
#include <Register/RiscV64/RiscVImpl.h>
|
|
|
|
/**
|
|
Entry point to the C language phase of SEC. After the SEC assembly
|
|
code has initialized some temporary memory and set up the stack,
|
|
the control is transferred to this function.
|
|
|
|
@param SizeOfRam Size of the temporary memory available for use.
|
|
@param TempRamBase Base address of temporary ram
|
|
@param BootFirmwareVolume Base address of the Boot Firmware Volume.
|
|
**/
|
|
VOID
|
|
NORETURN
|
|
EFIAPI
|
|
SecStartup (
|
|
IN UINTN BootHartId,
|
|
IN VOID *DeviceTreeAddress
|
|
);
|
|
|
|
/**
|
|
Auto-generated function that calls the library constructors for all of the module's
|
|
dependent libraries. This function must be called by the SEC Core once a stack has
|
|
been established.
|
|
|
|
**/
|
|
VOID
|
|
EFIAPI
|
|
ProcessLibraryConstructorList (
|
|
VOID
|
|
);
|
|
|
|
/**
|
|
Perform Platform PEIM initialization.
|
|
|
|
@return EFI_SUCCESS The platform initialized successfully.
|
|
@retval Others - As the error code indicates
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
PlatformPeimInitialization (
|
|
VOID
|
|
);
|
|
|
|
/**
|
|
Perform Memory PEIM initialization.
|
|
|
|
@return EFI_SUCCESS The platform initialized successfully.
|
|
@retval Others - As the error code indicates
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
MemoryPeimInitialization (
|
|
VOID
|
|
);
|
|
|
|
/**
|
|
Perform CPU PEIM initialization.
|
|
|
|
@return EFI_SUCCESS The platform initialized successfully.
|
|
@retval Others - As the error code indicates
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
CpuPeimInitialization (
|
|
VOID
|
|
);
|
|
|
|
#endif
|