Hi Arm Community,
I'm trying PIE/POE feature provided by v8.9, and I notice Linux becomes compatible with this feature since v6.5. Thus I use scripts provided here to setup the environment. However, when I enable PIE feature, the boot seems to get stuck. This is my fvp settings:
-C pctl.startup=0.0.0.0 \ -C bp.secure_memory=0 \ -C cluster0.NUM_CORES=2 \ -C cluster1.NUM_CORES=0 \ -C cluster0.has_permission_indirection_s1=2 \ -C cluster0.has_permission_indirection_s2=2 \ -C cluster0.has_permission_overlay_s1=2 \ -C cluster0.has_permission_overlay_s2=2 \ -C cache_state_modelled=0 \ -C bp.pl011_uart0.untimed_fifos=1 \ -C bp.pl011_uart0.unbuffered_output=1 \ -C bp.pl011_uart0.out_file="${WORKSPACE}/aemfvp-a/uart0.log" \ -C bp.pl011_uart1.out_file="${WORKSPACE}/aemfvp-a/uart1.log" \ -C bp.secureflashloader.fname="${WORKSPACE}/output/aemfvp-a/aemfvp-a/tf-bl1.bin" \ -C bp.flashloader0.fname="${WORKSPACE}/output/aemfvp-a/aemfvp-a/fip-uboot.bin" \ -C cluster0.cpu0.semihosting-cwd="${WORKSPACE}/output/aemfvp-a/aemfvp-a/" \ -C bp.ve_sysregs.mmbSiteDefault=0 \ -C bp.ve_sysregs.exit_on_shutdown=1 \ -C bp.virtioblockdevice.image_path="${WORKSPACE}/output/aemfvp-a/components/aemfvp-a/grub-busybox.img" \
And I got this output:
But once I remove "-C cluster0.has_permission_indirection_s1=2 -C cluster0.has_permission_indirection_s2=2 -C cluster0.has_permission_overlay_s1=2 -C cluster0.has_permission_overlay_s2=2" to disable PIE/POE, then everything is OK, kernel can boot successfully.
How can I solve it? Or anyone successfully run Linux with PIE enabled can share some setup configurations or steps?