Messages in this thread | | | Date | Tue, 5 Jan 2010 19:04:55 +0000 | From | Russell King <> | Subject | Re: [PATCH] [2/9] Add a kernel_address() that works for data too |
| |
On Tue, Jan 05, 2010 at 09:58:53AM +0100, Sam Ravnborg wrote: > But you can trust _etext an almost all architectures. > It is a bug if it is missing. > > So [_text, _etext] is the text section. > > The data section may be placed before or after - it depends on the architecture. > But again - only some architectures define _sdata. > But all? define _edata.
You can not guarantee that the data segment is after the text segment, unless you want to outlaw XIP kernels. XIP kernels have the text segment mapped at a completely different address to the data segment.
I'd suggest the only way to identify the data segment in a generic way is to have everyone define _sdata, or more preferably _data (to be consistent with _text), to be the start of the data segment.
-- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of:
| |