All of lore.kernel.org
 help / color / mirror / Atom feed
From: Florian Fainelli <f.fainelli@gmail.com>
To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
	Russell King <linux@armlinux.org.uk>
Cc: phil@raspberrypi.org, wahrenst@gmx.net,
	linux-rpi-kernel@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC] ARM: add multi_v7_lpae_defconfig
Date: Fri, 10 Jan 2020 09:56:50 -0800	[thread overview]
Message-ID: <28c80303-1476-a9ce-32f5-15e0148167b7@gmail.com> (raw)
In-Reply-To: <20200110173425.21895-1-nsaenzjulienne@suse.de>

On 1/10/20 9:34 AM, Nicolas Saenz Julienne wrote:
> The only missing configuration option preventing us from using
> multi_v7_defconfig with the RPi4 is ARM_LPAE. It's needed as the PCIe
> controller found on the SoC depends on 64bit addressing, yet can't be
> included as not all v7 boards support LPAE.

You might still be able to map the PCIe space above 4GB by using a super
section though I am not sure how easy that would be to do with
__map_init_section for instance and for the 4GB Pi4, we would not be
able to address the entire DRAM space anyway.

Besides, having a LPAE variant of the multi_v7_defconfig has a lot of
value given that there are a few ARMv7 platforms that support LPAE.

> 
> Introduce multi_v7_lpae_defconfig, built off multi_v7_defconfig, which will
> avoid us having to duplicate and maintain multiple similar configurations.
> 
> Note that merge_into_defconfig was taken from arch/powerpc/Makefile.

Would it make sense to move that make macro to scripts and keep just the
multi_v7_lape_defconfig make target under arch/arm/Makefile?

> 
> Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
> ---
>  arch/arm/Makefile            | 14 ++++++++++++++
>  arch/arm/configs/lpae.config |  1 +
>  2 files changed, 15 insertions(+)
>  create mode 100644 arch/arm/configs/lpae.config
> 
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index db857d07114f..3d157777a465 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -356,6 +356,20 @@ archclean:
>  # My testing targets (bypasses dependencies)
>  bp:;	$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/bootpImage
>  
> +# Used to create 'merged defconfigs'
> +# To use it $(call) it with the first argument as the base defconfig
> +# and the second argument as a space separated list of .config files to merge,
> +# without the .config suffix.
> +define merge_into_defconfig
> +	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \
> +		-m -O $(objtree) $(srctree)/arch/$(ARCH)/configs/$(1) \
> +		$(foreach config,$(2),$(srctree)/arch/$(ARCH)/configs/$(config).config)
> +	+$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
> +endef
> +
> +PHONY += multi_v7_lpae_defconfig
> +multi_v7_lpae_defconfig:
> +	$(call merge_into_defconfig,multi_v7_defconfig,lpae)
>  
>  define archhelp
>    echo  '* zImage        - Compressed kernel image (arch/$(ARCH)/boot/zImage)'
> diff --git a/arch/arm/configs/lpae.config b/arch/arm/configs/lpae.config
> new file mode 100644
> index 000000000000..19bab134e014
> --- /dev/null
> +++ b/arch/arm/configs/lpae.config
> @@ -0,0 +1 @@
> +CONFIG_ARM_LPAE=y
> 


-- 
Florian

WARNING: multiple messages have this Message-ID (diff)
From: Florian Fainelli <f.fainelli@gmail.com>
To: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
	Russell King <linux@armlinux.org.uk>
Cc: linux-kernel@vger.kernel.org, phil@raspberrypi.org,
	wahrenst@gmx.net, linux-arm-kernel@lists.infradead.org,
	linux-rpi-kernel@lists.infradead.org
Subject: Re: [RFC] ARM: add multi_v7_lpae_defconfig
Date: Fri, 10 Jan 2020 09:56:50 -0800	[thread overview]
Message-ID: <28c80303-1476-a9ce-32f5-15e0148167b7@gmail.com> (raw)
In-Reply-To: <20200110173425.21895-1-nsaenzjulienne@suse.de>

On 1/10/20 9:34 AM, Nicolas Saenz Julienne wrote:
> The only missing configuration option preventing us from using
> multi_v7_defconfig with the RPi4 is ARM_LPAE. It's needed as the PCIe
> controller found on the SoC depends on 64bit addressing, yet can't be
> included as not all v7 boards support LPAE.

You might still be able to map the PCIe space above 4GB by using a super
section though I am not sure how easy that would be to do with
__map_init_section for instance and for the 4GB Pi4, we would not be
able to address the entire DRAM space anyway.

Besides, having a LPAE variant of the multi_v7_defconfig has a lot of
value given that there are a few ARMv7 platforms that support LPAE.

> 
> Introduce multi_v7_lpae_defconfig, built off multi_v7_defconfig, which will
> avoid us having to duplicate and maintain multiple similar configurations.
> 
> Note that merge_into_defconfig was taken from arch/powerpc/Makefile.

Would it make sense to move that make macro to scripts and keep just the
multi_v7_lape_defconfig make target under arch/arm/Makefile?

> 
> Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
> ---
>  arch/arm/Makefile            | 14 ++++++++++++++
>  arch/arm/configs/lpae.config |  1 +
>  2 files changed, 15 insertions(+)
>  create mode 100644 arch/arm/configs/lpae.config
> 
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index db857d07114f..3d157777a465 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -356,6 +356,20 @@ archclean:
>  # My testing targets (bypasses dependencies)
>  bp:;	$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/bootpImage
>  
> +# Used to create 'merged defconfigs'
> +# To use it $(call) it with the first argument as the base defconfig
> +# and the second argument as a space separated list of .config files to merge,
> +# without the .config suffix.
> +define merge_into_defconfig
> +	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \
> +		-m -O $(objtree) $(srctree)/arch/$(ARCH)/configs/$(1) \
> +		$(foreach config,$(2),$(srctree)/arch/$(ARCH)/configs/$(config).config)
> +	+$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
> +endef
> +
> +PHONY += multi_v7_lpae_defconfig
> +multi_v7_lpae_defconfig:
> +	$(call merge_into_defconfig,multi_v7_defconfig,lpae)
>  
>  define archhelp
>    echo  '* zImage        - Compressed kernel image (arch/$(ARCH)/boot/zImage)'
> diff --git a/arch/arm/configs/lpae.config b/arch/arm/configs/lpae.config
> new file mode 100644
> index 000000000000..19bab134e014
> --- /dev/null
> +++ b/arch/arm/configs/lpae.config
> @@ -0,0 +1 @@
> +CONFIG_ARM_LPAE=y
> 


-- 
Florian

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-01-10 17:56 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-10 17:34 [RFC] ARM: add multi_v7_lpae_defconfig Nicolas Saenz Julienne
2020-01-10 17:34 ` Nicolas Saenz Julienne
2020-01-10 17:56 ` Florian Fainelli [this message]
2020-01-10 17:56   ` Florian Fainelli
2020-02-12 20:19 ` Arnd Bergmann
2020-02-12 20:19   ` Arnd Bergmann
2020-02-12 20:27   ` Florian Fainelli
2020-02-12 20:27     ` Florian Fainelli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=28c80303-1476-a9ce-32f5-15e0148167b7@gmail.com \
    --to=f.fainelli@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rpi-kernel@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=nsaenzjulienne@suse.de \
    --cc=phil@raspberrypi.org \
    --cc=wahrenst@gmx.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.