/** @file
Pei library function to reset the system from FSP wrapper.
Copyright (c) 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include
#include
#include
#include
#include
/**
Perform platform related reset in FSP wrapper.
@param[in] ResetType The type of reset the platform has to perform.
@return Will reset the system based on Reset status provided.
**/
VOID
EFIAPI
CallFspWrapperResetSystem (
UINT32 ResetType
)
{
EFI_RESET_TYPE EfiResetType;
switch (ResetType) {
case FSP_STATUS_RESET_REQUIRED_COLD:
EfiResetType = EfiResetCold;
break;
case FSP_STATUS_RESET_REQUIRED_WARM:
EfiResetType = EfiResetWarm;
break;
default:
DEBUG ((DEBUG_ERROR, "UnSupported reset type requested. Initiating cold reset\n"));
EfiResetType = EfiResetCold;
}
(*GetPeiServicesTablePointer ())->ResetSystem2 (EfiResetType, EFI_SUCCESS, 0, NULL);
CpuDeadLoop ();
}