Albert, On Sun, Mar 13, 2011 at 10:46 AM, Albert ARIBAUD <albert.arib...@free.fr> wrote: > Le 16/02/2011 21:26, Tom Warren a écrit : >> >> Signed-off-by: Tom Warren<twar...@nvidia.com> >> --- >> arch/arm/cpu/armv7/start.S | 6 + >> arch/arm/cpu/armv7/tegra2/Makefile | 2 +- > >> arch/arm/cpu/armv7/tegra2/ap20.c | 490 >> ++++++++++++++++++++++++++++ > > This one has an extra empty line at end of file. > Thanks - I'll remove it.
>> +void cold_boot(void) >> +{ >> + asm volatile( >> + >> + "msr cpsr_c, #0xd3 \n" >> + /* >> + * Check current processor: CPU or AVP? >> + * If AVP, go to AVP boot code, else continue on. >> + */ >> + "mov r0, %0 \n" >> + "ldrb r2, [r0, %1] \n" >> + /* are we the CPU? */ >> + "cmp r2, %2 \n" >> + "mov sp, %3 \n" >> + /* leave in some symbols for release debugging */ >> + "mov r3, %6 \n" >> + "str r3, [sp, #-4]! \n" >> + "str r3, [sp, #-4]! \n" >> + /* yep, we are the CPU */ >> + "bxeq %4 \n" >> + /* AVP Initialization follows this path */ >> + "mov sp, %5 \n" >> + /* leave in some symbols for release debugging */ >> + "mov r3, %6 \n" >> + "str r3, [sp, #-4]! \n" >> + "str r3, [sp, #-4]! \n" >> + >> + /* Init and Start CPU */ >> + "b startup_cpu \n" >> + : >> + : "i"(NV_PA_PG_UP_BASE), > > If I'm not mistaken, NV_PA_PG_UP_BASE could be used just as well directly in > the asm statement instead of via %0 and i(), as anyway the asm will be > preprocessed and the macro will turn to a number. That would simplify the > asm instruction as a whole and make the asm statement more understandable > (also applies to other macros used similarly). > Yeah, this code came this way from our bringup group for out in-house bootloader, and it's always been confusing. I'll try to simplify it when I incorporate Peter's critiques. Thanks. > Apart from that, I must admit I don't know the Tegra2/A9 well enough to > comment further. > > amicalement, > Amicalement, > -- > Albert. Thanks for the input, Tom > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot