Message ID | 20231211155951.4079886-2-gael.portay@rtone.fr |
---|---|
State | Accepted |
Headers | show |
Series | Add support for Pi5 | expand |
Gaël, All, On 2023-12-11 16:59 +0100, Gaël PORTAY spake thusly: > The BCM2712 of the RaspberryPi 5 supports for 16KB page size. > > This adds support for 16 KB on ARM64. > > Signed-off-by: Gaël PORTAY <gael.portay@rtone.fr> Applied to master, thanks. Regards, Yann E. MORIN. > --- > arch/Config.in.arm | 4 ++++ > arch/arch.mk | 2 +- > linux/linux.mk | 4 ++++ > 3 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/arch/Config.in.arm b/arch/Config.in.arm > index 78621e321c..b44a164e03 100644 > --- a/arch/Config.in.arm > +++ b/arch/Config.in.arm > @@ -781,6 +781,9 @@ choice > config BR2_ARM64_PAGE_SIZE_4K > bool "4KB" > > +config BR2_ARM64_PAGE_SIZE_16K > + bool "16KB" > + > config BR2_ARM64_PAGE_SIZE_64K > bool "64KB" > > @@ -789,6 +792,7 @@ endchoice > config BR2_ARM64_PAGE_SIZE > string > default "4K" if BR2_ARM64_PAGE_SIZE_4K > + default "16K" if BR2_ARM64_PAGE_SIZE_16K > default "64K" if BR2_ARM64_PAGE_SIZE_64K > > config BR2_ARCH > diff --git a/arch/arch.mk b/arch/arch.mk > index 2e737b92ac..4174d33df5 100644 > --- a/arch/arch.mk > +++ b/arch/arch.mk > @@ -23,7 +23,7 @@ ifeq ($(BR2_ARC_PAGE_SIZE_4K)$(BR2_ARM64_PAGE_SIZE_4K),y) > ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=4096 -Wl,-z,common-page-size=4096 > else ifeq ($(BR2_ARC_PAGE_SIZE_8K),y) > ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=8192 -Wl,-z,common-page-size=8192 > -else ifeq ($(BR2_ARC_PAGE_SIZE_16K),y) > +else ifeq ($(BR2_ARC_PAGE_SIZE_16K)$(BR2_ARM64_PAGE_SIZE_16K),y) > ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=16384 -Wl,-z,common-page-size=16384 > else ifeq ($(BR2_ARM64_PAGE_SIZE_64K),y) > ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=65536 -Wl,-z,common-page-size=65536 > diff --git a/linux/linux.mk b/linux/linux.mk > index 1db5c6046d..53e2ad6d48 100644 > --- a/linux/linux.mk > +++ b/linux/linux.mk > @@ -411,6 +411,10 @@ define LINUX_KCONFIG_FIXUP_CMDS > $(call KCONFIG_ENABLE_OPT,CONFIG_ARM64_4K_PAGES) > $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_16K_PAGES) > $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_64K_PAGES)) > + $(if $(BR2_ARM64_PAGE_SIZE_16K), > + $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_4K_PAGES) > + $(call KCONFIG_ENABLE_OPT,CONFIG_ARM64_16K_PAGES) > + $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_64K_PAGES)) > $(if $(BR2_ARM64_PAGE_SIZE_64K), > $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_4K_PAGES) > $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_16K_PAGES) > -- > 2.43.0 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
diff --git a/arch/Config.in.arm b/arch/Config.in.arm index 78621e321c..b44a164e03 100644 --- a/arch/Config.in.arm +++ b/arch/Config.in.arm @@ -781,6 +781,9 @@ choice config BR2_ARM64_PAGE_SIZE_4K bool "4KB" +config BR2_ARM64_PAGE_SIZE_16K + bool "16KB" + config BR2_ARM64_PAGE_SIZE_64K bool "64KB" @@ -789,6 +792,7 @@ endchoice config BR2_ARM64_PAGE_SIZE string default "4K" if BR2_ARM64_PAGE_SIZE_4K + default "16K" if BR2_ARM64_PAGE_SIZE_16K default "64K" if BR2_ARM64_PAGE_SIZE_64K config BR2_ARCH diff --git a/arch/arch.mk b/arch/arch.mk index 2e737b92ac..4174d33df5 100644 --- a/arch/arch.mk +++ b/arch/arch.mk @@ -23,7 +23,7 @@ ifeq ($(BR2_ARC_PAGE_SIZE_4K)$(BR2_ARM64_PAGE_SIZE_4K),y) ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=4096 -Wl,-z,common-page-size=4096 else ifeq ($(BR2_ARC_PAGE_SIZE_8K),y) ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=8192 -Wl,-z,common-page-size=8192 -else ifeq ($(BR2_ARC_PAGE_SIZE_16K),y) +else ifeq ($(BR2_ARC_PAGE_SIZE_16K)$(BR2_ARM64_PAGE_SIZE_16K),y) ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=16384 -Wl,-z,common-page-size=16384 else ifeq ($(BR2_ARM64_PAGE_SIZE_64K),y) ARCH_TOOLCHAIN_WRAPPER_OPTS += -Wl,-z,max-page-size=65536 -Wl,-z,common-page-size=65536 diff --git a/linux/linux.mk b/linux/linux.mk index 1db5c6046d..53e2ad6d48 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -411,6 +411,10 @@ define LINUX_KCONFIG_FIXUP_CMDS $(call KCONFIG_ENABLE_OPT,CONFIG_ARM64_4K_PAGES) $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_16K_PAGES) $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_64K_PAGES)) + $(if $(BR2_ARM64_PAGE_SIZE_16K), + $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_4K_PAGES) + $(call KCONFIG_ENABLE_OPT,CONFIG_ARM64_16K_PAGES) + $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_64K_PAGES)) $(if $(BR2_ARM64_PAGE_SIZE_64K), $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_4K_PAGES) $(call KCONFIG_DISABLE_OPT,CONFIG_ARM64_16K_PAGES)
The BCM2712 of the RaspberryPi 5 supports for 16KB page size. This adds support for 16 KB on ARM64. Signed-off-by: Gaël PORTAY <gael.portay@rtone.fr> --- arch/Config.in.arm | 4 ++++ arch/arch.mk | 2 +- linux/linux.mk | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-)