diff mbox

[U-Boot] ARMv8 targets are broken on 2015.04-rc3

Message ID 54F8AA54.8070508@freescale.com
State RFC
Headers show

Commit Message

York Sun March 5, 2015, 7:11 p.m. UTC
Guys,

I found these targets are broken on tag 2015.04-rc3

ls2085a_emu_D4
vexpress_aemv8a
vexpress_aemv8a_juno
ls2085a_emu
vexpress_aemv8a_semi
xilinx_zynqmp
ls2085a_simu

git bisect points to this commit a389531439a7d5cea2829054edcf438dc76e79a9.
However it is really caused by this one

commit e771a3d538a4fbe235864061ff3c81a8acb11082
Author:     Marc Zyngier <marc.zyngier@arm.com>
AuthorDate: Sat Jul 12 14:24:07 2014 +0100
Commit:     Albert ARIBAUD <albert.u.boot@aribaud.net>
CommitDate: Mon Jul 28 17:19:52 2014 +0200

    ARM: HYP/non-sec/PSCI: emit DT nodes

    Generate the PSCI node in the device tree.

    Also add a reserve section for the "secure" code that lives in
    in normal RAM, so that the kernel knows it'd better not trip on
    it.

    Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
    Acked-by: Ian Campbell <ijc@hellion.org.uk>

This commit add armv7.h to bootm-fdt.c file.

Comments

Tom Rini March 5, 2015, 11:26 p.m. UTC | #1
On Thu, Mar 05, 2015 at 11:11:16AM -0800, York Sun wrote:
> Guys,
> 
> I found these targets are broken on tag 2015.04-rc3
> 
> ls2085a_emu_D4
> vexpress_aemv8a
> vexpress_aemv8a_juno
> ls2085a_emu
> vexpress_aemv8a_semi
> xilinx_zynqmp
> ls2085a_simu
> 
> git bisect points to this commit a389531439a7d5cea2829054edcf438dc76e79a9.
> However it is really caused by this one
> 
> commit e771a3d538a4fbe235864061ff3c81a8acb11082
> Author:     Marc Zyngier <marc.zyngier@arm.com>
> AuthorDate: Sat Jul 12 14:24:07 2014 +0100
> Commit:     Albert ARIBAUD <albert.u.boot@aribaud.net>
> CommitDate: Mon Jul 28 17:19:52 2014 +0200
> 
>     ARM: HYP/non-sec/PSCI: emit DT nodes
> 
>     Generate the PSCI node in the device tree.
> 
>     Also add a reserve section for the "secure" code that lives in
>     in normal RAM, so that the kernel knows it'd better not trip on
>     it.
> 
>     Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
>     Acked-by: Ian Campbell <ijc@hellion.org.uk>
> 
> This commit add armv7.h to bootm-fdt.c file.
> 
> --- a/arch/arm/lib/bootm-fdt.c
> +++ b/arch/arm/lib/bootm-fdt.c
> @@ -17,13 +17,14 @@
> 
>  #include <common.h>
>  #include <fdt_support.h>
> +#include <asm/armv7.h>
> 
> Shouldn't this line be architecture dependent?

