Message ID | 1399473888-12947-3-git-send-email-haojian.zhuang@linaro.org |
---|---|
State | Changes Requested |
Headers | show |
On Wed, May 07, 2014 at 10:44:36PM +0800, Haojian Zhuang wrote: > Since CONFIG_ARM_LPAE could be set in ARM V7, add new two configurations > CONFIG_ARCH_MULTI_V7_NONLPAE & CONFIG_ARCH_MULTI_V7_LPAE. > > If we want to enable CONFIG_ARM_LPAE configuration, we should enable > CONFIG_ARCH_MULTI_V7 & disable both CONFIG_ARCH_MULTI_V6 and > CONFIG_ARCH_MULTI_V7_NONLPAE. > > Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> I don't like this. Platforms should just depend on CONFIG_ARCH_MULTI_V7 && LPAE (or && !LPAE) instead. Platforms that _can_ boot without LPAE should not require it, even if they boot with less available memory. -Olof
On 8 May 2014 00:46, Olof Johansson <olof@lixom.net> wrote: > On Wed, May 07, 2014 at 10:44:36PM +0800, Haojian Zhuang wrote: >> Since CONFIG_ARM_LPAE could be set in ARM V7, add new two configurations >> CONFIG_ARCH_MULTI_V7_NONLPAE & CONFIG_ARCH_MULTI_V7_LPAE. >> >> If we want to enable CONFIG_ARM_LPAE configuration, we should enable >> CONFIG_ARCH_MULTI_V7 & disable both CONFIG_ARCH_MULTI_V6 and >> CONFIG_ARCH_MULTI_V7_NONLPAE. >> >> Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> > > I don't like this. Platforms should just depend on CONFIG_ARCH_MULTI_V7 && > LPAE (or && !LPAE) instead. > > Platforms that _can_ boot without LPAE should not require it, even if > they boot with less available memory. > > > -Olof Do you mean that I should remove CONFIG_ARCH_MULTI_V7_NONLPAE & CONFIG_ARCH_MULTI_V7_LPAE & multi_v7_lpae_defconfig? Regards Haojian
On Wed, May 7, 2014 at 3:33 PM, Haojian Zhuang <haojian.zhuang@linaro.org> wrote: > On 8 May 2014 00:46, Olof Johansson <olof@lixom.net> wrote: >> On Wed, May 07, 2014 at 10:44:36PM +0800, Haojian Zhuang wrote: >>> Since CONFIG_ARM_LPAE could be set in ARM V7, add new two configurations >>> CONFIG_ARCH_MULTI_V7_NONLPAE & CONFIG_ARCH_MULTI_V7_LPAE. >>> >>> If we want to enable CONFIG_ARM_LPAE configuration, we should enable >>> CONFIG_ARCH_MULTI_V7 & disable both CONFIG_ARCH_MULTI_V6 and >>> CONFIG_ARCH_MULTI_V7_NONLPAE. >>> >>> Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> >> >> I don't like this. Platforms should just depend on CONFIG_ARCH_MULTI_V7 && >> LPAE (or && !LPAE) instead. >> >> Platforms that _can_ boot without LPAE should not require it, even if >> they boot with less available memory. >> >> >> -Olof > > Do you mean that I should remove CONFIG_ARCH_MULTI_V7_NONLPAE & > CONFIG_ARCH_MULTI_V7_LPAE & multi_v7_lpae_defconfig? Yes. Once platforms have been flagged whether they support LPAE or not we can easily create a lpae-enabled defconfig that doesn't enable a bunch of extra platforms that it will never work on. -Olof
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index ab438cb..0e52a2c 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -918,12 +918,23 @@ config ARCH_MULTI_V6 select CPU_V6K config ARCH_MULTI_V7 - bool "ARMv7 based platforms (Cortex-A, PJ4, Scorpion, Krait)" + bool "ARMv7 based platforms" default y select ARCH_MULTI_V6_V7 select CPU_V7 select HAVE_SMP +config ARCH_MULTI_V7_NONLPAE + bool "ARMv7 non-LPAE based platforms (Cortex-A5/A8/A9, PJ4, PJ4B, Scorpion)" + depends on ARCH_MULTI_V7 + default y + +config ARCH_MULTI_V7_LPAE + bool "ARMv7 LPAE based platforms (Cortex-A7/A12/A15/A17, Brahma-B15, PJ4B-MP, Krait)" + depends on ARCH_MULTI_V7 + default y + select ARM_LPAE if !(ARCH_MULTI_V6 || ARCH_MULTI_V7_NONLPAE) + config ARCH_MULTI_V6_V7 bool select MIGHT_HAVE_CACHE_L2X0 diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index f5ad9ee..1c1576c 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig @@ -615,7 +615,7 @@ comment "Processor Features" config ARM_LPAE bool "Support for the Large Physical Address Extension" depends on MMU && CPU_32v7 && !CPU_32v6 && !CPU_32v5 && \ - !CPU_32v4 && !CPU_32v3 + !CPU_32v4 && !CPU_32v3 && !ARCH_MULTI_V7_NONLPAE help Say Y if you have an ARMv7 processor supporting the LPAE page table format and you would like to access memory beyond the
Since CONFIG_ARM_LPAE could be set in ARM V7, add new two configurations CONFIG_ARCH_MULTI_V7_NONLPAE & CONFIG_ARCH_MULTI_V7_LPAE. If we want to enable CONFIG_ARM_LPAE configuration, we should enable CONFIG_ARCH_MULTI_V7 & disable both CONFIG_ARCH_MULTI_V6 and CONFIG_ARCH_MULTI_V7_NONLPAE. Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org> --- arch/arm/Kconfig | 13 ++++++++++++- arch/arm/mm/Kconfig | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-)