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

login
register
mail settings
Submitter Aneesh V
Date Sept. 16, 2011, 4:13 p.m.
Message ID <4E7375C0.2020403@ti.com>
Download mbox | patch
Permalink /patch/114976/
State Not Applicable
Headers show

Comments

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
>  	 */
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

--- 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)