From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Andr=c3=a9_Przywara?= Date: Fri, 13 Jan 2017 08:20:35 +0000 Subject: [U-Boot] [PATCH 02/12] sunxi: simplify ACTLR.SMP bit set #ifdef In-Reply-To: <633881484282502@web28m.yandex.ru> References: <1484271004-19681-1-git-send-email-andre.przywara@arm.com> <1484271004-19681-3-git-send-email-andre.przywara@arm.com> <633881484282502@web28m.yandex.ru> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 13/01/17 04:41, Icenowy Zheng wrote: Hi, > 13.01.2017, 09:34, "Andre Przywara" : >> Instead of enumerating all SoC families that need that bit set, let's >> just express this more clearly: The SMP bits needs to be set on >> SMP capable ARMv7 CPUs. It's much easier to Kconfig to express it the >> other way round, so we use ! NO_SMP and ! ARM64. > > How about single-core Cortex-A7? Well, I had the V3s in mind already, so it should be as easy as adding: select SUNXI_NO_SMP to your MACH_SUN8I_V3S stanza in board/sunxi/Kconfig, actually saving you to alter the actual code #ifdefs. Or am I missing something? Cheers, Andre. >> >> Signed-off-by: Andre Przywara >> --- >> arch/arm/mach-sunxi/board.c | 5 +---- >> board/sunxi/Kconfig | 6 ++++++ >> 2 files changed, 7 insertions(+), 4 deletions(-) >> >> diff --git a/arch/arm/mach-sunxi/board.c b/arch/arm/mach-sunxi/board.c >> index 58fbacb..5a63124 100644 >> --- a/arch/arm/mach-sunxi/board.c >> +++ b/arch/arm/mach-sunxi/board.c >> @@ -180,10 +180,7 @@ void s_init(void) >> /* No H3 BSP, boot0 seems to not modify SUNXI_SRAMC_BASE + 0x44 */ >> #endif >> >> -#if defined CONFIG_MACH_SUN6I || \ >> - defined CONFIG_MACH_SUN7I || \ >> - defined CONFIG_MACH_SUN8I || \ >> - defined CONFIG_MACH_SUN9I >> +#if !defined(CONFIG_SUNXI_NO_SMP) && !defined(CONFIG_ARM64) >> /* Enable SMP mode for CPU0, by setting bit 6 of Auxiliary Ctl reg */ >> asm volatile( >> "mrc p15, 0, r0, c1, c0, 1\n" >> diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig >> index 37b4252..79b6fa7 100644 >> --- a/board/sunxi/Kconfig >> +++ b/board/sunxi/Kconfig >> @@ -27,6 +27,10 @@ config SPL_POWER_SUPPORT >> config SPL_SERIAL_SUPPORT >> default y >> >> +config SUNXI_NO_SMP >> + bool >> + default n >> + >> # Note only one of these may be selected at a time! But hidden choices are >> # not supported by Kconfig >> config SUNXI_GEN_SUN4I >> @@ -50,12 +54,14 @@ choice >> config MACH_SUN4I >> bool "sun4i (Allwinner A10)" >> select CPU_V7 >> + select SUNXI_NO_SMP >> select SUNXI_GEN_SUN4I >> select SUPPORT_SPL >> >> config MACH_SUN5I >> bool "sun5i (Allwinner A13)" >> select CPU_V7 >> + select SUNXI_NO_SMP >> select SUNXI_GEN_SUN4I >> select SUPPORT_SPL >> >> -- >> 2.8.2