Looking at the whole commit, how is this breaking things?
York Sun March 5, 2015, 11:27 p.m. UTC | #2
On 03/05/2015 03:26 PM, Tom Rini wrote:
> On Thu, Mar 05, 2015 at 11:11:16AM -0800, York Sun wrote:
>> Guys,
>>
>> I found these targets are broken on tag 2015.04-rc3
>>
>> ls2085a_emu_D4
>> vexpress_aemv8a
>> vexpress_aemv8a_juno
>> ls2085a_emu
>> vexpress_aemv8a_semi
>> xilinx_zynqmp
>> ls2085a_simu
>>
>> git bisect points to this commit a389531439a7d5cea2829054edcf438dc76e79a9.
>> However it is really caused by this one
>>
>> commit e771a3d538a4fbe235864061ff3c81a8acb11082
>> Author:     Marc Zyngier <marc.zyngier@arm.com>
>> AuthorDate: Sat Jul 12 14:24:07 2014 +0100
>> Commit:     Albert ARIBAUD <albert.u.boot@aribaud.net>
>> CommitDate: Mon Jul 28 17:19:52 2014 +0200
>>
>>     ARM: HYP/non-sec/PSCI: emit DT nodes
>>
>>     Generate the PSCI node in the device tree.
>>
>>     Also add a reserve section for the "secure" code that lives in
>>     in normal RAM, so that the kernel knows it'd better not trip on
>>     it.
>>
>>     Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
>>     Acked-by: Ian Campbell <ijc@hellion.org.uk>
>>
>> This commit add armv7.h to bootm-fdt.c file.
>>
>> --- a/arch/arm/lib/bootm-fdt.c
>> +++ b/arch/arm/lib/bootm-fdt.c
>> @@ -17,13 +17,14 @@
>>
>>  #include <common.h>
>>  #include <fdt_support.h>
>> +#include <asm/armv7.h>
>>
>> Shouldn't this line be architecture dependent?
> 
> Looking at the whole commit, how is this breaking things?
> 

Shall this include armv7.h regardless which architecture is compiled? This
didn't cause any problem until a recent commit a389531 changes armv7.h.

York
Tom Rini March 5, 2015, 11:33 p.m. UTC | #3
On Thu, Mar 05, 2015 at 03:27:59PM -0800, York Sun wrote:
> 
> 
> On 03/05/2015 03:26 PM, Tom Rini wrote:
> > On Thu, Mar 05, 2015 at 11:11:16AM -0800, York Sun wrote:
> >> Guys,
> >>
> >> I found these targets are broken on tag 2015.04-rc3
> >>
> >> ls2085a_emu_D4
> >> vexpress_aemv8a
> >> vexpress_aemv8a_juno
> >> ls2085a_emu
> >> vexpress_aemv8a_semi
> >> xilinx_zynqmp
> >> ls2085a_simu
> >>
> >> git bisect points to this commit a389531439a7d5cea2829054edcf438dc76e79a9.
> >> However it is really caused by this one
> >>
> >> commit e771a3d538a4fbe235864061ff3c81a8acb11082
> >> Author:     Marc Zyngier <marc.zyngier@arm.com>
> >> AuthorDate: Sat Jul 12 14:24:07 2014 +0100
> >> Commit:     Albert ARIBAUD <albert.u.boot@aribaud.net>
> >> CommitDate: Mon Jul 28 17:19:52 2014 +0200
> >>
> >>     ARM: HYP/non-sec/PSCI: emit DT nodes
> >>
> >>     Generate the PSCI node in the device tree.
> >>
> >>     Also add a reserve section for the "secure" code that lives in
> >>     in normal RAM, so that the kernel knows it'd better not trip on
> >>     it.
> >>
> >>     Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> >>     Acked-by: Ian Campbell <ijc@hellion.org.uk>
> >>
> >> This commit add armv7.h to bootm-fdt.c file.
> >>
> >> --- a/arch/arm/lib/bootm-fdt.c
> >> +++ b/arch/arm/lib/bootm-fdt.c
> >> @@ -17,13 +17,14 @@
> >>
> >>  #include <common.h>
> >>  #include <fdt_support.h>
> >> +#include <asm/armv7.h>
> >>
> >> Shouldn't this line be architecture dependent?
> > 
> > Looking at the whole commit, how is this breaking things?
> 
> Shall this include armv7.h regardless which architecture is compiled? This
> didn't cause any problem until a recent commit a389531 changes armv7.h.

