audk/MdeModulePkg/Universal
Ard Biesheuvel 16dc5b68fc MdeModulePkg/EbcDxe: use EfiBootServicesCode memory for thunks
The EBC driver emits thunks for native to EBC calls, which are short
instructions sequences that bridge the gap between the native execution
environment and the EBC virtual machine.

Since these thunks are allocated using MemoryAllocationLib::AllocatePool(),
they are emitted into EfiBootServicesData regions, which does not reflect
the nature of these thunks accurately, and interferes with strict memory
protection policies that map data regions non-executable.

So instead, create a new helper EbcAllocatePoolForThunk() that invokes the
AllocatePool() boot service directly to allocate EfiBootServicesCode pool
memory explicitly, and wire up this helper for the various architecture
specific thunk generation routines.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
2017-02-28 14:59:50 +00:00
..
Acpi MdeModulePkg: S3SaveStateDxe, SmmS3SaveState: save 64-bit LoopTimes 2017-01-03 12:23:38 +01:00
BdsDxe MdeModulePkg/BdsDxe: Initialize gConnectConInEvent earlier 2016-12-08 10:11:01 +08:00
BootManagerPolicyDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
CapsulePei MdeModulePkg: Display new stack base and size 2016-11-09 16:00:04 +08:00
CapsuleRuntimeDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
Console MdeModulePkg: Use EfiEventEmptyFunction from UefiLib 2017-01-20 15:51:18 +08:00
DebugPortDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
DebugSupportDxe MdeModulePkg DebugSupportDxe: Convert X64/AsmFuncs.asm to NASM 2016-06-28 09:51:57 +08:00
DevicePathDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
Disk MdeModulePkg/Universal: Fix typos in comments 2016-10-27 09:11:19 +08:00
DisplayEngineDxe MdeMoudlePkg/DisplayEngine: Fix incorrect index used in array "InputText" 2017-02-21 19:19:05 +08:00
DriverHealthManagerDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
DriverSampleDxe MdeModulePkg: Use EfiEventEmptyFunction from UefiLib 2017-01-20 15:51:18 +08:00
EbcDxe MdeModulePkg/EbcDxe: use EfiBootServicesCode memory for thunks 2017-02-28 14:59:50 +00:00
EsrtDxe MdeModulePkg/Esrt: Add ESRT_FW_TYPE_SYSTEMFIRMWARE check. 2016-11-08 22:37:03 +08:00
FaultTolerantWriteDxe MdeModulePkg/Universal: Fix typos in comments 2016-10-27 09:11:19 +08:00
FaultTolerantWritePei MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
FileExplorerDxe MdeModulePkg FileExplorerDxe: Change file format which has mixed file format. 2015-12-16 03:22:39 +00:00
FvSimpleFileSystemDxe MdeModulePkg/FvSimpleFileSystem: fix assertions when FV is empty 2016-08-03 09:48:18 +08:00
HiiDatabaseDxe MdeModulePkg/HiiDatabase: clean the value before setting default string 2017-02-21 19:19:15 +08:00
HiiResourcesSampleDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
LegacyRegion2Dxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
LoadFileOnFv2 MdeModulePkg LoadFileOnFv2: Correct the parameter name in function comment 2016-10-25 11:53:59 +08:00
LockBox/SmmLockBox MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
MemoryTest MdeModulePkg/Universal: Fix typos in comments 2016-10-27 09:11:19 +08:00
Metronome MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
MonotonicCounterRuntimeDxe MdeModulePkg: Minor comments update to GetNextHighMonotonicCount() 2016-01-29 09:26:49 +00:00
Network MdeModulePkg/Ip4Dxe: Ignore duplicated DNS address check 2017-02-27 14:57:11 +08:00
PCD MdeModulePkg/PCD: Fix PcdGetNextToken may get a wrong PCD token 2016-11-03 11:00:52 +08:00
PcatSingleSegmentPciCfg2Pei MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
PlatformDriOverrideDxe MdeModulePkg/Universal: Fix typos in comments 2016-10-27 09:11:19 +08:00
PrintDxe MdeModulePkg: Add the EFI_PRINT2S_PROTOCOL 2017-02-21 13:56:22 +08:00
PropertiesTableAttributesDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
RegularExpressionDxe MdeModulePkg/RegularExpressionDxe: remove module-local ARRAY_SIZE macro 2016-10-27 10:50:09 +02:00
ReportStatusCodeRouter MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
ResetSystemRuntimeDxe MdeModulePkg/ResetSystemRuntimeDxe: Support EfiResetPlatformSpecific 2016-09-02 10:07:17 +08:00
SectionExtractionDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
SectionExtractionPei MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
SecurityStubDxe MdeModulePkg/SecurityStubDxe: Report failure if image is load earlier 2016-11-10 15:58:00 +08:00
SerialDxe MdeModulePkg/SerialDxe: Set FIFO depth with PCD 2016-03-29 15:00:30 +08:00
SetupBrowserDxe MdeModulePkg: Use EfiEventEmptyFunction from UefiLib 2017-01-20 15:51:18 +08:00
SmbiosDxe MdeModulePkg SmbiosDxe: Use definition in IndustryStandard/Smbios.h 2016-07-29 10:10:56 +08:00
SmbiosMeasurementDxe MdeModulePkg SmbiosMeasurementDxe: Add NominalSpeed in Type 27 to black list 2016-09-02 10:16:39 +08:00
SmmCommunicationBufferDxe MdeModulePkg: Add new driver to publish EDKII_PI_SMM_COMMUNICATION_REGION_TABLE. 2016-04-29 12:49:09 +08:00
StatusCodeHandler MdeModulePkg/MemoryStatusCode: Expose the DXE memory status code table. 2016-06-29 09:46:51 +08:00
TimestampDxe MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
Variable MdeModulePkg: VariableDxe: Use UEFI_VARIABLE_DATA 2017-01-25 10:24:06 +08:00
WatchdogTimerDxe MdeModulePkg/Universal: Fix typos in comments 2016-10-27 09:11:19 +08:00