EmbeddedPkg: implement EDK2 IoMmu protocol wrapping DmaLib

Implement a version of the EDK2 IoMmu protocol that is a simple wrapper
around DmaLib. This is intended to be used to wrap NonCoherentDmaLib so
that the generic PCI infrastructure can be used to implement support for
non cache-coherent DMA.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com>
Tested-by: Pete Batard <pete@akeo.ie>
This commit is contained in:
Ard Biesheuvel
2019-11-21 09:32:27 +01:00
committed by mergify[bot]
parent 62a75650e4
commit 49054b6bb6
3 changed files with 305 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
#/** @file
#
# Copyright (c) 2019, Linaro, Ltd. All rights reserved.<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.
#
#**/
[Defines]
INF_VERSION = 1.27
BASE_NAME = NonCoherentIoMmuDxe
FILE_GUID = 7ed510aa-9cdc-49d2-a306-6e11e359f9b3
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0
ENTRY_POINT = NonCoherentIoMmuDxeEntryPoint
[Sources]
NonCoherentIoMmuDxe.c
[Packages]
EmbeddedPkg/EmbeddedPkg.dec
MdeModulePkg/MdeModulePkg.dec
MdePkg/MdePkg.dec
[LibraryClasses]
BaseLib
DebugLib
DmaLib
UefiBootServicesTableLib
UefiDriverEntryPoint
[Protocols]
gEdkiiIoMmuProtocolGuid ## PRODUCES
[Depex]
TRUE