/** @file | |
The file provides the protocol that disables the behavior that all memory | |
gets accepted at ExitBootServices(). This protocol is only meant to be called | |
by the OS loader, and not EDK2 itself. The SEV naming is due to the | |
coincidence that only SEV-SNP needs this protocol, since SEV-SNP Linux | |
support was released before it had support for unaccepted memory. The | |
technology enablement thus does not strictly imply support for the unaccepted | |
memory type. | |
Copyright (c) 2023, Google LLC. All rights reserved.<BR> | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#ifndef SEV_MEMORY_ACCEPTANCE_H_ | |
#define SEV_MEMORY_ACCEPTANCE_H_ | |
#define OVMF_SEV_MEMORY_ACCEPTANCE_PROTOCOL_GUID \ | |
{0xc5a010fe, \ | |
0x38a7, \ | |
0x4531, \ | |
{0x8a, 0x4a, 0x05, 0x00, 0xd2, 0xfd, 0x16, 0x49}} | |
typedef struct _OVMF_SEV_MEMORY_ACCEPTANCE_PROTOCOL | |
OVMF_SEV_MEMORY_ACCEPTANCE_PROTOCOL; | |
/** | |
@param This A pointer to a OVMF_SEV_MEMORY_ACCEPTANCE_PROTOCOL. | |
**/ | |
typedef | |
EFI_STATUS | |
(EFIAPI *OVMF_SEV_ALLOW_UNACCEPTED_MEMORY)( | |
IN OVMF_SEV_MEMORY_ACCEPTANCE_PROTOCOL *This | |
); | |
/// | |
/// The OVMF_SEV_MEMORY_ACCEPTANCE_PROTOCOL allows the OS loader to | |
/// indicate to EDK2 that ExitBootServices should not accept all memory. | |
/// | |
struct _OVMF_SEV_MEMORY_ACCEPTANCE_PROTOCOL { | |
OVMF_SEV_ALLOW_UNACCEPTED_MEMORY AllowUnacceptedMemory; | |
}; | |
#endif |