Skip to contentSkip to conversation

armv7: only call save_boot_params for OMAP

PATCH New Simon Schwarz 2 participants 4 messages Sep 16, 2011 – Sep 20, 2011 Arm (32-bit)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 armv7: only call save_boot_params for OMAP

save_boot_params in start.S got called for all armv7 based cpus. Since the function relys on the OMAP specific bootloader this broke some boards (or to be specific added more errors to already broken ones). This patch wraps the call in #ifdef CONFIG_OMAP.

---
 arch/arm/cpu/armv7/start.S |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
arch/arm/cpu/armv7/start.S +2 -0
index db8e9d2..7cb380c 100644
@@ -134,7 +134,9 @@ IRQ_STACK_START_IN:
  */
 
 reset:
+#ifdef CONFIG_OMAP
 	bl	save_boot_params
+#endif
 	/*
 	 * set the cpu to SVC32 mode
 	 */
Signature · 1 line
1.7.4.1
#1 lore raw

PATCH 1/1 armv7: only call save_boot_params for OMAP

Hi Simon,

Quoted 4 lines · Simon Schwarz

save_boot_params in start.S got called for all armv7 based cpus. Since the function relys on the OMAP specific bootloader this broke some boards (or to be specific added more errors to already broken ones). This patch wraps the call in #ifdef CONFIG_OMAP.

There is a weakly linked default function implemented in armv7/cpu.c. So, there should not be any build break for u-boot builds.

However armv7/cpu.c is not included in an SPL build, so may cause trouble for SPL build of non-OMAP boards. The solution for this problem is the following:

arch/arm/cpu/armv7/Makefile +1 -1
@@ -29,9 +29,9 @@ START := start.o
 
 ifndef CONFIG_SPL_BUILD
 COBJS  += cache_v7.o
-COBJS  += cpu.o
 endif
 
+COBJS  += cpu.o
 COBJS  += syslib.o
 
 SRCS   := $(START:.o=.S) $(COBJS:.o=.c)

Let me know if I am missing something.

best regards,
Aneesh

Quoted 20 lines
---
 arch/arm/cpu/armv7/start.S |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
arch/arm/cpu/armv7/start.S +2 -0
index db8e9d2..7cb380c 100644
@@ -134,7 +134,9 @@ IRQ_STACK_START_IN:
  */
 
 reset:
+#ifdef CONFIG_OMAP
 	bl	save_boot_params
+#endif
 	/*
 	 * set the cpu to SVC32 mode
 	 */
#2 lore raw

PATCH 1/1 armv7: only call save_boot_params for OMAP

Hi Aneesh,

I did this Patch because of an error with an SPL build of smdkv310.

This board doesn't even build with the normal configuration but the SPL patches add more errors (I did some BUILDALL testing).

So the question: Should we care for an already broken board or just leave the matter to the poor guy who will, in some distant future, fix the other problems of this board?

Regards
Simon

Quoted 55 lines · Aneesh V

Hi Simon,

Quoted 4 lines · Simon Schwarz

save_boot_params in start.S got called for all armv7 based cpus. Since the function relys on the OMAP specific bootloader this broke some boards (or to be specific added more errors to already broken ones). This patch wraps the call in #ifdef CONFIG_OMAP.

There is a weakly linked default function implemented in armv7/cpu.c. So, there should not be any build break for u-boot builds.

However armv7/cpu.c is not included in an SPL build, so may cause trouble for SPL build of non-OMAP boards. The solution for this problem is the following:

arch/arm/cpu/armv7/Makefile +1 -1
@@ -29,9 +29,9 @@ START := start.o
 
  ifndef CONFIG_SPL_BUILD
  COBJS  += cache_v7.o
-COBJS  += cpu.o
  endif
 
+COBJS  += cpu.o
  COBJS  += syslib.o
 
  SRCS   := $(START:.o=.S) $(COBJS:.o=.c)

Let me know if I am missing something.

best regards,
Aneesh

Quoted 20 lines
---
  arch/arm/cpu/armv7/start.S |    2 ++
  1 files changed, 2 insertions(+), 0 deletions(-)
arch/arm/cpu/armv7/start.S +2 -0
index db8e9d2..7cb380c 100644
@@ -134,7 +134,9 @@ IRQ_STACK_START_IN:
   */
 
  reset:
+#ifdef CONFIG_OMAP
  	bl	save_boot_params
+#endif
  	/*
  	 * set the cpu to SVC32 mode
  	 */
#3 lore raw

PATCH 1/1 armv7: only call save_boot_params for OMAP

Hi Simon,

Quoted 11 lines · Simon Schwarz

Hi Aneesh,

I did this Patch because of an error with an SPL build of smdkv310.

This board doesn't even build with the normal configuration but the SPL patches add more errors (I did some BUILDALL testing).

So the question: Should we care for an already broken board or just leave the matter to the poor guy who will, in some distant future, fix the other problems of this board?

I think we need to fix this issue anyway. There may be new SPLs that do not care about saving boot parameters. I can fix this in my next series.

regards,
Aneesh

Quoted 62 lines

Regards
Simon

Quoted 56 lines · Aneesh V

Hi Simon,

Quoted 5 lines · Simon Schwarz

save_boot_params in start.S got called for all armv7 based cpus. Since the
function relys on the OMAP specific bootloader this broke some boards (or to be specific added more errors to already broken ones). This patch wraps the call in #ifdef CONFIG_OMAP.

There is a weakly linked default function implemented in armv7/cpu.c. So, there should not be any build break for u-boot builds.

However armv7/cpu.c is not included in an SPL build, so may cause trouble for SPL build of non-OMAP boards. The solution for this problem is the following:

arch/arm/cpu/armv7/Makefile +1 -1
@@ -29,9 +29,9 @@ START := start.o
 
  ifndef CONFIG_SPL_BUILD
  COBJS  += cache_v7.o
-COBJS  += cpu.o
  endif
 
+COBJS  += cpu.o
  COBJS  += syslib.o
 
  SRCS   := $(START:.o=.S) $(COBJS:.o=.c)

Let me know if I am missing something.

best regards,
Aneesh

Quoted 20 lines
---
  arch/arm/cpu/armv7/start.S |    2 ++
  1 files changed, 2 insertions(+), 0 deletions(-)
arch/arm/cpu/armv7/start.S +2 -0
index db8e9d2..7cb380c 100644
@@ -134,7 +134,9 @@ IRQ_STACK_START_IN:
   */
 
  reset:
+#ifdef CONFIG_OMAP
      bl    save_boot_params
+#endif
      /*
       * set the cpu to SVC32 mode
       */