/** @file | |
X64 #VC Exception Handler functon header file. | |
Copyright (C) 2020, Advanced Micro Devices, Inc. All rights reserved.<BR> | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#ifndef CC_EXIT_VC_HANDLER_H_ | |
#define CC_EXIT_VC_HANDLER_H_ | |
#include <Base.h> | |
#include <Uefi.h> | |
#include <Library/CcExitLib.h> | |
/** | |
Handle a #VC exception. | |
Performs the necessary processing to handle a #VC exception. | |
@param[in, out] Ghcb Pointer to the GHCB | |
@param[in, out] ExceptionType Pointer to an EFI_EXCEPTION_TYPE to be set | |
as value to use on error. | |
@param[in, out] SystemContext Pointer to EFI_SYSTEM_CONTEXT | |
@retval EFI_SUCCESS Exception handled | |
@retval EFI_UNSUPPORTED #VC not supported, (new) exception value to | |
propagate provided | |
@retval EFI_PROTOCOL_ERROR #VC handling failed, (new) exception value to | |
propagate provided | |
**/ | |
EFI_STATUS | |
EFIAPI | |
InternalVmgExitHandleVc ( | |
IN OUT GHCB *Ghcb, | |
IN OUT EFI_EXCEPTION_TYPE *ExceptionType, | |
IN OUT EFI_SYSTEM_CONTEXT SystemContext | |
); | |
/** | |
Routine to allow ASSERT from within #VC. | |
@param[in, out] SevEsData Pointer to the per-CPU data | |
**/ | |
VOID | |
EFIAPI | |
VmgExitIssueAssert ( | |
IN OUT SEV_ES_PER_CPU_DATA *SevEsData | |
); | |
#endif |