audk/MdePkg/Include/Library
Laszlo Ersek 8596c14090 MdePkg/BaseLib: add PatchInstructionX86()
Some edk2 modules generate X86 machine code at module execution time by:

- compiling "template" code with NASM at module build time,

- linking the object code into the module,

- and patching the immediate (constant) operands of some instructions when
  the module is executed.

Add a helper function to BaseLib so that the C code performing the
patching is easier to read and maintain.

The implementation in this patch is taken mainly from Mike Kinney's
mailing list messages at
<http://mid.mail-archive.com/E92EE9817A31E24EB0585FDF735412F5B895C360@ORSMSX113.amr.corp.intel.com>,
<http://mid.mail-archive.com/E92EE9817A31E24EB0585FDF735412F5B898BF66@ORSMSX112.amr.corp.intel.com>.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=866
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2018-04-04 16:43:58 +02:00
..
BaseLib.h MdePkg/BaseLib: add PatchInstructionX86() 2018-04-04 16:43:58 +02:00
BaseMemoryLib.h
CacheMaintenanceLib.h
CpuLib.h
DebugLib.h MdePkg/DebugLib.h: add ASSERT_RETURN_ERROR() 2016-10-25 10:46:07 +02:00
DebugPrintErrorLevelLib.h
DevicePathLib.h
DxeCoreEntryPoint.h
DxeServicesLib.h
DxeServicesTableLib.h
ExtendedSalLib.h
ExtractGuidedSectionLib.h
FileHandleLib.h MdePkg/Include: Add include file to FileHandleLib.h 2017-01-10 12:31:28 -08:00
HobLib.h MdePkg HobLib: Add BuildFv3Hob API 2017-10-10 20:54:32 +08:00
HstiLib.h
IoLib.h MdePkg: Expand BaseIoLibIntrinsic (IoLib class) library 2017-01-17 10:09:50 +08:00
MemoryAllocationLib.h
OrderedCollectionLib.h
PalLib.h
PcdLib.h MdePkg: Correct comments of macros FixedPcdGetX/PatchPcdXXX in PcdLib.h 2017-01-18 15:23:08 +08:00
PciCf8Lib.h
PciExpressLib.h MdePkg/PciExpressLib.h: Add missing include of PciExpress21.h 2018-01-09 13:18:20 +08:00
PciLib.h
PciSegmentInfoLib.h MdePkg/PciSegmentInfoLib: Add PciSegmentInfoLib class and instance. 2017-08-28 16:47:04 +08:00
PciSegmentLib.h MdePkg/PciSegmentLib: Fix typo in function header comments 2017-08-28 16:47:03 +08:00
PeCoffExtraActionLib.h
PeCoffGetEntryPointLib.h PeCoffGetEntryPointLib: Fix spelling issue 2017-04-26 08:58:18 +08:00
PeCoffLib.h
PeiCoreEntryPoint.h
PeiServicesLib.h MdePkg/PeiServicesLib: Add PeiServicesResetSystem2() 2018-02-09 15:29:48 +08:00
PeiServicesTablePointerLib.h
PeimEntryPoint.h
PerformanceLib.h
PostCodeLib.h
PrintLib.h MdePkg/BasePrintLib: Refine the comment for AsciiValueToStringS API 2017-03-13 11:09:23 +08:00
ReportStatusCodeLib.h
ResourcePublicationLib.h
RngLib.h
S3BootScriptLib.h MdePkg, MdeModulePkg: S3BootScriptSaveMemPoll(): accept 64-bit LoopTimes 2017-01-03 12:22:47 +01:00
S3IoLib.h
S3PciLib.h
S3PciSegmentLib.h MdePkg/S3PciSegmentLib: Add S3PciSegmentLib class and instance. 2017-08-28 16:47:05 +08:00
S3SmbusLib.h
S3StallLib.h
SafeIntLib.h MdePkg SafeIntLib: Update API definition to use the same output name 2018-02-01 09:24:49 +08:00
SalLib.h
SerialPortLib.h
SmbusLib.h
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
SmmMemLib.h
SmmPeriodicSmiLib.h MdePkg: Fix typos in comments 2016-10-21 16:40:51 +08:00
SmmServicesTableLib.h
SynchronizationLib.h MdePkg/Include: Add volatile to SynchronizationLib parameters 2016-11-17 17:08:11 -08:00
TimerLib.h
UefiApplicationEntryPoint.h
UefiBootServicesTableLib.h
UefiDecompressLib.h
UefiDriverEntryPoint.h
UefiLib.h MdePkg/UefiLib: Add EfiLocateProtocolBuffer() 2018-02-11 15:10:03 -08:00
UefiRuntimeLib.h MdePkg: update comments in ResetSystem() according to UEFI2.7 2017-06-20 09:29:42 +08:00
UefiRuntimeServicesTableLib.h
UefiScsiLib.h
UefiUsbLib.h