mirror of https://github.com/acidanthera/audk.git
8596c14090
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> |
||
---|---|---|
.. | ||
BaseLib.h | ||
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 | ||
HstiLib.h | ||
IoLib.h | ||
MemoryAllocationLib.h | ||
OrderedCollectionLib.h | ||
PalLib.h | ||
PcdLib.h | ||
PciCf8Lib.h | ||
PciExpressLib.h | ||
PciLib.h | ||
PciSegmentInfoLib.h | ||
PciSegmentLib.h | ||
PeCoffExtraActionLib.h | ||
PeCoffGetEntryPointLib.h | ||
PeCoffLib.h | ||
PeiCoreEntryPoint.h | ||
PeiServicesLib.h | ||
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 | ||
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 | ||
UefiRuntimeLib.h | ||
UefiRuntimeServicesTableLib.h | ||
UefiScsiLib.h | ||
UefiUsbLib.h |