]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/Include/Protocol/SevMemoryAcceptance.h
OvmfPkg: Introduce the OvmfSevMemoryAcceptance protocol
[mirror_edk2.git] / OvmfPkg / Include / Protocol / SevMemoryAcceptance.h
CommitLineData
26847fb6
DG
1/** @file\r
2 The file provides the protocol that disables the behavior that all memory\r
3 gets accepted at ExitBootServices(). This protocol is only meant to be called\r
4 by the OS loader, and not EDK2 itself. The SEV naming is due to the\r
5 coincidence that only SEV-SNP needs this protocol, since SEV-SNP Linux\r
6 support was released before it had support for unaccepted memory. The\r
7 technology enablement thus does not strictly imply support for the unaccepted\r
8 memory type.\r
9\r
10 Copyright (c) 2023, Google LLC. All rights reserved.<BR>\r
11 SPDX-License-Identifier: BSD-2-Clause-Patent\r
12**/\r
13\r
14#ifndef SEV_MEMORY_ACCEPTANCE_H_\r
15#define SEV_MEMORY_ACCEPTANCE_H_\r
16\r
17#define OVMF_SEV_MEMORY_ACCEPTANCE_PROTOCOL_GUID \\r
18 {0xc5a010fe, \\r
19 0x38a7, \\r
20 0x4531, \\r
21 {0x8a, 0x4a, 0x05, 0x00, 0xd2, 0xfd, 0x16, 0x49}}\r
22\r
23typedef struct _OVMF_SEV_MEMORY_ACCEPTANCE_PROTOCOL\r
24 OVMF_SEV_MEMORY_ACCEPTANCE_PROTOCOL;\r
25\r
26/**\r
27 @param This A pointer to a OVMF_SEV_MEMORY_ACCEPTANCE_PROTOCOL.\r
28**/\r
29typedef\r
30 EFI_STATUS\r
31(EFIAPI *OVMF_SEV_ALLOW_UNACCEPTED_MEMORY)(\r
32 IN OVMF_SEV_MEMORY_ACCEPTANCE_PROTOCOL *This\r
33 );\r
34\r
35///\r
36/// The OVMF_SEV_MEMORY_ACCEPTANCE_PROTOCOL allows the OS loader to\r
37/// indicate to EDK2 that ExitBootServices should not accept all memory.\r
38///\r
39struct _OVMF_SEV_MEMORY_ACCEPTANCE_PROTOCOL {\r
40 OVMF_SEV_ALLOW_UNACCEPTED_MEMORY AllowUnacceptedMemory;\r
41};\r
42\r
43#endif\r