android_kernel_xiaomi_sm8350/arch
Vivek Goyal 10dbe196a8 [PATCH] i386: export: memory more than 4G through /proc/iomem
Currently /proc/iomem exports physical memory also apart from io device
memory.  But on i386, it truncates any memory more than 4GB.  This leads to
problems for kexec/kdump.

Kexec reads /proc/iomem to determine the system memory layout and prepares a
memory map based on that and passes it to the kernel being kexeced.  Given the
fact that memory more than 4GB has been truncated, new kernel never gets to
see and use that memory.

Kdump also reads /proc/iomem to determine the physical memory layout of the
system and encodes this informaiton in ELF headers.  After a crash new kernel
parses these ELF headers being used by previous kernel and vmcore is prepared
accordingly.  As memory more than 4GB has been truncated, kdump never sees
that memory and never prepares ELF headers for it.  Hence vmcore is truncated
and limited to 4GB even if there is more physical memory in the system.

This patch exports memory more than 4GB through /proc/iomem on i386.

Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-26 08:56:54 -08:00
..
alpha [PATCH] remove set_page_count() outside mm/ 2006-03-22 07:54:02 -08:00
arm Merge master.kernel.org:/home/rmk/linux-2.6-serial 2006-03-25 20:31:32 -08:00
arm26 Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild 2006-03-25 08:48:48 -08:00
cris [PATCH] set_page_dirty() return value fixes 2006-03-24 07:33:26 -08:00
frv [PATCH] s/;;/;/g 2006-03-24 07:33:24 -08:00
h8300 [PATCH] kill include/linux/platform.h, default_idle() cleanup 2006-03-24 07:33:21 -08:00
i386 [PATCH] i386: export: memory more than 4G through /proc/iomem 2006-03-26 08:56:54 -08:00
ia64 Merge branch 'audit.b3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current 2006-03-25 09:24:53 -08:00
m32r Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild 2006-03-25 08:48:48 -08:00
m68k [PATCH] kill include/linux/platform.h, default_idle() cleanup 2006-03-24 07:33:21 -08:00
m68knommu [PATCH] kill include/linux/platform.h, default_idle() cleanup 2006-03-24 07:33:21 -08:00
mips [PATCH] sys_alarm() unsigned signed conversion fixup 2006-03-25 08:22:48 -08:00
parisc [PATCH] kill include/linux/platform.h, default_idle() cleanup 2006-03-24 07:33:21 -08:00
powerpc powerpc: fix strncasecmp prototype 2006-03-25 09:41:40 -08:00
ppc Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild 2006-03-25 08:48:48 -08:00
s390 [PATCH] kill include/linux/platform.h, default_idle() cleanup 2006-03-24 07:33:21 -08:00
sh Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild 2006-03-25 08:48:48 -08:00
sh64 [PATCH] more for_each_cpu() conversions 2006-03-23 07:38:17 -08:00
sparc [SPARC]: Try to start getting SMP back into shape. 2006-03-23 22:36:19 -08:00
sparc64 [SPARC64]: Keep cpu_present_map in sync with phys_cpu_present_map. 2006-03-25 13:00:17 -08:00
um Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild 2006-03-25 08:48:48 -08:00
v850 [PATCH] kill include/linux/platform.h, default_idle() cleanup 2006-03-24 07:33:21 -08:00
x86_64 [PATCH] x86: "make isoimage" support; FDINITRD= support; minor cleanups 2006-03-26 08:56:53 -08:00
xtensa [PATCH] more for_each_cpu() conversions 2006-03-23 07:38:17 -08:00