Re: [RFC PATCH v2, part4 03/39] c6x: normalize global variables exported by vmlinux.lds

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

--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>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]