o 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.

o 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.

o 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.

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

Signed-off-by: Vivek Goyal <[EMAIL PROTECTED]>
---

 arch/i386/kernel/setup.c |    2 --
 1 files changed, 2 deletions(-)

diff -puN 
arch/i386/kernel/setup.c~i386-export-mem-more-than-4G-through-proc-iomem 
arch/i386/kernel/setup.c
--- 
linux-2.6.16-mm1/arch/i386/kernel/setup.c~i386-export-mem-more-than-4G-through-proc-iomem
   2006-03-23 11:39:24.000000000 -0500
+++ linux-2.6.16-mm1-root/arch/i386/kernel/setup.c      2006-03-23 
11:39:24.000000000 -0500
@@ -1295,8 +1295,6 @@ legacy_init_iomem_resources(struct resou
        probe_roms();
        for (i = 0; i < e820.nr_map; i++) {
                struct resource *res;
-               if (e820.map[i].addr + e820.map[i].size > 0x100000000ULL)
-                       continue;
                res = kzalloc(sizeof(struct resource), GFP_ATOMIC);
                switch (e820.map[i].type) {
                case E820_RAM:  res->name = "System RAM"; break;
_
_______________________________________________
fastboot mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/fastboot

Reply via email to