Message ID | 20220818145616.3156379-5-arnd@kernel.org |
---|---|
State | New |
Headers | show |
Series | ARM: clean up after multiplatform changes | expand |
On Thu, Aug 18, 2022 at 4:56 PM Arnd Bergmann <arnd@kernel.org> wrote: > From: Arnd Bergmann <arnd@arndb.de> > > CONFIG_XIP_KERNEL must not be combined with CONFIG_SMP_ON_UP > because the patching of read-only data does not work. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> The $SUBJECT of this patch is mildly confusing, as the affected targets are maybe CPU_V6 but the change is related to XIP and SMP_ON_UP. Other than that it looks good. Yours, Linus Walleij
On Thu, Aug 25, 2022 at 3:43 PM Linus Walleij <linus.walleij@linaro.org> wrote: > > On Thu, Aug 18, 2022 at 4:56 PM Arnd Bergmann <arnd@kernel.org> wrote: > > > From: Arnd Bergmann <arnd@arndb.de> > > > > CONFIG_XIP_KERNEL must not be combined with CONFIG_SMP_ON_UP > > because the patching of read-only data does not work. > > > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> > > The $SUBJECT of this patch is mildly confusing, as the affected > targets are maybe CPU_V6 but the change is related to XIP and > SMP_ON_UP. > > Other than that it looks good. The patch caused a regression, so I ended up completely replacing it, new patch follows. Arnd
Hi Arnd, On Tue, Aug 30, 2022 at 9:21 AM Arnd Bergmann <arnd@arndb.de> wrote: > CONFIG_XIP_KERNEL does not work with any option that involves patching > the read-only kernel .text. > > Since at least CONFIG_SMP_ON_UP is required in certain configurations, > flip the dependency to always allow the .text patching options but make > XIP_KERNEL have the dependency instead. > > This is a prerequisite for allowing CONFIG_ARCH_MULTIPLATFORM to > be disabled. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> Thanks for your patch! > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -1619,6 +1619,7 @@ endchoice > config XIP_KERNEL > bool "Kernel Execute-In-Place from ROM" > depends on !ARM_LPAE && !ARCH_MULTIPLATFORM > + depends on !SMP_ON_UP && !ARM_PATCH_IDIV && !ARM_PATCH_PHYS_VIRT You may want to keep the list sorted. > help > Execute-In-Place allows the kernel to run from non-volatile storage > directly addressable by the CPU, such as NOR flash. This saves RAM Regardless, LGTM, so Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
On Tue, Aug 30, 2022, at 9:41 AM, Geert Uytterhoeven wrote: >> --- a/arch/arm/Kconfig >> +++ b/arch/arm/Kconfig >> @@ -1619,6 +1619,7 @@ endchoice >> config XIP_KERNEL >> bool "Kernel Execute-In-Place from ROM" >> depends on !ARM_LPAE && !ARCH_MULTIPLATFORM >> + depends on !SMP_ON_UP && !ARM_PATCH_IDIV && !ARM_PATCH_PHYS_VIRT > > You may want to keep the list sorted. Done > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Thanks, Arnd
On Tue, Aug 30, 2022 at 9:21 AM Arnd Bergmann <arnd@arndb.de> wrote: > CONFIG_XIP_KERNEL does not work with any option that involves patching > the read-only kernel .text. > > Since at least CONFIG_SMP_ON_UP is required in certain configurations, > flip the dependency to always allow the .text patching options but make > XIP_KERNEL have the dependency instead. > > This is a prerequisite for allowing CONFIG_ARCH_MULTIPLATFORM to > be disabled. > > Signed-off-by: Arnd Bergmann <arnd@arndb.de> OK this should work! Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index ab767f059929..9308e9894be5 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig @@ -41,6 +41,7 @@ comment "ARM1136 platforms" config SOC_IMX31 bool "i.MX31 support" + depends on !SMP || !XIP_KERNEL # for SMP_ON_UP select CPU_V6 select MXC_AVIC help diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 3b53dda9ec79..f2ce262958c4 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig @@ -8,6 +8,7 @@ config OMAP_HWMOD config ARCH_OMAP2 bool "TI OMAP2" depends on ARCH_MULTI_V6 + depends on !SMP || !XIP_KERNEL # for SMP_ON_UP select ARCH_OMAP2PLUS select CPU_V6 select OMAP_HWMOD diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig index 2ef226194c3a..25723b0c63dd 100644 --- a/arch/arm/mach-versatile/Kconfig +++ b/arch/arm/mach-versatile/Kconfig @@ -21,6 +21,7 @@ menuconfig ARCH_INTEGRATOR bool "ARM Ltd. Integrator family" depends on ARCH_MULTI_V4T || ARCH_MULTI_V5 || ARCH_MULTI_V6 depends on CPU_LITTLE_ENDIAN || ARCH_MULTI_V6 + depends on !SMP || !XIP_KERNEL # for SMP_ON_UP select ARM_AMBA select CMA select DMA_CMA @@ -146,6 +147,7 @@ endif menuconfig ARCH_REALVIEW bool "ARM Ltd. RealView family" depends on (CPU_LITTLE_ENDIAN && ARCH_MULTI_V5) || ARCH_MULTI_V6 || ARCH_MULTI_V7 + depends on !SMP || !XIP_KERNEL # for SMP_ON_UP select ARM_AMBA select ARM_GIC select ARM_TIMER_SP804