Question: How to find 640kB backup region from vmcore?

HATAYAMA Daisuke d.hatayama at jp.fujitsu.com
Thu Sep 15 05:51:24 EDT 2011


kdump saves the first 640kB physical memory in some backup region. The
question of mine is how to find the backup region from vmcore.

First let me explain why I have such question.

Fujitsu has sadump, Stand Alone Dump, which runs independently of
kernel logic, and the generated vmcore contains a whole part of
physical memory.

The issue happens when sadump is triggered after kdump has run and
passed the processing of saving the 640 kB memory in some backup
region. The 640 kB memory contains the data used for paging, and if
it's unavailable, we cannot access the region not straight mapped, for
example, the regions allocated using valloc() such as kernel module
data.

According to a part of kexec-tools/kexec/crashdump-elf.c below,
PT_LOAD entry in ELF segment corresponding to the 640kB backup region
has offset to the backup region in p_offset.

        /* Setup PT_LOAD type program header for every system RAM chunk.
         * A seprate program header for Backup Region*/
        for (i = 0; i < ranges; i++, range++) {
                unsigned long long mstart, mend;
                if (range->type != RANGE_RAM)
                        continue;
                mstart = range->start;
                mend = range->end;
                if (!mstart && !mend)
                        continue;
                phdr = (PHDR *) bufp;
                bufp += sizeof(PHDR);
                phdr->p_type    = PT_LOAD;
                phdr->p_flags   = PF_R|PF_W|PF_X;
                phdr->p_offset  = mstart;

                if (mstart == info->backup_src_start
                    && (mend - mstart + 1) == info->backup_src_size)
                        phdr->p_offset  = info->backup_start;

                /* We already prepared the header for kernel text. Map
                 * rest of the memory segments to kernel linearly mapped
                 * memory region.
                 */
                phdr->p_paddr = mstart;

I've confirmed this on most of RHEL versions. But strangely, on RHEL6,
kernel 2.6.32-71.34.1.el6.i686, I cannot find the PT_LOAD
corresponding to the backup region.

Here are sample ouput of crash utility. Complete ones are attached to
this mail and contains all commands to search vmcore for the PT_LOAD
corresponding to backup region.

* 2.6.18-238.el5PAE RHEL5.6

struct elf64_phdr {
  p_type = 0x1,
  p_flags = 0x7,
  p_offset = 0x20f60000,
  p_vaddr = 0xc0000000,
  p_paddr = 0x0,
  p_filesz = 0xa0000,
  p_memsz = 0xa0000,
  p_align = 0x0
}

* 2.6.32-71.34.1.el6.i686 RHEL6.0

struct elf64_phdr {
  p_type = 0x1,
  p_flags = 0x7,
  p_offset = 0x1000,
  p_vaddr = 0xc0001000,
  p_paddr = 0x1000,
  p_filesz = 0x98c00,
  p_memsz = 0x98c00,
  p_align = 0x0
}

The above RHEL 5.6 kernel is just as I expect, but the below RHEL6.0
is different in that p_offset has the same value as p_paddr, and it is
not the address of 640kB backup region.

I don't know what's happening on RHEL6.0. Could anyone tell me this?

Thanks.
HATAYAMA, Daisuke
-------------- next part --------------
$ crash-5.1.6.X86 /usr/lib/debug/lib/modules/2.6.18-238.el5PAE/vmlinux ./vmcore

crash-5.1.6.X86 5.1.6
Copyright (C) 2002-2011  Red Hat, Inc.
Copyright (C) 2004, 2005, 2006  IBM Corporation
Copyright (C) 1999-2006  Hewlett-Packard Co
Copyright (C) 2005, 2006  Fujitsu Limited
Copyright (C) 2006, 2007  VA Linux Systems Japan K.K.
Copyright (C) 2005  NEC Corporation
Copyright (C) 1999, 2002, 2007  Silicon Graphics, Inc.
Copyright (C) 1999, 2000, 2001, 2002  Mission Critical Linux, Inc.
This program is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions.  Enter "help copying" to see the conditions.
This program has absolutely no warranty.  Enter "help warranty" for details.
 
GNU gdb (GDB) 7.0
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-unknown-linux-gnu --target=i686-pc-linux-gnu"...

      KERNEL: /usr/lib/debug/lib/modules/2.6.18-238.el5PAE/vmlinux
    DUMPFILE: ./vmcore  [PARTIAL DUMP]
        CPUS: 24
        DATE: Mon Jun 27 15:27:59 2011
      UPTIME: 00:14:13
LOAD AVERAGE: 0.72, 0.53, 0.43
       TASKS: 375
    NODENAME: localhost.localdomain
     RELEASE: 2.6.18-238.el5PAE
     VERSION: #1 SMP Sun Dec 19 14:42:44 EST 2010
     MACHINE: i686  (2000 Mhz)
      MEMORY: 34 GB
       PANIC: ""
         PID: 0
     COMMAND: "swapper"
        TASK: c068d3c0  (1 of 24)  [THREAD_INFO: c0706000]
         CPU: 0
       STATE: TASK_RUNNING 
     WARNING: panic task not found

crash-5.1.6.X86> sf
WARNING: terminal is not fully functional
-  (press RETURN)
scroll: off (/usr/bin/less)
crash-5.1.6.X86> 
crash-5.1.6.X86> hex
output radix: 16 (hex)
crash-5.1.6.X86> p kexec_crash_image->segment
$2 = {{
    buf = 0xb7bd9008, 
    bufsz = 0x1ca1f4, 
    mem = 0x1000000, 
    memsz = 0x47a000
  }, {
    buf = 0x9d5bec0, 
    bufsz = 0x7100, 
    mem = 0x147a000, 
    memsz = 0x9000
  }, {
    buf = 0x9d62ff0, 
    bufsz = 0x2180, 
    mem = 0x1483000, 
    memsz = 0x4000
  }, {
    buf = 0xb78db008, 
    bufsz = 0x2fbd73, 
    mem = 0x20c5e000, 
    memsz = 0x2fc000
  }, {
    buf = 0x9d654b8, 
    bufsz = 0x800, 
    mem = 0x20f5b000, 
    memsz = 0x4000
  }, {
    buf = 0xb783a008, 
    bufsz = 0xa0000, 
    mem = 0x20f60000, 
    memsz = 0xa0000
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }}
crash-5.1.6.X86> rd -p 0x20f5b000
20f5b000:  464c457f                              .ELF
crash-5.1.6.X86> ptov 0x20f5b000
VIRTUAL   PHYSICAL
e0f5b000  20f5b000
crash-5.1.6.X86> struct elf64_hdr 0xe0f5b000
struct elf64_hdr {
  e_ident = "\177ELF\002\001\001\000\000\000\000\000\000\000\000", 
  e_type = 0x4, 
  e_machine = 0x3, 
  e_version = 0x1, 
  e_entry = 0x0, 
  e_phoff = 0x40, 
  e_shoff = 0x0, 
  e_flags = 0x0, 
  e_ehsize = 0x40, 
  e_phentsize = 0x38, 
  e_phnum = 0x1f, 
  e_shentsize = 0x0, 
  e_shnum = 0x0, 
  e_shstrndx = 0x0
}
crash-5.1.6.X86> struct elf64_phdr 0xe0f5b040 0x1f
struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x32365c00, 
  p_vaddr = 0x0, 
  p_paddr = 0x32365c00, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x32365800, 
  p_vaddr = 0x0, 
  p_paddr = 0x32365800, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x32365400, 
  p_vaddr = 0x0, 
  p_paddr = 0x32365400, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x32365000, 
  p_vaddr = 0x0, 
  p_paddr = 0x32365000, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b47c00, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b47c00, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b47800, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b47800, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b47400, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b47400, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b47000, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b47000, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b48c00, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b48c00, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b48800, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b48800, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b48400, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b48400, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b48000, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b48000, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b49c00, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b49c00, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b49800, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b49800, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b49400, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b49400, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b49000, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b49000, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b4ac00, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b4ac00, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b4a800, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b4a800, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b4a400, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b4a400, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b4a000, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b4a000, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b4bc00, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b4bc00, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b4b800, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b4b800, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b4b400, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b4b400, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x37b4b000, 
  p_vaddr = 0x0, 
  p_paddr = 0x37b4b000, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x8222a0, 
  p_vaddr = 0x0, 
  p_paddr = 0x8222a0, 
  p_filesz = 0x1000, 
  p_memsz = 0x1000, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x1, 
  p_flags = 0x7, 
  p_offset = 0x20f60000, 
  p_vaddr = 0xc0000000, 
  p_paddr = 0x0, 
  p_filesz = 0xa0000, 
  p_memsz = 0xa0000, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x1, 
  p_flags = 0x7, 
  p_offset = 0x100000, 
  p_vaddr = 0xc0100000, 
  p_paddr = 0x100000, 
  p_filesz = 0xf00000, 
  p_memsz = 0xf00000, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x1, 
  p_flags = 0x7, 
  p_offset = 0x21000000, 
  p_vaddr = 0xe1000000, 
  p_paddr = 0x21000000, 
  p_filesz = 0x17000000, 
  p_memsz = 0x17000000, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x1, 
  p_flags = 0x7, 
  p_offset = 0x38000000, 
  p_vaddr = 0xffffffffffffffff, 
  p_paddr = 0x38000000, 
  p_filesz = 0x316fc000, 
  p_memsz = 0x316fc000, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x1, 
  p_flags = 0x7, 
  p_offset = 0x6b700000, 
  p_vaddr = 0xffffffffffffffff, 
  p_paddr = 0x6b700000, 
  p_filesz = 0x4df8000, 
  p_memsz = 0x4df8000, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x1, 
  p_flags = 0x7, 
  p_offset = 0x100000000, 
  p_vaddr = 0xffffffffffffffff, 
  p_paddr = 0x100000000, 
  p_filesz = 0x780000000, 
  p_memsz = 0x780000000, 
  p_align = 0x0
}
-------------- next part --------------
$ /media/pub/debuginfos/vmlinux-2.6.32-71.34.1.el6.i686.gz /media/pub/vmcores/sadump-2.6.32-71.34.1.el6.i686 
Starting program: crash /media/pub/debuginfos/vmlinux-2.6.32-71.34.1.el6.i686.gz /media/pub/vmcores/sadump-2.6.32-71.34.1.el6.i686

