| /** @file | |
| File defines the Sec routines for the AMD SEV | |
| Copyright (c) 2021, Advanced Micro Devices, Inc. All rights reserved.<BR> | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| #ifndef _AMD_SEV_SEC_INTERNAL_H__ | |
| #define _AMD_SEV_SEC_INTERNAL_H__ | |
| /** | |
| Handle an SEV-ES/GHCB protocol check failure. | |
| Notify the hypervisor using the VMGEXIT instruction that the SEV-ES guest | |
| wishes to be terminated. | |
| @param[in] ReasonCode Reason code to provide to the hypervisor for the | |
| termination request. | |
| **/ | |
| VOID | |
| SevEsProtocolFailure ( | |
| IN UINT8 ReasonCode | |
| ); | |
| /** | |
| Validate the SEV-ES/GHCB protocol level. | |
| Verify that the level of SEV-ES/GHCB protocol supported by the hypervisor | |
| and the guest intersect. If they don't intersect, request termination. | |
| **/ | |
| VOID | |
| SevEsProtocolCheck ( | |
| VOID | |
| ); | |
| /** | |
| Determine if the SEV is active. | |
| During the early booting, GuestType is set in the work area. Verify that it | |
| is an SEV guest. | |
| @retval TRUE SEV is enabled | |
| @retval FALSE SEV is not enabled | |
| **/ | |
| BOOLEAN | |
| IsSevGuest ( | |
| VOID | |
| ); | |
| /** | |
| Determine if SEV-ES is active. | |
| During early booting, SEV-ES support code will set a flag to indicate that | |
| SEV-ES is enabled. Return the value of this flag as an indicator that SEV-ES | |
| is enabled. | |
| @retval TRUE SEV-ES is enabled | |
| @retval FALSE SEV-ES is not enabled | |
| **/ | |
| BOOLEAN | |
| SevEsIsEnabled ( | |
| VOID | |
| ); | |
| /** | |
| Validate System RAM used for decompressing the PEI and DXE firmware volumes | |
| when SEV-SNP is active. The PCDs SecValidatedStart and SecValidatedEnd are | |
| set in OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc. | |
| **/ | |
| VOID | |
| SecValidateSystemRam ( | |
| VOID | |
| ); | |
| /** | |
| Determine if SEV-SNP is active. | |
| @retval TRUE SEV-SNP is enabled | |
| @retval FALSE SEV-SNP is not enabled | |
| **/ | |
| BOOLEAN | |
| SevSnpIsEnabled ( | |
| VOID | |
| ); | |
| #endif |