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 Add HSTI support. 2015-01-19 06:08:23 +00:00
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 MdePkg: introduce OrderedCollectionLib library class 2014-08-12 07:28:52 +00:00
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 MdePkg/PciSegmentInfoLib: Add PciSegmentInfoLib class and instance. 2017-08-28 16:47:04 +08:00
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 MdePkg: Create GetRandomNumber128 in RngLib 2015-10-09 06:03:17 +00:00
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 MdePkg/S3PciSegmentLib: Add S3PciSegmentLib class and instance. 2017-08-28 16:47:05 +08:00
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 MdePkg SafeIntLib: Update API definition to use the same output name 2018-02-01 09:24:49 +08:00
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 MdePkg/SmiHandlerProfile: Add Context support in Unregister 2017-03-13 16:04:11 +08:00
SmmIoLib.h MdePkg/SmmIoLib: Add header file. 2017-04-26 09:22:17 +08:00
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 Add new API GetTimeInNanoSecond() to TimerLib to convert elapsed ticks to time in unit of nanoseconds. 2011-08-25 05:59:17 +00:00
UefiApplicationEntryPoint.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
UefiBootServicesTableLib.h Update the copyright notice format 2010-04-23 15:46:20 +00:00
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 Update the copyright notice format 2010-04-23 15:46:20 +00:00
UefiScsiLib.h MdePkg: Clean up source files 2018-06-28 11:19:47 +08:00
UefiUsbLib.h Update the copyright notice format 2010-04-23 15:46:20 +00:00