audk/MdePkg/Include/Library
Hao Wu 2ecd829972 MdePkg/BaseLib: Add new AsmLfence API
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1193

This commit will add a new BaseLib API AsmLfence(). This API will perform
a serializing operation on all load-from-memory instructions that were
issued prior to the call of this function. Please note that this API is
only available on IA-32 and x64.

The purpose of adding this API is to mitigate of the [CVE-2017-5753]
Bounds Check Bypass issue when untrusted data are being processed within
SMM. More details can be referred at the 'Bounds check bypass mitigation'
section at the below link:

https://software.intel.com/security-software-guidance/insights/host-firmware-speculative-execution-side-channel-mitigation

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Laszlo Ersek <lersek@redhat.com>
2018-09-30 13:06:42 +08:00
..
BaseLib.h MdePkg/BaseLib: Add new AsmLfence API 2018-09-30 13:06:42 +08:00
BaseMemoryLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
CacheMaintenanceLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
CpuLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
DebugLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
DebugPrintErrorLevelLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
DevicePathLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
DxeCoreEntryPoint.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
DxeServicesLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
DxeServicesTableLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
ExtendedSalLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
ExtractGuidedSectionLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
FileHandleLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
HobLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
HstiLib.h
IoLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
MemoryAllocationLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
OrderedCollectionLib.h
PalLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
PcdLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
PciCf8Lib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
PciExpressLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
PciLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
PciSegmentInfoLib.h
PciSegmentLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
PeCoffExtraActionLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
PeCoffGetEntryPointLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
PeCoffLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
PeiCoreEntryPoint.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
PeiServicesLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
PeiServicesTablePointerLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
PeimEntryPoint.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
PerformanceLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
PostCodeLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
PrintLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
ReportStatusCodeLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
ResourcePublicationLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
RngLib.h
S3BootScriptLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
S3IoLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
S3PciLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
S3PciSegmentLib.h
S3SmbusLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
S3StallLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
SafeIntLib.h
SalLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
SerialPortLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
SmbusLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
SmiHandlerProfileLib.h
SmmIoLib.h
SmmLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
SmmMemLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
SmmPeriodicSmiLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
SmmServicesTableLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
SynchronizationLib.h MdePkg/SynchronizationLib: fix Interlocked[De|In]crement return value 2018-09-25 10:02:53 +08:00
TimerLib.h
UefiApplicationEntryPoint.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
UefiBootServicesTableLib.h
UefiDecompressLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
UefiDriverEntryPoint.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
UefiLib.h MdePkg UefiLib: Add new EfiLocateXXXAcpiTable() APIs 2018-09-27 14:25:32 +08:00
UefiRuntimeLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
UefiRuntimeServicesTableLib.h
UefiScsiLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
UefiUsbLib.h