]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/IoMmuDxe/IoMmuDxe.c
OvmfPkg/PlatformDxe: list "Platform.h" in the INF file
[mirror_edk2.git] / OvmfPkg / IoMmuDxe / IoMmuDxe.c
CommitLineData
f9d129e6
BS
1/** @file\r
2\r
3 IoMmuDxe driver installs EDKII_IOMMU_PROTOCOL to provide the support for DMA\r
4 operations when SEV is enabled.\r
5\r
6 Copyright (c) 2017, AMD Inc. All rights reserved.<BR>\r
7\r
812568fb
LE
8 This program and the accompanying materials are licensed and made available\r
9 under the terms and conditions of the BSD License which accompanies this\r
10 distribution. The full text of the license may be found at\r
11 http://opensource.org/licenses/bsd-license.php\r
f9d129e6
BS
12\r
13 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
14 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
15\r
16**/\r
17\r
f9d129e6
BS
18#include "AmdSevIoMmu.h"\r
19\r
20EFI_STATUS\r
21EFIAPI\r
22IoMmuDxeEntryPoint (\r
23 IN EFI_HANDLE ImageHandle,\r
24 IN EFI_SYSTEM_TABLE *SystemTable\r
25 )\r
26{\r
5e365a97
LE
27 EFI_STATUS Status;\r
28 EFI_HANDLE Handle;\r
29\r
f9d129e6
BS
30 //\r
31 // When SEV is enabled, install IoMmu protocol otherwise install the\r
32 // placeholder protocol so that other dependent module can run.\r
33 //\r
34 if (MemEncryptSevIsEnabled ()) {\r
db125079 35 Status = AmdSevInstallIoMmuProtocol ();\r
f9d129e6 36 } else {\r
5e365a97
LE
37 Handle = NULL;\r
38\r
f9d129e6
BS
39 Status = gBS->InstallMultipleProtocolInterfaces (\r
40 &Handle,\r
41 &gIoMmuAbsentProtocolGuid,\r
42 NULL, NULL);\r
43 }\r
44\r
45 return Status;\r
46}\r