Hoi Ard, On Tue, Oct 3, 2017 at 3:15 PM, Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> wrote: > On 3 October 2017 at 13:41, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: >> On Wed, Aug 30, 2017 at 4:55 AM, Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> wrote: >>> Let's use optimized routines such as memcpy to copy .data and memzero >>> to clear .bss in the startup code instead of doing it one word at a >>> time. Those routines don't use any global data so they're safe to use >>> even if .data and .bss segments are not initialized. >>> >>> In the .data copy case a temporary stack is installed in the .bss area >>> as the actual kernel stack is located within the copied data area. The >>> XIP kernel linker script ensures a 8 byte alignment for that purpose. >>> >>> Finally, make the .data copy and related pointers surrounded by >>> CONFIG_XIP_KERNEL to make it obvious what it is all about. This will >>> allow for further cleanups in the non-XIP linker script. >>> >>> Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> >>> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> >> >> This is now commit 9520b1a1b5f7a348 ("ARM: head-common.S: speed up startup >> code") in arm/for-next. >> >> If CONFIG_DEBUG_LOCK_ALLOC=y, the kernel log is spammed with a few hundred >> identical messages on various Renesas systems: >> >> unwind: Unknown symbol address c0800300 >> unwind: Index not found c0800300 >> >> I've bisected this to the aforementioned commit. >> >> c0800300 points to the instruction just after the __memzero call, cfr. below. >> >> Do you have a clue? Thanks! > > It looks like this patch results in start_kernel() being entered with > a different value for lr than before. Could you please try setting it > to zero instead, right before the jump to start_kernel() ? > > I don't think the patch itself is to blame here, it simply triggers an > existing issue in the unwinder (if my analysis is correct, of course) Your analysis looks correct to me, thanks! Patch sent. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds