From mboxrd@z Thu Jan 1 00:00:00 1970 From: York Sun Date: Thu, 5 Mar 2015 15:45:24 -0800 Subject: [U-Boot] ARMv8 targets are broken on 2015.04-rc3 In-Reply-To: <20150305233316.GA25373@bill-the-cat> References: <54F8AA54.8070508@freescale.com> <20150305232618.GZ25373@bill-the-cat> <54F8E67F.9030107@freescale.com> <20150305233316.GA25373@bill-the-cat> Message-ID: <54F8EA94.9090806@freescale.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 >>>> AuthorDate: Sat Jul 12 14:24:07 2014 +0100 >>>> Commit: Albert ARIBAUD >>>> 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 >>>> Acked-by: Ian Campbell >>>> >>>> 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 >>>> #include >>>> +#include >>>> >>>> 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