Reviewed-by: Chao Li Thanks, Chao 在 2023/6/1 14:56, xianglai 写道: > There has been no response for a long time, welcome to give me some > suggestions for this patch. > > > On 5/12/23 10:42 AM, xianglai wrote: >> 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 >> Cc: Bibo Mao >> Cc: Chao Li >> Cc: Leif Lindholm >> Cc: Liming Gao >> Cc: Michael D Kinney >> Signed-off-by: xianglai li >> --- >>   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 > > > > > >