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