The following library classes are not used by this module, so remove them from the INF file's [LibraryClasses] section: - DxeServicesTableLib - UefiLib The following library classes are used by this module, so add them to the INF file's [LibraryClasses] section: - BaseMemoryLib (e.g. via CopyMem()) - MemoryAllocationLib (e.g. via AllocatePool()) Sort the list of library classes (in both "IoMmuDxe.inf" and "AmdSevIoMmu.h"). Remove all non-local #include directives from "IoMmuDxe.c"; both C files of this module include "AmdSevIoMmu.h", and "AmdSevIoMmu.h" includes all non-local headers already. Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Brijesh Singh <brijesh.singh@amd.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Brijesh Singh <brijesh.singh@amd.com> Reviewed-by: Brijesh Singh <brijesh.singh@amd.com>
45 lines
1.4 KiB
C
45 lines
1.4 KiB
C
/** @file
|
|
|
|
The protocol provides support to allocate, free, map and umap a DMA buffer
|
|
for bus master (e.g PciHostBridge). When SEV is enabled, the DMA operations
|
|
must be performed on unencrypted buffer hence protocol clear the encryption
|
|
bit from the DMA buffer.
|
|
|
|
Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
|
|
Copyright (c) 2017, AMD Inc. All rights reserved.<BR>
|
|
(C) Copyright 2017 Hewlett Packard Enterprise Development LP<BR>
|
|
This program and the accompanying materials are licensed and made available
|
|
under the terms and conditions of the BSD License which accompanies this
|
|
distribution. The full text of the license may be found at
|
|
http://opensource.org/licenses/bsd-license.php
|
|
|
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
|
|
**/
|
|
|
|
#ifndef _AMD_SEV_IOMMU_H_
|
|
#define _AMD_SEV_IOMMU_H_
|
|
|
|
#include <Protocol/IoMmu.h>
|
|
|
|
#include <Library/BaseLib.h>
|
|
#include <Library/BaseMemoryLib.h>
|
|
#include <Library/DebugLib.h>
|
|
#include <Library/MemEncryptSevLib.h>
|
|
#include <Library/MemoryAllocationLib.h>
|
|
#include <Library/UefiBootServicesTableLib.h>
|
|
|
|
/**
|
|
Install IOMMU protocol to provide the DMA support for PciHostBridge and
|
|
MemEncryptSevLib.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
AmdSevInstallIoMmuProtocol (
|
|
VOID
|
|
);
|
|
|
|
#endif
|