+++ /dev/null
-/*++\r
-\r
- Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>\r
- \r\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
- \r\r
-\r
-\r
-**/\r
-\r
-\r
-#ifndef __PEI_PLATFORM_H__\r
-#define __PEI_PLATFORM_H__\r
-\r
-#define PEI_STALL_RESOLUTION 1\r
-#define STALL_PEIM_SIGNATURE SIGNATURE_32('p','p','u','s')\r
-\r
-typedef struct {\r
- UINT32 Signature;\r
- EFI_FFS_FILE_HEADER *FfsHeader;\r
- EFI_PEI_NOTIFY_DESCRIPTOR StallNotify;\r
-} STALL_CALLBACK_STATE_INFORMATION;\r
-\r
-#define STALL_PEIM_FROM_THIS(a) CR (a, STALL_CALLBACK_STATE_INFORMATION, StallNotify, STALL_PEIM_SIGNATURE)\r
-\r
-#ifdef NOCS_S3_SUPPORT\r
-\r
-/**\r
- Peform the boot mode determination logic\r
- If the box is closed, then\r
- 1. If it's first time to boot, it's boot with full config .\r
- 2. If the ChassisIntrution is selected, force to be a boot with full config\r
- 3. Otherwise it's boot with no change.\r
-\r
- @param PeiServices General purpose services available to every PEIM.\r
- @param BootMode The detected boot mode.\r
-\r
- @retval EFI_SUCCESS if the boot mode could be set\r
-**/\r
-EFI_STATUS\r
-UpdateBootMode (\r
- IN CONST EFI_PEI_SERVICES **PeiServices\r
- );\r
-#endif\r
-\r
-/**\r
- This function reset the entire platform, including all processor and devices, and\r
- reboots the system.\r
- \r
- Declaration of this function goes to MdeModulePkg/Include/Library/ResetSystemLib.h\r
-\r
- @param PeiServices General purpose services available to every PEIM.\r
-\r
- @retval EFI_SUCCESS if it completed successfully.\r
-**/\r
-// EFI_STATUS\r
-// EFIAPI\r
-// ResetSystem (\r
- // IN CONST EFI_PEI_SERVICES **PeiServices\r
- // );\r
-\r
-/**\r
- This function will be called when MRC is done.\r
-\r
- @param PeiServices General purpose services available to every PEIM.\r
- @param NotifyDescriptor Information about the notify event..\r
- @param Ppi The notify context.\r
-\r
- @retval EFI_SUCCESS If the function completed successfully.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-MemoryDiscoveredPpiNotifyCallback (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_NOTIFY_DESCRIPTOR *NotifyDescriptor,\r
- IN VOID *Ppi\r
- );\r
-\r
-/**\r
- This is the callback function notified by FvFileLoader PPI, it depends on FvFileLoader PPI to load\r
- the PEIM into memory.\r
-\r
- @param PeiServices General purpose services available to every PEIM.\r
- @param NotifyDescriptor The context of notification.\r
- @param Ppi The notify PPI.\r
-\r
- @retval EFI_SUCCESS if it completed successfully.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-FvFileLoaderPpiNotifyCallback (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_NOTIFY_DESCRIPTOR *NotifyDescriptor,\r
- IN VOID *Ppi\r
- );\r
-\r
-/**\r
- This function provides a blocking stall for reset at least the given number of microseconds\r
- stipulated in the final argument.\r
-\r
- @param PeiServices General purpose services available to every PEIM.\r
- @param this Pointer to the local data for the interface.\r
- @param Microseconds number of microseconds for which to stall.\r
-\r
- @retval EFI_SUCCESS the function provided at least the required stall.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-Stall (\r
- IN CONST EFI_PEI_SERVICES **PeiServices,\r
- IN CONST EFI_PEI_STALL_PPI *This,\r
- IN UINTN Microseconds\r
- );\r
-\r
-/**\r
- This function initialize recovery functionality by installing the recovery PPI.\r
-\r
- @param PeiServices General purpose services available to every PEIM.\r
-\r
- @retval EFI_SUCCESS If the interface could be successfully installed.\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-InitializeRecovery (\r
- IN EFI_PEI_SERVICES **PeiServices\r
- );\r
-\r
-/**\r
- This function\r
- 1. Calling MRC to initialize memory.\r
- 2. Install EFI Memory.\r
- 3. Capsule coalesce if capsule boot mode.\r
- 4. Create HOB of system memory.\r
-\r
- @param PeiServices Pointer to the PEI Service Table\r
-\r
- @retval EFI_SUCCESS If it completes successfully.\r
-\r
-**/\r
-EFI_STATUS\r
-MemoryInit (\r
- IN EFI_PEI_SERVICES **PeiServices\r
- );\r
-\r
-/**\r
- This function provides the implementation of AtaController PPI Enable Channel function.\r
-\r
- @param PeiServices General purpose services available to every PEIM.\r
- @param this Pointer to the local data for the interface.\r
- @param ChannelMask This parameter is used to specify primary or slavery IDE channel.\r
-\r
- @retval EFI_SUCCESS Procedure returned successfully.\r
-**/\r
-EFI_STATUS\r
-EnableAtaChannel (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN PEI_ATA_CONTROLLER_PPI *This,\r
- IN UINT8 ChannelMask\r
- );\r
-\r
-/**\r
- This function provides the implementation of AtaController PPI Get IDE channel Register Base Address\r
-\r
- @param PeiServices General purpose services available to every PEIM.\r
- @param this Pointer to the local data for the interface.\r
- @param IdeRegsBaseAddr Pointer to IDE_REGS_BASE_ADDR struct, which is used to record\r
- IDE Command and Control regeisters Base Address.\r
-\r
- @retval EFI_SUCCESS Procedure returned successfully.\r
-**/\r
-EFI_STATUS\r
-GetIdeRegsBaseAddr (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN PEI_ATA_CONTROLLER_PPI *This,\r
- IN IDE_REGS_BASE_ADDR *IdeRegsBaseAddr\r
- );\r
-\r
-/**\r
- This function provides the implementation to properly setup both LM & PDM functionality.\r
-\r
- @param PeiServices General purpose services available to every PEIM.\r
-\r
- @retval EFI_SUCCESS Procedure returned successfully.\r
-\r
-**/\r
-EFI_STATUS\r
-ConfigureLM(\r
- IN EFI_PEI_SERVICES **PeiServices\r
- );\r
-\r
-#include <Ppi/VlvMmioPolicy.h>\r
-\r
-BOOLEAN\r
-EFIAPI\r
-IsFastBootEnabled (\r
- IN CONST EFI_PEI_SERVICES **PeiServices\r
- );\r
-\r
-EFI_STATUS\r
-PrioritizeBootMode (\r
- IN OUT EFI_BOOT_MODE *CurrentBootMode,\r
- IN EFI_BOOT_MODE NewBootMode\r
- );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-CapsulePpiNotifyCallback (\r
- IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_NOTIFY_DESCRIPTOR *NotifyDescriptor,\r
- IN VOID *Ppi\r
- );\r
-#endif\r