[U-Boot] [PATCH 02/12] sunxi: simplify ACTLR.SMP bit set #ifdef

André Przywara andre.przywara at arm.com
Fri Jan 13 09:20:35 CET 2017


On 13/01/17 04:41, Icenowy Zheng wrote:

Hi,

> 13.01.2017, 09:34, "Andre Przywara" <andre.przywara at arm.com>:
>> 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 <andre.przywara at arm.com>
>> ---
>>  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



More information about the U-Boot mailing list