The loongarch qemu tcg code section is 16K aligned by default. When UEFI keep 4K alignment, the code section and data section of UEFI are loaded into the same page by qemu, and when the data is written to the page containing the code section, it will cause qemu to refresh TB, resulting in qemu running slowly.Therefore, setting Dxe to 16K alignment can ensure that the code section is loaded into a page separately, avoid qemu repeatedly refreshing TB, and speed up the execution speed of qemu.
The following shows the impact of Dxe 4K alignment and 16K alignment on image size: DXE 4k alignment: DXEFV.FV 7.2M After compression: FVMAIN_COMPACT.Fv 3.4M QEMU_EFI.fd 3.7M DXE 16k alignment: DXEFV.FV 9.5M After compression: FVMAIN_COMPACT.Fv 3.4M QEMU_EFI.fd 3.7M Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org> Cc: Bibo Mao <maob...@loongson.cn> Cc: Chao Li <lic...@loongson.cn> Cc: Leif Lindholm <quic_llind...@quicinc.com> Cc: Liming Gao <gaolim...@byosoft.com.cn> Cc: Michael D Kinney <michael.d.kin...@intel.com> Signed-off-by: xianglai li <lixiang...@loongson.cn> --- Platform/Loongson/LoongArchQemuPkg/Loongson.dsc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Platform/Loongson/LoongArchQemuPkg/Loongson.dsc b/Platform/Loongson/LoongArchQemuPkg/Loongson.dsc index 6875e39cc6..13b27d84b8 100644 --- a/Platform/Loongson/LoongArchQemuPkg/Loongson.dsc +++ b/Platform/Loongson/LoongArchQemuPkg/Loongson.dsc @@ -61,8 +61,13 @@ [BuildOptions.LOONGARCH64.EDKII.SEC] *_*_*_CC_FLAGS = +# +# default page size is 16K for loongarch qemu tcg +# code section separated with data section with 16K page alignment, else data +# write operation in the same page with code section will cause qemu TB flush +# [BuildOptions.common.EDKII.DXE_CORE,BuildOptions.common.EDKII.DXE_DRIVER,BuildOptions.common.EDKII.UEFI_DRIVER,BuildOptions.common.EDKII.UEFI_APPLICATION] - GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 + GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x4000 [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] GCC:*_*_LOONGARCH64_DLINK_FLAGS = -z common-page-size=0x10000 -- 2.31.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104740): https://edk2.groups.io/g/devel/message/104740 Mute This Topic: https://groups.io/mt/98842119/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-