crash 5.1.7
Copyright (C) 2002-2011  Red Hat, Inc.
Copyright (C) 2004, 2005, 2006  IBM Corporation
Copyright (C) 1999-2006  Hewlett-Packard Co
Copyright (C) 2005, 2006  Fujitsu Limited
Copyright (C) 2006, 2007  VA Linux Systems Japan K.K.
Copyright (C) 2005  NEC Corporation
Copyright (C) 1999, 2002, 2007  Silicon Graphics, Inc.
Copyright (C) 1999, 2000, 2001, 2002  Mission Critical Linux, Inc.
This program is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions.  Enter "help copying" to see the conditions.
This program has absolutely no warranty.  Enter "help warranty" for details.
 
please wait... (uncompressing /media/pub/debuginfos/vmlinux-2.6.32-71.34.1.el6.i686.gz)Detaching after fork from child process 30845.
Detaching after fork from child process 30847.
Detaching after fork from child process 30848.
GNU gdb (GDB) 7.0
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
Redefine command "runcrash_el6"? (y or n) [answered Y; input not from terminal]

Detaching after fork from child process 30849.
please wait... (gathering module symbol data)
WARNING: cannot access vmalloc'd module memory

      KERNEL: /media/pub/debuginfos/vmlinux-2.6.32-71.34.1.el6.i686.gz
    DUMPFILE: /media/pub/vmcores/sadump-2.6.32-71.34.1.el6.i686
        CPUS: 12
        DATE: Tue Sep  6 21:35:38 2011
      UPTIME: 00:10:05
