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
DebugPrintErrorLevelLib.h
DevicePathLib.h
DxeCoreEntryPoint.h
DxeServicesLib.h
DxeServicesTableLib.h
ExtendedSalLib.h
ExtractGuidedSectionLib.h
FileHandleLib.h
HobLib.h MdePkg HobLib: Add BuildFv3Hob API 2017-10-10 20:54:32 +08:00
HstiLib.h
IoLib.h
MemoryAllocationLib.h
OrderedCollectionLib.h
PalLib.h
PcdLib.h
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
PciSegmentLib.h
PeCoffExtraActionLib.h
PeCoffGetEntryPointLib.h
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
ReportStatusCodeLib.h
ResourcePublicationLib.h
RngLib.h
S3BootScriptLib.h
S3IoLib.h
S3PciLib.h
S3PciSegmentLib.h
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
SmmIoLib.h
SmmLib.h
SmmMemLib.h
SmmPeriodicSmiLib.h
SmmServicesTableLib.h
SynchronizationLib.h
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
UefiRuntimeServicesTableLib.h
UefiScsiLib.h
UefiUsbLib.h