Messages in this thread | | | Date | Mon, 8 Jun 2009 19:23:16 -0400 | Subject | scripts/kallsyms: extending region checking for Blackfin memory regions | From | Mike Frysinger <> |
| |
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 [unhandled content-type:application/octet-stream][unhandled content-type:application/octet-stream] | |