LOAD AVERAGE: 0.00, 0.06, 0.05
       TASKS: 332
    NODENAME: RH60x86
     RELEASE: 2.6.32-71.34.1.el6.i686
     VERSION: #1 SMP Fri Jul 15 03:58:20 EDT 2011
     MACHINE: i686  (1999 Mhz)
      MEMORY: 13.7 GB
       PANIC: "Oops: 0002 [#1] SMP " (check log for details)
         PID: 28346
     COMMAND: "bash"
        TASK: e7cd6030  [THREAD_INFO: e7c96000]
         CPU: 0
       STATE: TASK_RUNNING (PANIC)

crash> set scroll off
scroll: off (/usr/bin/less)
crash> sf
scroll: off (/usr/bin/less)
crash> hex
output radix: 16 (hex)
crash> p kexec_crash_image->segment
$3 = {{
    buf = 0x99780e0, 
    bufsz = 0x38bb, 
    mem = 0x2000000, 
    memsz = 0x4000
  }, {
    buf = 0xb6f9f608, 
    bufsz = 0x37cd60, 
    mem = 0x2400000, 
    memsz = 0x37d000
  }, {
    buf = 0xb6b86008, 
    bufsz = 0x415a77, 
    mem = 0x9b39000, 
    memsz = 0x416000
  }, {
    buf = 0x9971040, 
    bufsz = 0x7060, 
    mem = 0x9f50000, 
    memsz = 0x9000
  }, {
    buf = 0x9970240, 
    bufsz = 0x800, 
    mem = 0x9f5a000, 
    memsz = 0x4000
  }, {
    buf = 0xb6ae5008, 
    bufsz = 0xa0000, 
    mem = 0x9f5f000, 
    memsz = 0xa0000
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }, {
    buf = 0x0, 
    bufsz = 0x0, 
    mem = 0x0, 
    memsz = 0x0
  }}
