* [PATCH v2] ARM: Kconfig: Do not force selection of ARCH_VEXPRESS by ARCH_MULTI_V7
@ 2012-11-20 17:18 Fabio Estevam
2012-12-07 10:07 ` Fabio Estevam
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Fabio Estevam @ 2012-11-20 17:18 UTC (permalink / raw)
To: linux-arm-kernel
From: Fabio Estevam <fabio.estevam@freescale.com>
When building a kernel using imx_v6_v7_defconfig, it is not possible to unselect
ARCH_VEXPRESS due to the fact that it is automatically selected by ARCH_MULTI_V7.
This is not good when someone wants to create a minimal kernel build, so let
multi_v7_defconfig select ARCH_VEXPRESS instead.
Also avoid build breakage when randconfig selects no platform.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
Changes since v1:
- Avoid build breakage on randconfig for the case that no platform is selected.
arch/arm/Kconfig | 2 +-
arch/arm/configs/multi_v7_defconfig | 1 +
arch/arm/kernel/vmlinux.lds.S | 2 ++
3 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 14f8160..372cb4e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -267,6 +267,7 @@ choice
config ARCH_MULTIPLATFORM
bool "Allow multiple platforms to be selected"
depends on MMU
+ select ARCH_WANT_OPTIONAL_GPIOLIB
select ARM_PATCH_PHYS_VIRT
select AUTO_ZRELADDR
select COMMON_CLK
@@ -1000,7 +1001,6 @@ config ARCH_MULTI_V7
bool "ARMv7 based platforms (Cortex-A, PJ4, Krait)"
default y
select ARCH_MULTI_V6_V7
- select ARCH_VEXPRESS
select CPU_V7
config ARCH_MULTI_V6_V7
diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index 159f75f..531c538 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -6,6 +6,7 @@ CONFIG_MACH_ARMADA_370=y
CONFIG_MACH_ARMADA_XP=y
CONFIG_ARCH_HIGHBANK=y
CONFIG_ARCH_SOCFPGA=y
+CONFIG_ARCH_VEXPRESS=y
# CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA is not set
CONFIG_ARM_ERRATA_754322=y
CONFIG_SMP=y
diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S
index b9f38e3..aa46be8 100644
--- a/arch/arm/kernel/vmlinux.lds.S
+++ b/arch/arm/kernel/vmlinux.lds.S
@@ -310,4 +310,6 @@ SECTIONS
* binutils is too old (for other reasons as well)
*/
ASSERT((__proc_info_end - __proc_info_begin), "missing CPU support")
+#ifndef CONFIG_ARCH_MULTIPLATFORM
ASSERT((__arch_info_end - __arch_info_begin), "no machine record defined")
+#endif
--
1.7.9.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2] ARM: Kconfig: Do not force selection of ARCH_VEXPRESS by ARCH_MULTI_V7
2012-11-20 17:18 [PATCH v2] ARM: Kconfig: Do not force selection of ARCH_VEXPRESS by ARCH_MULTI_V7 Fabio Estevam
@ 2012-12-07 10:07 ` Fabio Estevam
2012-12-07 13:25 ` Rob Herring
2012-12-07 14:48 ` Jonathan Austin
2013-01-02 22:59 ` Russell King - ARM Linux
2 siblings, 1 reply; 8+ messages in thread
From: Fabio Estevam @ 2012-12-07 10:07 UTC (permalink / raw)
To: linux-arm-kernel
Hi Rob,
On Tue, Nov 20, 2012 at 3:18 PM, Fabio Estevam <festevam@gmail.com> wrote:
> From: Fabio Estevam <fabio.estevam@freescale.com>
>
> When building a kernel using imx_v6_v7_defconfig, it is not possible to unselect
> ARCH_VEXPRESS due to the fact that it is automatically selected by ARCH_MULTI_V7.
>
> This is not good when someone wants to create a minimal kernel build, so let
> multi_v7_defconfig select ARCH_VEXPRESS instead.
>
> Also avoid build breakage when randconfig selects no platform.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> ---
> Changes since v1:
> - Avoid build breakage on randconfig for the case that no platform is selected.
Does this version look good?
Regards,
Fabio Estevam
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2] ARM: Kconfig: Do not force selection of ARCH_VEXPRESS by ARCH_MULTI_V7
2012-12-07 10:07 ` Fabio Estevam
@ 2012-12-07 13:25 ` Rob Herring
2013-01-02 22:03 ` Fabio Estevam
0 siblings, 1 reply; 8+ messages in thread
From: Rob Herring @ 2012-12-07 13:25 UTC (permalink / raw)
To: linux-arm-kernel
On 12/07/2012 04:07 AM, Fabio Estevam wrote:
> Hi Rob,
>
> On Tue, Nov 20, 2012 at 3:18 PM, Fabio Estevam <festevam@gmail.com> wrote:
>> From: Fabio Estevam <fabio.estevam@freescale.com>
>>
>> When building a kernel using imx_v6_v7_defconfig, it is not possible to unselect
>> ARCH_VEXPRESS due to the fact that it is automatically selected by ARCH_MULTI_V7.
>>
>> This is not good when someone wants to create a minimal kernel build, so let
>> multi_v7_defconfig select ARCH_VEXPRESS instead.
>>
>> Also avoid build breakage when randconfig selects no platform.
>>
>> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
>> ---
>> Changes since v1:
>> - Avoid build breakage on randconfig for the case that no platform is selected.
>
> Does this version look good?
Yes.
Acked-by: Rob Herring <rob.herring@calxeda.com>
>
> Regards,
>
> Fabio Estevam
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2] ARM: Kconfig: Do not force selection of ARCH_VEXPRESS by ARCH_MULTI_V7
2012-11-20 17:18 [PATCH v2] ARM: Kconfig: Do not force selection of ARCH_VEXPRESS by ARCH_MULTI_V7 Fabio Estevam
2012-12-07 10:07 ` Fabio Estevam
@ 2012-12-07 14:48 ` Jonathan Austin
2013-01-02 22:59 ` Russell King - ARM Linux
2 siblings, 0 replies; 8+ messages in thread
From: Jonathan Austin @ 2012-12-07 14:48 UTC (permalink / raw)
To: linux-arm-kernel
On 20/11/12 17:18, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam@freescale.com>
>
> When building a kernel using imx_v6_v7_defconfig, it is not possible to unselect
> ARCH_VEXPRESS due to the fact that it is automatically selected by ARCH_MULTI_V7.
>
> This is not good when someone wants to create a minimal kernel build, so let
> multi_v7_defconfig select ARCH_VEXPRESS instead.
This patch solves one aspect of a problem previously discussed for !MMU [1], but
we still have the dependency of ARCH_MULTI_V7 for ARCH_VEXPRESS. ARCH_MULTI_V7
doesn't make very much sense without an MMU because we need to hardcode things
like PHYS_OFFSET and the vectors.
Looking back though the log, I can't see quite why we need this dependency. With
Fabio's patch that selects ARCH_VEXPRESS in the defconfig, is it still required?
How do people feel about something like the patch below, to allow NOMMU things
to use Versatile Express without MULTI_V7?
Jonny
[1]http://lists.infradead.org/pipermail/linux-arm-kernel/2012-November/129976.html
-----8<-----------
diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig
index c952960..7d3fff4 100644
--- a/arch/arm/mach-vexpress/Kconfig
+++ b/arch/arm/mach-vexpress/Kconfig
@@ -1,5 +1,5 @@
config ARCH_VEXPRESS
- bool "ARM Ltd. Versatile Express family" if ARCH_MULTI_V7
+ bool "ARM Ltd. Versatile Express family" if (ARCH_MULTI_V7 || !MMU)
select ARCH_WANT_OPTIONAL_GPIOLIB
select ARM_AMBA
select ARM_GIC
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2] ARM: Kconfig: Do not force selection of ARCH_VEXPRESS by ARCH_MULTI_V7
2012-12-07 13:25 ` Rob Herring
@ 2013-01-02 22:03 ` Fabio Estevam
0 siblings, 0 replies; 8+ messages in thread
From: Fabio Estevam @ 2013-01-02 22:03 UTC (permalink / raw)
To: linux-arm-kernel
Russell,
On Fri, Dec 7, 2012 at 11:25 AM, Rob Herring <rob.herring@calxeda.com> wrote:
>> Does this version look good?
>
> Yes.
>
> Acked-by: Rob Herring <rob.herring@calxeda.com>
Should I submit this one to the patch system?
Regards,
Fabio Estevam
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2] ARM: Kconfig: Do not force selection of ARCH_VEXPRESS by ARCH_MULTI_V7
2012-11-20 17:18 [PATCH v2] ARM: Kconfig: Do not force selection of ARCH_VEXPRESS by ARCH_MULTI_V7 Fabio Estevam
2012-12-07 10:07 ` Fabio Estevam
2012-12-07 14:48 ` Jonathan Austin
@ 2013-01-02 22:59 ` Russell King - ARM Linux
2013-01-02 23:03 ` Fabio Estevam
2 siblings, 1 reply; 8+ messages in thread
From: Russell King - ARM Linux @ 2013-01-02 22:59 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Nov 20, 2012 at 03:18:38PM -0200, Fabio Estevam wrote:
> diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S
> index b9f38e3..aa46be8 100644
> --- a/arch/arm/kernel/vmlinux.lds.S
> +++ b/arch/arm/kernel/vmlinux.lds.S
> @@ -310,4 +310,6 @@ SECTIONS
> * binutils is too old (for other reasons as well)
> */
> ASSERT((__proc_info_end - __proc_info_begin), "missing CPU support")
> +#ifndef CONFIG_ARCH_MULTIPLATFORM
> ASSERT((__arch_info_end - __arch_info_begin), "no machine record defined")
> +#endif
This is wrong. So you want a kernel build which produces an unbootable
kernel (because it contains absolutely no platform support of any kind,
not even any DT platform support) to succeed?
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2] ARM: Kconfig: Do not force selection of ARCH_VEXPRESS by ARCH_MULTI_V7
2013-01-02 22:59 ` Russell King - ARM Linux
@ 2013-01-02 23:03 ` Fabio Estevam
2013-01-02 23:15 ` Russell King - ARM Linux
0 siblings, 1 reply; 8+ messages in thread
From: Fabio Estevam @ 2013-01-02 23:03 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Jan 2, 2013 at 8:59 PM, Russell King - ARM Linux
<linux@arm.linux.org.uk> wrote:
> On Tue, Nov 20, 2012 at 03:18:38PM -0200, Fabio Estevam wrote:
>> diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S
>> index b9f38e3..aa46be8 100644
>> --- a/arch/arm/kernel/vmlinux.lds.S
>> +++ b/arch/arm/kernel/vmlinux.lds.S
>> @@ -310,4 +310,6 @@ SECTIONS
>> * binutils is too old (for other reasons as well)
>> */
>> ASSERT((__proc_info_end - __proc_info_begin), "missing CPU support")
>> +#ifndef CONFIG_ARCH_MULTIPLATFORM
>> ASSERT((__arch_info_end - __arch_info_begin), "no machine record defined")
>> +#endif
>
> This is wrong. So you want a kernel build which produces an unbootable
> kernel (because it contains absolutely no platform support of any kind,
> not even any DT platform support) to succeed?
Ok, what about the first version?
https://patchwork.kernel.org/patch/1774521/
Regards,
Fabio Estevam
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2] ARM: Kconfig: Do not force selection of ARCH_VEXPRESS by ARCH_MULTI_V7
2013-01-02 23:03 ` Fabio Estevam
@ 2013-01-02 23:15 ` Russell King - ARM Linux
0 siblings, 0 replies; 8+ messages in thread
From: Russell King - ARM Linux @ 2013-01-02 23:15 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Jan 02, 2013 at 09:03:52PM -0200, Fabio Estevam wrote:
> On Wed, Jan 2, 2013 at 8:59 PM, Russell King - ARM Linux
> <linux@arm.linux.org.uk> wrote:
> > On Tue, Nov 20, 2012 at 03:18:38PM -0200, Fabio Estevam wrote:
> >> diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S
> >> index b9f38e3..aa46be8 100644
> >> --- a/arch/arm/kernel/vmlinux.lds.S
> >> +++ b/arch/arm/kernel/vmlinux.lds.S
> >> @@ -310,4 +310,6 @@ SECTIONS
> >> * binutils is too old (for other reasons as well)
> >> */
> >> ASSERT((__proc_info_end - __proc_info_begin), "missing CPU support")
> >> +#ifndef CONFIG_ARCH_MULTIPLATFORM
> >> ASSERT((__arch_info_end - __arch_info_begin), "no machine record defined")
> >> +#endif
> >
> > This is wrong. So you want a kernel build which produces an unbootable
> > kernel (because it contains absolutely no platform support of any kind,
> > not even any DT platform support) to succeed?
>
> Ok, what about the first version?
> https://patchwork.kernel.org/patch/1774521/
That seems to be better because it leaves the desire for an unbootable
kernel to be a build failure.
However, it allows the multi-platform case to end up with a configuration
where such a kernel can be generated, which is something Arnd wants to
avoid as it messes up allnoconfig and randconfig builds.
What we need to come up with is some kind of "default platform" which is
always built into the kernel. Will had some ideas about that for the
virtualization stuff, but I think there were objections to that over it
being modelled on Versatile Express. If that can be sorted, then we
have a solution to this problem.
We _should_ be aiming to get to that state anyway, where the kernel
doesn't need to know about platform X, Y or Z but just uses the
description in DT which tells it where devices A, B, and C are and how
they relate to the rest of the system.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-01-02 23:15 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-20 17:18 [PATCH v2] ARM: Kconfig: Do not force selection of ARCH_VEXPRESS by ARCH_MULTI_V7 Fabio Estevam
2012-12-07 10:07 ` Fabio Estevam
2012-12-07 13:25 ` Rob Herring
2013-01-02 22:03 ` Fabio Estevam
2012-12-07 14:48 ` Jonathan Austin
2013-01-02 22:59 ` Russell King - ARM Linux
2013-01-02 23:03 ` Fabio Estevam
2013-01-02 23:15 ` Russell King - ARM Linux
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).