
On 09/03/2014 11:26 AM, Gabriel Huau wrote:
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?
I don't mind to change the guard for asm/mp.h. But you shouldn't remove the guard for the function call. Not all powerpc SoCs support SMP. You could use
+#if defined(CONFIG_MP) && (defined(CONFIG_MPC86xx) || defined(CONFIG_E500)) +#include <asm/mp.h> +#endif
York