crash> rd -p 0x9f5a000
 9f5a000:  464c457f                              .ELF
crash> vtop 0x9f5a000
VIRTUAL   PHYSICAL
9f5a000   (not accessible)

crash> ptov 0x9f5a000
VIRTUAL   PHYSICAL
c9f5a000  9f5a000 
crash> struct elf64_hdr 0xc9f5a000
struct elf64_hdr {
  e_ident = "\177ELF\002\001\001\000\000\000\000\000\000\000\000", 
  e_type = 0x4, 
  e_machine = 0x3, 
  e_version = 0x1, 
  e_entry = 0x0, 
  e_phoff = 0x40, 
  e_shoff = 0x0, 
  e_flags = 0x0, 
  e_ehsize = 0x40, 
  e_phentsize = 0x38, 
  e_phnum = 0x13, 
  e_shentsize = 0x0, 
  e_shnum = 0x0, 
  e_shstrndx = 0x0
}
crash> struct elf64_phdr 0xc9f5a040 0x13
struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x1e0c218, 
  p_vaddr = 0x0, 
  p_paddr = 0x1e0c218, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x1e1c218, 
  p_vaddr = 0x0, 
  p_paddr = 0x1e1c218, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x1e2c218, 
  p_vaddr = 0x0, 
  p_paddr = 0x1e2c218, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x1e3c218, 
  p_vaddr = 0x0, 
  p_paddr = 0x1e3c218, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x1e4c218, 
  p_vaddr = 0x0, 
  p_paddr = 0x1e4c218, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x1e5c218, 
  p_vaddr = 0x0, 
  p_paddr = 0x1e5c218, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x1e6c218, 
  p_vaddr = 0x0, 
  p_paddr = 0x1e6c218, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x1e7c218, 
  p_vaddr = 0x0, 
  p_paddr = 0x1e7c218, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x1e8c218, 
  p_vaddr = 0x0, 
  p_paddr = 0x1e8c218, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x1e9c218, 
  p_vaddr = 0x0, 
  p_paddr = 0x1e9c218, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x1eac218, 
  p_vaddr = 0x0, 
  p_paddr = 0x1eac218, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0x1ebc218, 
  p_vaddr = 0x0, 
  p_paddr = 0x1ebc218, 
  p_filesz = 0x400, 
  p_memsz = 0x400, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x4, 
  p_flags = 0x0, 
  p_offset = 0xb75200, 
  p_vaddr = 0x0, 
  p_paddr = 0xb75200, 
  p_filesz = 0x1000, 
  p_memsz = 0x1000, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x1, 
  p_flags = 0x7, 
  p_offset = 0x1000, 
  p_vaddr = 0xc0001000, 
  p_paddr = 0x1000, 
  p_filesz = 0x98c00, 
  p_memsz = 0x98c00, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x1, 
  p_flags = 0x7, 
  p_offset = 0x100000, 
  p_vaddr = 0xc0100000, 
  p_paddr = 0x100000, 
  p_filesz = 0x1f00000, 
  p_memsz = 0x1f00000, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x1, 
  p_flags = 0x7, 
  p_offset = 0xa000000, 
  p_vaddr = 0xca000000, 
  p_paddr = 0xa000000, 
  p_filesz = 0x2e000000, 
  p_memsz = 0x2e000000, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x1, 
  p_flags = 0x7, 
  p_offset = 0x38000000, 
  p_vaddr = 0xffffffffffffffff, 
  p_paddr = 0x38000000, 
  p_filesz = 0x316fc000, 
  p_memsz = 0x316fc000, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x1, 
  p_flags = 0x7, 
  p_offset = 0x6b700000, 
  p_vaddr = 0xffffffffffffffff, 
  p_paddr = 0x6b700000, 
  p_filesz = 0x4e63000, 
  p_memsz = 0x4e63000, 
  p_align = 0x0
}

struct elf64_phdr {
  p_type = 0x1, 
  p_flags = 0x7, 
  p_offset = 0x100000000, 
  p_vaddr = 0xffffffffffffffff, 
  p_paddr = 0x100000000, 
  p_filesz = 0x380000000, 
  p_memsz = 0x380000000, 
  p_align = 0x0
}


More information about the kexec mailing list