[U-Boot] armv7: only call save_boot_params for OMAP

Submitted by Aneesh V on Sept. 16, 2011, 4:13 p.m.

Details

Message ID 4E7375C0.2020403@ti.com
State Not Applicable
Headers show

Commit Message

Aneesh V Sept. 16, 2011, 4:13 p.m.
Hi Simon,

On Friday 16 September 2011 09:02 PM, Simon Schwarz wrote:
> 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:


Let me know if I am missing something.

best regards,
Aneesh


> 
> Signed-off-by: Simon Schwarz <simonschwarzcor@gmail.com>
> ---
>  arch/arm/cpu/armv7/start.S |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S
> index db8e9d2..7cb380c 100644
> --- a/arch/arm/cpu/armv7/start.S
> +++ b/arch/arm/cpu/armv7/start.S
> @@ -134,7 +134,9 @@ IRQ_STACK_START_IN:
>   */
>  
>  reset:
> +#ifdef CONFIG_OMAP
>  	bl	save_boot_params
> +#endif
>  	/*
>  	 * set the cpu to SVC32 mode
>  	 */

Comments

Simon Schwarz Sept. 19, 2011, 8:02 a.m.
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


On 09/16/2011 06:13 PM, Aneesh V wrote:
> Hi Simon,
>
> On Friday 16 September 2011 09:02 PM, Simon Schwarz wrote:
>> 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:
>
> --- a/arch/arm/cpu/armv7/Makefile
> +++ b/arch/arm/cpu/armv7/Makefile
> @@ -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
>
>
>>
>> Signed-off-by: Simon Schwarz<simonschwarzcor@gmail.com>
>> ---
>>   arch/arm/cpu/armv7/start.S |    2 ++
>>   1 files changed, 2 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S
>> index db8e9d2..7cb380c 100644
>> --- a/arch/arm/cpu/armv7/start.S
>> +++ b/arch/arm/cpu/armv7/start.S
>> @@ -134,7 +134,9 @@ IRQ_STACK_START_IN:
>>    */
>>
>>   reset:
>> +#ifdef CONFIG_OMAP
>>   	bl	save_boot_params
>> +#endif
>>   	/*
>>   	 * set the cpu to SVC32 mode
>>   	 */
Aneesh V Sept. 20, 2011, 6:22 a.m.
Hi Simon,

On Monday 19 September 2011 01:32 PM, Simon Schwarz wrote:
> 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


> Regards
> Simon
> 
> 
> On 09/16/2011 06:13 PM, Aneesh V wrote:
>> Hi Simon,
>>
>> On Friday 16 September 2011 09:02 PM, Simon Schwarz wrote:
>>> 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:
>>
>> --- a/arch/arm/cpu/armv7/Makefile
>> +++ b/arch/arm/cpu/armv7/Makefile
>> @@ -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
>>
>>
>>>
>>> Signed-off-by: Simon Schwarz<simonschwarzcor@gmail.com>
>>> ---
>>>   arch/arm/cpu/armv7/start.S |    2 ++
>>>   1 files changed, 2 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S
>>> index db8e9d2..7cb380c 100644
>>> --- a/arch/arm/cpu/armv7/start.S
>>> +++ b/arch/arm/cpu/armv7/start.S
>>> @@ -134,7 +134,9 @@ IRQ_STACK_START_IN:
>>>    */
>>>
>>>   reset:
>>> +#ifdef CONFIG_OMAP
>>>       bl    save_boot_params
>>> +#endif
>>>       /*
>>>        * set the cpu to SVC32 mode
>>>        */
>

Patch hide | download patch | download mbox

--- a/arch/arm/cpu/armv7/Makefile
+++ b/arch/arm/cpu/armv7/Makefile
@@ -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)