On 03/26/2013 01:56 AM, Mark Salter wrote: > On Sun, 2013-03-24 at 15:24 +0800, Jiang Liu wrote: >> Normalize global variables exported by vmlinux.lds to conform usage >> guidelines from include/asm-generic/sections.h. >> >> Use _text to mark the start of the kernel image including the head text, >> and _stext to mark the start of the .text section. >> >> This patch also fixes possible bugs due to current address layout that >> [__init_begin, __init_end] is a sub-range of [_stext, _etext] and pages >> within range [__init_begin, __init_end] will be freed by free_initmem(). > > I won't have time to look at this in detail until later this week, but > the reason for that layout is because c6x commonly stores text in flash. > Not all of the xip support is in-tree yet, but when it is, we don't want > to free init text. Hi Mark, Thanks for reminder. It's possible to support the usage case you have described, please take a look at arch/tile/kernel/vmlinux.lds.S. By that way, we could only free init.data sections without freeing init.text sections. Regards! Gerry > > --Mark > >> >> Signed-off-by: Jiang Liu <jiang.liu@xxxxxxxxxx> >> Cc: Mark Salter <msalter@xxxxxxxxxx> >> Cc: Aurelien Jacquiot <a-jacquiot@xxxxxx> >> Cc: linux-c6x-dev@xxxxxxxxxxxxx >> Cc: linux-kernel@xxxxxxxxxxxxxxx >> --- >> arch/c6x/kernel/vmlinux.lds.S | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/arch/c6x/kernel/vmlinux.lds.S b/arch/c6x/kernel/vmlinux.lds.S >> index 1d81c4c..279d807 100644 >> --- a/arch/c6x/kernel/vmlinux.lds.S >> +++ b/arch/c6x/kernel/vmlinux.lds.S >> @@ -54,16 +54,15 @@ SECTIONS >> } >> >> . = ALIGN(PAGE_SIZE); >> + __init_begin = .; >> .init : >> { >> - _stext = .; >> _sinittext = .; >> HEAD_TEXT >> INIT_TEXT >> _einittext = .; >> } >> >> - __init_begin = _stext; >> INIT_DATA_SECTION(16) >> >> PERCPU_SECTION(128) >> @@ -74,6 +73,7 @@ SECTIONS >> .text : >> { >> _text = .; >> + _stext = .; >> TEXT_TEXT >> SCHED_TEXT >> LOCK_TEXT > > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>