SoCFPGA with CONFIG_THUMB2_KERNEL boot error
Ard Biesheuvel
ard.biesheuvel at linaro.org
Wed Apr 20 23:24:23 PDT 2016
On 21 April 2016 at 01:51, Russell King - ARM Linux
<linux at arm.linux.org.uk> wrote:
> On Wed, Apr 20, 2016 at 01:06:28PM +0200, Ard Biesheuvel wrote:
>> @@ -21,15 +22,9 @@ ENTRY(secondary_trampoline)
>> * where the physical memory does not start at 0x0.
>> */
>> ARM_BE8(setend be)
>> - adr r0, 1f
>> - ldmia r0, {r1, r2}
>> - sub r2, r2, #PAGE_OFFSET
>> + ldr r2, =socfpga_cpu1start_addr - PAGE_OFFSET
>
> NAK. Where do you expect the assembler to place the literal pool for
> this constant? The only way that'll work is if it's placed before
> "ENTRY(secondary_trampoline_end)" below, but there's no guarantee
> (afaik) where literal pools will be placed.
>
Ah yes, we'd still need to put an .ltorg directive before the end marker.
Alternatively, we could keep the explicit literal but subtract
PAGE_OFFSET there directly (but drop the unused '.' literal and
replace adr+ldmia with ldr)
>> ldr r3, [r2]
>> ldr r4, [r3]
>> ARM_BE8(rev r4, r4)
>> bx r4
>> -
>> - .align
>> -1: .long .
>> - .long socfpga_cpu1start_addr
>> ENTRY(secondary_trampoline_end)
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
> --
> RMK's Patch system: http://www.arm.linux.org.uk/developer/patches/
> FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
> according to speedtest.net.
More information about the linux-arm-kernel
mailing list