X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;ds=sidebyside;f=IntelSiliconPkg%2FFeature%2FVTd%2FIntelVTdDxe%2FDmaProtection.h;h=a3331db8f76b8f65aeaff346e51d4d55c7e96dfe;hb=30a888b5a0a01eb9ce79b46af9937e997a30ae5c;hp=767531e4a93ff99f2668d8c8079779746ed2bcc6;hpb=0bc94c748bc9b8645dd0566535708d88a5be0fe1;p=mirror_edk2.git diff --git a/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmaProtection.h b/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmaProtection.h index 767531e4a9..a3331db8f7 100644 --- a/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmaProtection.h +++ b/IntelSiliconPkg/Feature/VTd/IntelVTdDxe/DmaProtection.h @@ -1,13 +1,7 @@ /** @file - Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.
- 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. + Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
+ SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -28,6 +22,7 @@ #include #include #include +#include #include #include @@ -124,7 +119,6 @@ EFI_STATUS extern EFI_ACPI_DMAR_HEADER *mAcpiDmarTable; -extern UINT64 mVtdHostAddressWidthMask; extern UINTN mVtdUnitNumber; extern VTD_UNIT_INFORMATION *mVtdUnitInformation; @@ -174,6 +168,36 @@ DisableDmar ( VOID ); +/** + Flush VTd engine write buffer. + + @param[in] VtdIndex The index used to identify a VTd engine. +**/ +VOID +FlushWriteBuffer ( + IN UINTN VtdIndex + ); + +/** + Invalidate VTd context cache. + + @param[in] VtdIndex The index used to identify a VTd engine. +**/ +EFI_STATUS +InvalidateContextCache ( + IN UINTN VtdIndex + ); + +/** + Invalidate VTd IOTLB. + + @param[in] VtdIndex The index used to identify a VTd engine. +**/ +EFI_STATUS +InvalidateIOTLB ( + IN UINTN VtdIndex + ); + /** Invalid VTd global IOTLB.