Yes, the include looks safe.  This is one of those cryptic bisects, can
you poke it a bit more and see what's causing the failure inside of the
file?
York Sun March 5, 2015, 11:45 p.m. UTC | #4
On 03/05/2015 03:33 PM, Tom Rini wrote:
> On Thu, Mar 05, 2015 at 03:27:59PM -0800, York Sun wrote:
>>
>>
>> On 03/05/2015 03:26 PM, Tom Rini wrote:
>>> On Thu, Mar 05, 2015 at 11:11:16AM -0800, York Sun wrote:
>>>> Guys,
>>>>
>>>> I found these targets are broken on tag 2015.04-rc3
>>>>
>>>> ls2085a_emu_D4
>>>> vexpress_aemv8a
>>>> vexpress_aemv8a_juno
>>>> ls2085a_emu
>>>> vexpress_aemv8a_semi
>>>> xilinx_zynqmp
>>>> ls2085a_simu
>>>>
>>>> git bisect points to this commit a389531439a7d5cea2829054edcf438dc76e79a9.
>>>> However it is really caused by this one
>>>>
>>>> commit e771a3d538a4fbe235864061ff3c81a8acb11082
>>>> Author:     Marc Zyngier <marc.zyngier@arm.com>
>>>> AuthorDate: Sat Jul 12 14:24:07 2014 +0100
>>>> Commit:     Albert ARIBAUD <albert.u.boot@aribaud.net>
>>>> CommitDate: Mon Jul 28 17:19:52 2014 +0200
>>>>
>>>>     ARM: HYP/non-sec/PSCI: emit DT nodes
>>>>
>>>>     Generate the PSCI node in the device tree.
>>>>
>>>>     Also add a reserve section for the "secure" code that lives in
>>>>     in normal RAM, so that the kernel knows it'd better not trip on
>>>>     it.
>>>>
>>>>     Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
>>>>     Acked-by: Ian Campbell <ijc@hellion.org.uk>
>>>>
>>>> This commit add armv7.h to bootm-fdt.c file.
>>>>
>>>> --- a/arch/arm/lib/bootm-fdt.c
>>>> +++ b/arch/arm/lib/bootm-fdt.c
>>>> @@ -17,13 +17,14 @@
>>>>
>>>>  #include <common.h>
>>>>  #include <fdt_support.h>
>>>> +#include <asm/armv7.h>
>>>>
>>>> Shouldn't this line be architecture dependent?
>>>
>>> Looking at the whole commit, how is this breaking things?
>>
>> Shall this include armv7.h regardless which architecture is compiled? This
>> didn't cause any problem until a recent commit a389531 changes armv7.h.
> 
> Yes, the include looks safe.  This is one of those cryptic bisects, can
> you poke it a bit more and see what's causing the failure inside of the
> file?
> 

You mean it is safe to include armv7.h even if I am building armv8 targets?
When compiling armv8 targets, I have these warnings

/home/u-boot-upstream-85xx/arch/arm/include/asm/armv7.h: In function
‘v7_enable_smp’:
/home/u-boot-upstream-85xx/arch/arm/include/asm/io.h:72:28: warning: cast to
pointer from integer of different size [-Wint-to-pointer-cast]
 #define __arch_getl(a)   (*(volatile unsigned int *)(a))
                            ^
/home/u-boot-upstream-85xx/arch/arm/include/asm/io.h:151:31: note: in expansion
of macro ‘__arch_getl’
 #define readl(c) ({ u32 __v = __arch_getl(c); __iormb(); __v; })
                               ^
/home/u-boot-upstream-85xx/arch/arm/include/asm/armv7.h:105:9: note: in
expansion of macro ‘readl’
  temp = readl(address);
         ^

The readl was added into armv7.h by commit a389531.

