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

xianglai posted 1 patch 12 months ago
Failed in applying to current master (apply log)
Platform/Loongson/LoongArchQemuPkg/Loongson.dsc | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
[edk2-devel] [edk2-platforms] Platform/Loongson: Set common page size to 16k
Posted by xianglai 12 months ago
Default page size is 16K for loongarch qemu tcg code section
separated with data section with 16K page alignment,
And data write operation in the same page with code section
will cause qemu TB flush.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Bibo Mao <maobibo@loongson.cn>
Cc: Chao Li <lichao@loongson.cn>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Signed-off-by: xianglai li <lixianglai@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 (#104644): https://edk2.groups.io/g/devel/message/104644
Mute This Topic: https://groups.io/mt/98819415/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [edk2-platforms] Platform/Loongson: Set common page size to 16k
Posted by Chao Li 12 months ago
Reviewed-by: Chao Li <lichao@loongson.cn>


Thanks,
Chao
在 2023/5/11 09:33, xianglai 写道:
> Default page size is 16K for loongarch qemu tcg code section
> separated with data section with 16K page alignment,
> And data write operation in the same page with code section
> will cause qemu TB flush.
>
> Cc: Ard Biesheuvel<ardb+tianocore@kernel.org>
> Cc: Bibo Mao<maobibo@loongson.cn>
> Cc: Chao Li<lichao@loongson.cn>
> Cc: Leif Lindholm<quic_llindhol@quicinc.com>
> Cc: Liming Gao<gaoliming@byosoft.com.cn>
> Cc: Michael D Kinney<michael.d.kinney@intel.com>
> Signed-off-by: xianglai li<lixianglai@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 (#104646): https://edk2.groups.io/g/devel/message/104646
Mute This Topic: https://groups.io/mt/98819415/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [edk2-platforms] Platform/Loongson: Set common page size to 16k
Posted by maobibo 12 months ago

在 2023/5/11 09:33, xianglai li 写道:
> Default page size is 16K for loongarch qemu tcg code section
> separated with data section with 16K page alignment,
> And data write operation in the same page with code section
> will cause qemu TB flush.
Xianglai,

Could you add more data supporting? such as size of dxe ffs image and 
dxe compaction ffs.

Regards
Bibo, Mao

> 
> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> Cc: Bibo Mao <maobibo@loongson.cn>
> Cc: Chao Li <lichao@loongson.cn>
> Cc: Leif Lindholm <quic_llindhol@quicinc.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Signed-off-by: xianglai li <lixianglai@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 (#104648): https://edk2.groups.io/g/devel/message/104648
Mute This Topic: https://groups.io/mt/98819415/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-