[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:
@@ -89,7 +89,7 @@ static struct resource code_resource = {
|
|||||||
};
|
};
|
||||||
extern void efi_initialize_iomem_resources(struct resource *,
|
extern void efi_initialize_iomem_resources(struct resource *,
|
||||||
struct resource *);
|
struct resource *);
|
||||||
extern char _text[], _edata[], _etext[];
|
extern char _text[], _end[], _etext[];
|
||||||
|
|
||||||
unsigned long ia64_max_cacheline_size;
|
unsigned long ia64_max_cacheline_size;
|
||||||
unsigned long ia64_iobase; /* virtual address for I/O accesses */
|
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.start = ia64_tpa(_text);
|
||||||
code_resource.end = ia64_tpa(_etext) - 1;
|
code_resource.end = ia64_tpa(_etext) - 1;
|
||||||
data_resource.start = ia64_tpa(_etext);
|
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);
|
efi_initialize_iomem_resources(&code_resource, &data_resource);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user