On Mon, Jul 26, 2010 at 3:08 AM, Lorenzo Pieralisi <[email protected]> wrote: > Hi Grant, Jeremy, > >> -----Original Message----- >> From: devicetree-discuss- >> [email protected] [mailto:devicetree- >> [email protected]] On Behalf >> Of Grant Likely >> Sent: 23 July 2010 21:14 >> To: [email protected]; [email protected] >> Subject: [PATCH] arm/dt: Fix booting non-dt versatile >> >> Without this patch, versatilepb will not boot in qemu >> >> Signed-off-by: Grant Likely <[email protected]> >> --- >> >> Hi Jeremy, >> >> I'm not sure if this is the best fix or not, but without it I cannot >> boot >> versatilepb anymore in QEMU. >> >> g. >> >> arch/arm/kernel/head.S | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S >> index 8683b3b..049d533 100644 >> --- a/arch/arm/kernel/head.S >> +++ b/arch/arm/kernel/head.S >> @@ -93,7 +93,7 @@ ENTRY(stext) >> * Also, we don't need to call __vet_atags. >> */ >> add r3, r1, #1 >> - bcs 1f >> + beq 1f >> >> bl __lookup_machine_type @ r5=machinfo >> movs r8, r5 @ invalid machine (r5=0)? >> > > I think the issue is the add instruction not the conditional jump here. > It needs to be an "adds" to update the flags so the carry. > With beq (or bcs) you are jumping on a condition set by the movs a few lines > before, beq does not jump because the movs before did not set the zero flag > otherwise you wouldn't be executing that code, you would have branched to > __error_p. > Please let me know if it works I have not tested so I might be wrong.
adds works for me on both Versatile (qemu) and Tegra. g. _______________________________________________ devicetree-discuss mailing list [email protected] https://lists.ozlabs.org/listinfo/devicetree-discuss
