[U-Boot] [PATCH v6] mx6: add support of multi-processor command

Gabriel Huau
2014-09-03T18:26:50Z

Hi York,

On 09/03/2014 11:00 AM, York Sun wrote:
> On 07/28/2014 08:15 AM, Stefano Babic wrote:
>> Hi Gabriel,
>>
>> On 26/07/2014 20:35, Gabriel Huau wrote:
>>> This allows u-boot to load different OS or Bare Metal application on
>>> different cores of the i.MX6 SoC.
>>> For example: running Android on cpu0 and a RT OS like QNX/FreeRTOS on cpu1.
>>>
>>> Signed-off-by: Gabriel Huau <contact@huau-gabriel.fr>
>>> ---
>>> Changes for v2:
>>> - Add a commit log message to explain the purpose of this patch
>>> Changes for v3:
>>> - Remove unnecessary check for unsigned values when they are negative
>>> Changes for v4:
>>> - Add CONFIG_MP to the common mx6 configuration
>>> - Get the number of CPUs dynamically instead of using a macro
>>> Changes for v5:
>>> - Rebase on the last update of the tree (conflicts solved)
>>> Changes for v6:
>>> - Remove useless switch case
>>> - Update board_f to not depend on mp.h unnecessary
>>> - Fix build warnings
>>> - Update commit message
>>>
> <snip>
>
>>> --- a/common/board_f.c
>>> +++ b/common/board_f.c
>>> @@ -34,6 +34,9 @@
>>> #ifdef CONFIG_MPC5xxx
>>> #include <mpc5xxx.h>
>>> #endif
>>> +#if (defined(CONFIG_MPC86xx) || defined(CONFIG_E500))
>>> +#include <asm/mp.h>
>>> +#endif
>>>
>>> #include <os.h>
>>> #include <post.h>
>>> @@ -43,9 +46,6 @@
>>> #include <watchdog.h>
>>> #include <asm/errno.h>
>>> #include <asm/io.h>
>>> -#ifdef CONFIG_MP
>>> -#include <asm/mp.h>
>>> -#endif
>>> #include <asm/sections.h>
>>> #ifdef CONFIG_X86
>>> #include <asm/init_helpers.h>
>>> @@ -381,7 +381,7 @@ static int setup_dest_addr(void)
>>> gd->ram_top = board_get_usable_ram_top(gd->mon_len);
>>> gd->relocaddr = gd->ram_top;
>>> debug("Ram top: %08lX\n", (ulong)gd->ram_top);
>>> -#if defined(CONFIG_MP) && (defined(CONFIG_MPC86xx) || defined(CONFIG_E500))
>>> +#if (defined(CONFIG_MPC86xx) || defined(CONFIG_E500))
> I didn't notice this patch until it got merged. Why dropping CONFIG_MP here?
> This change breaks these boards
>
> MPC8536DS MPC8536DS_36BIT MPC8536DS_SDCARD MPC8536DS_SPIFLASH qemu-ppce500
>
> York

Sorry, I didn't see the break for these boards.
'asm/mp.h' is used only for the powerpc board and using CONFIG_MP force
the other architecture (or board) to create an empty header.
As this header was here to use only specific features (not generic), I
removed it and put the include guards only for the boards needed.

Can't we add these boards to the board_f.c?

Regards,
Gabriel