scripts/kallsyms: extending region checking for Blackfin memory regions

From: Mike Frysinger
Date: Mon Jun 08 2009 - 19:23:27 EST


intro: the current Blackfin memory architecture is (1) no virtualized
memory and (2) distinctly harvard. that means we cannot create a
linear map of start/end text sections. we end up with distinct
regions like so:
00001000 T __stext
000dc4c0 T __etext
feb00000 A __etext_l2
feb00010 A __stext_l2
ffa00000 T __stext_l1
ffa0160c T __etext_l1
this is because external memory starts at address 0 while on-chip
regions have different discontiguous hardcoded addresses (L1
instruction in this case starts at 0xffa00000 while L2 starts at
0xfeb00000).

the current kallsyms is written to search for the special stext/etext
symbols only which means the resulting kallsyms output knows nothing
of the Blackfin symbols living in these on-chip regions. we've
written two patches to fix this: the first one is straight forward and
simply copies & pastes the existing hardcoded regions. the second
creates an array of text regions which makes it much easier to extend
in the future for other people (and can be squashed into the first
one).

doesnt matter to me which method is picked :)

(yes, another change is needed to kernel/kallsysms.c, but one thing at a time)
-mike

Attachment: 0001-kallsyms-support-kernel-symbols-in-Blackfin-on-chip-.patch
Description: Binary data

Attachment: 0005-kallsyms-generalize-text-region-handling.patch
Description: Binary data