[edk2-devel] [edk2-platforms][PATCH V2 1/1] Platform/Loongson: Set Dxe common page size to 16k

Ard Biesheuvel ardb at kernel.org
Thu Jun 1 09:10:37 UTC 2023


On Thu, 1 Jun 2023 at 10:08, Chao Li <lichao at loongson.cn> wrote:
>
> Reviewed-by: Chao Li <lichao at loongson.cn>
>

Pushed as 406291d3dfa7..eaaf3edafa66


>
> 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 <ardb+tianocore at kernel.org>
> Cc: Bibo Mao <maobibo at loongson.cn>
> Cc: Chao Li <lichao at loongson.cn>
> Cc: Leif Lindholm <quic_llindhol at quicinc.com>
> Cc: Liming Gao <gaoliming at byosoft.com.cn>
> Cc: Michael D Kinney <michael.d.kinney at intel.com>
> Signed-off-by: xianglai li <lixianglai at 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
>
>
>
>
>
> 
>



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#105549): https://edk2.groups.io/g/devel/message/105549
Mute This Topic: https://groups.io/mt/98842119/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list