• Vivek Goyal's avatar
    [PATCH] i386: export: memory more than 4G through /proc/iomem · 10dbe196
    Vivek Goyal authored
    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: default avatarVivek Goyal <vgoyal@in.ibm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    10dbe196
setup.c 40 KB