[IA64] end of kernel 'data' is at _end, not _edata

/proc/iomem describes a block of memory as "Kernel data",
but the end address is derived from "_edata".  The kernel
actually has many other sections beyond _edata.  Get the
real end address from _end.

Acked-by: Khalid Aziz <khalid_aziz@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
Tony Luck 2005-09-28 16:09:46 -07:00
parent be379124c0
commit d719948e62

View file

@ -89,7 +89,7 @@ static struct resource code_resource = {
};
extern void efi_initialize_iomem_resources(struct resource *,
struct resource *);
extern char _text[], _edata[], _etext[];
extern char _text[], _end[], _etext[];
unsigned long ia64_max_cacheline_size;
unsigned long ia64_iobase; /* virtual address for I/O accesses */
@ -192,7 +192,7 @@ static int __init register_memory(void)
code_resource.start = ia64_tpa(_text);
code_resource.end = ia64_tpa(_etext) - 1;
data_resource.start = ia64_tpa(_etext);
data_resource.end = ia64_tpa(_edata) - 1;
data_resource.end = ia64_tpa(_end) - 1;
efi_initialize_iomem_resources(&code_resource, &data_resource);
return 0;