Skip to content

Commit 86351a8

Browse files
saravan2likebreath
authored andcommitted
ci: Allow EfiLoaderData code execution in AArch64 build
ArmVirt.dsc.inc sets PcdDxeNxMemoryProtectionPolicy to 0x...7FD5 which marks EfiLoaderData as non-executable. GRUB loads its modules into EfiLoaderData allocations and executes code from them, causing an instruction abort (permission fault, second level) on AArch64. Override the PCD to 0x...7FD1 (clears the EfiLoaderData NX bit) as documented in ArmVirt.dsc.inc itself for GRUB compatibility. Signed-off-by: Saravanan D <saravanand@crusoe.ai>
1 parent b110875 commit 86351a8

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

.github/workflows/release.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ jobs:
5252
source edksetup.sh
5353
make -C BaseTools
5454
export GCC5_AARCH64_PREFIX=aarch64-linux-gnu-
55-
build -p ArmVirtPkg/ArmVirtCloudHv.dsc -a AARCH64 -t GCC5 -b DEBUG
55+
build -p ArmVirtPkg/ArmVirtCloudHv.dsc -a AARCH64 -t GCC5 -b DEBUG \
56+
--pcd gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy=0xC000000000007FD1
5657
- name: Upload AArch64 artifact
5758
if: github.event_name == 'create' && github.event.ref_type == 'tag'
5859
uses: actions/upload-artifact@v4

0 commit comments

Comments
 (0)