From db1250792c158031f7c6e709ce251d42d2f8fe8e Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Wed, 2 Aug 2017 12:20:14 +0200 Subject: [PATCH] OvmfPkg/IoMmuDxe: propagate errors from AmdSevInstallIoMmuProtocol() If we cannot install the IOMMU protocol for whatever reason, exit the driver with an error. The same is already done for the IOMMU Absent protocol. Cc: Ard Biesheuvel Cc: Brijesh Singh Cc: Jordan Justen Cc: Tom Lendacky Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek Tested-by: Brijesh Singh Reviewed-by: Brijesh Singh --- OvmfPkg/IoMmuDxe/AmdSevIoMmu.c | 4 ++-- OvmfPkg/IoMmuDxe/AmdSevIoMmu.h | 2 +- OvmfPkg/IoMmuDxe/IoMmuDxe.c | 4 +--- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/OvmfPkg/IoMmuDxe/AmdSevIoMmu.c b/OvmfPkg/IoMmuDxe/AmdSevIoMmu.c index 9540624427..8c2c23356a 100644 --- a/OvmfPkg/IoMmuDxe/AmdSevIoMmu.c +++ b/OvmfPkg/IoMmuDxe/AmdSevIoMmu.c @@ -499,7 +499,7 @@ EDKII_IOMMU_PROTOCOL mAmdSev = { Initialize Iommu Protocol. **/ -VOID +EFI_STATUS EFIAPI AmdSevInstallIoMmuProtocol ( VOID @@ -514,5 +514,5 @@ AmdSevInstallIoMmuProtocol ( &gEdkiiIoMmuProtocolGuid, &mAmdSev, NULL ); - ASSERT_EFI_ERROR (Status); + return Status; } diff --git a/OvmfPkg/IoMmuDxe/AmdSevIoMmu.h b/OvmfPkg/IoMmuDxe/AmdSevIoMmu.h index 982e41a7b0..17d3694e4a 100644 --- a/OvmfPkg/IoMmuDxe/AmdSevIoMmu.h +++ b/OvmfPkg/IoMmuDxe/AmdSevIoMmu.h @@ -35,7 +35,7 @@ MemEncryptSevLib. **/ -VOID +EFI_STATUS EFIAPI AmdSevInstallIoMmuProtocol ( VOID diff --git a/OvmfPkg/IoMmuDxe/IoMmuDxe.c b/OvmfPkg/IoMmuDxe/IoMmuDxe.c index 27b1856e0a..0ea42cbc13 100644 --- a/OvmfPkg/IoMmuDxe/IoMmuDxe.c +++ b/OvmfPkg/IoMmuDxe/IoMmuDxe.c @@ -36,14 +36,12 @@ IoMmuDxeEntryPoint ( EFI_STATUS Status; EFI_HANDLE Handle; - Status = EFI_SUCCESS; - // // When SEV is enabled, install IoMmu protocol otherwise install the // placeholder protocol so that other dependent module can run. // if (MemEncryptSevIsEnabled ()) { - AmdSevInstallIoMmuProtocol (); + Status = AmdSevInstallIoMmuProtocol (); } else { Handle = NULL; -- 2.39.2