York
Tom Rini March 6, 2015, 12:59 a.m. UTC | #5
On Thu, Mar 05, 2015 at 03:45:24PM -0800, York Sun wrote:
> 
> 
> On 03/05/2015 03:33 PM, Tom Rini wrote:
> > On Thu, Mar 05, 2015 at 03:27:59PM -0800, York Sun wrote:
> >>
> >>
> >> On 03/05/2015 03:26 PM, Tom Rini wrote:
> >>> On Thu, Mar 05, 2015 at 11:11:16AM -0800, York Sun wrote:
> >>>> Guys,
> >>>>
> >>>> I found these targets are broken on tag 2015.04-rc3
> >>>>
> >>>> ls2085a_emu_D4
> >>>> vexpress_aemv8a
> >>>> vexpress_aemv8a_juno
> >>>> ls2085a_emu
> >>>> vexpress_aemv8a_semi
> >>>> xilinx_zynqmp
> >>>> ls2085a_simu
> >>>>
> >>>> git bisect points to this commit a389531439a7d5cea2829054edcf438dc76e79a9.
> >>>> However it is really caused by this one
> >>>>
> >>>> commit e771a3d538a4fbe235864061ff3c81a8acb11082
> >>>> Author:     Marc Zyngier <marc.zyngier@arm.com>
> >>>> AuthorDate: Sat Jul 12 14:24:07 2014 +0100
> >>>> Commit:     Albert ARIBAUD <albert.u.boot@aribaud.net>
> >>>> CommitDate: Mon Jul 28 17:19:52 2014 +0200
> >>>>
> >>>>     ARM: HYP/non-sec/PSCI: emit DT nodes
> >>>>
> >>>>     Generate the PSCI node in the device tree.
> >>>>
> >>>>     Also add a reserve section for the "secure" code that lives in
> >>>>     in normal RAM, so that the kernel knows it'd better not trip on
> >>>>     it.
> >>>>
> >>>>     Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> >>>>     Acked-by: Ian Campbell <ijc@hellion.org.uk>
> >>>>
> >>>> This commit add armv7.h to bootm-fdt.c file.
> >>>>
> >>>> --- a/arch/arm/lib/bootm-fdt.c
> >>>> +++ b/arch/arm/lib/bootm-fdt.c
> >>>> @@ -17,13 +17,14 @@
> >>>>
> >>>>  #include <common.h>
> >>>>  #include <fdt_support.h>
> >>>> +#include <asm/armv7.h>
> >>>>
> >>>> Shouldn't this line be architecture dependent?
> >>>
> >>> Looking at the whole commit, how is this breaking things?
> >>
> >> Shall this include armv7.h regardless which architecture is compiled? This
> >> didn't cause any problem until a recent commit a389531 changes armv7.h.
> > 
> > Yes, the include looks safe.  This is one of those cryptic bisects, can
> > you poke it a bit more and see what's causing the failure inside of the
> > file?
> 
> You mean it is safe to include armv7.h even if I am building armv8 targets?
> When compiling armv8 targets, I have these warnings
> 
> /home/u-boot-upstream-85xx/arch/arm/include/asm/armv7.h: In function
> ‘v7_enable_smp’:
> /home/u-boot-upstream-85xx/arch/arm/include/asm/io.h:72:28: warning: cast to
> pointer from integer of different size [-Wint-to-pointer-cast]
>  #define __arch_getl(a)   (*(volatile unsigned int *)(a))
>                             ^
> /home/u-boot-upstream-85xx/arch/arm/include/asm/io.h:151:31: note: in expansion
> of macro ‘__arch_getl’
>  #define readl(c) ({ u32 __v = __arch_getl(c); __iormb(); __v; })
>                                ^
> /home/u-boot-upstream-85xx/arch/arm/include/asm/armv7.h:105:9: note: in
> expansion of macro ‘readl’
>   temp = readl(address);
>          ^
> 
> The readl was added into armv7.h by commit a389531.

Ah well now we're getting somewhere :)  Let me try and whip up a patch..
diff mbox

Patch

--- a/arch/arm/lib/bootm-fdt.c
+++ b/arch/arm/lib/bootm-fdt.c
@@ -17,13 +17,14 @@ 

 #include <common.h>
 #include <fdt_support.h>
+#include <asm/armv7.h>

Shouldn't this line be architecture dependent?

York
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot