vmcore_init() failure using uImage on fsl_booke
Dennis Flynn
dennis.flynn at ericsson.com
Thu Sep 15 07:54:05 EDT 2011
> I assume this is 512M?
Yes, 512M.
> It appears to have allocated a segment at this address. Can you try adding debug statements to exec to see the contents of this segment? I suspect kexec is loading nothing since it does not have an ELF header to load for the uImage case.
I added code to default_machine_kexec() to ioremap the segment[2].mem physical address and then use print_hex_dump() to dump the contents of this segment. Looks like the ELF header signature is present. Just not visible via /dev/oldmem from the crash kernel?
ioremap vaddr 0xe086e000 --> paddr 0x2086e000 (size=1000)
e086e000: 7f454c46 01020100 00000000 00000000 .ELF............
e086e010: 00040014 00000001 00000000 00000034 ...............4
e086e020: 00000000 00000000 00340020 00050000 .........4. ....
e086e030: 00000000 00000004 0189221c 00000000 ..........".....
e086e040: 0189221c 00000400 00000400 00000000 ..".............
e086e050: 00000000 00000004 00866df8 00000000 ..........m.....
e086e060: 00866df8 00001000 00001000 00000000 ..m.............
e086e070: 00000000 00000001 2085e000 c0000000 ........ .......
e086e080: 00000000 00010000 00010000 00000007 ................
e086e090: 00000000 00000001 00010000 c0010000 ................
e086e0a0: 00010000 1fff0000 1fff0000 00000007 ................
e086e0b0: 00000000 00000001 30000000 ffffffff ........0.......
e086e0c0: 30000000 50000000 50000000 00000007 0...P...P.......
e086e0d0: 00000000 00000000 00000000 00000000 ................
[ remaining zero-filled locations deleted ]
Dennis
-----Original Message-----
From: McClintock Matthew-B29882 [mailto:B29882 at freescale.com]
Sent: Tuesday, September 13, 2011 5:43 PM
To: Dennis Flynn
Cc: kexec at lists.infradead.org; McClintock Matthew-B29882
Subject: Re: vmcore_init() failure using uImage on fsl_booke
On Tue, Sep 13, 2011 at 4:33 PM, Dennis Flynn <dennis.flynn at ericsson.com> wrote:
> Reserved crash kernel memory: crashkernel=256M at 512
I assume this is 512M?
> Reading 16 bytes from address 0x000000002086E000 within /dev/oldmem 00
> 00 00 00 00 00 00 00
> Warning: Core image elf header not found
> Kdump: vmcore not initialized
>
> Here's the crash kernel bootline showing the elfcorehdr argument passed to the crash kernel.
>
> Kernel command line: irqpoll maxcpus=1 reset_devices boot_mode=crash
> root=/dev/nfs
> nfsroot=127.3.252.1:/var/export/hitchhiker-6kn/current/rootfs
> ip=127.3.10.1:127.3.252.1:127.3.252.1:255.255.0.0:hitchhiker-6kn:eth0:
> off rbn_net_dev=eth0 console=ttyS0,115200 dump_type=kernel
> dump_server=0.0.0.0 dump_server_port=9999 hwether=x board_name=wolf_lc
> slot_number=255 elfcorehdr=532920K savemaxmem=2048M
>
> To help me debug all of this I added some debug prints to the powerpc kexec code (default_machine_kexec()) so I could verify the kernel kimage and memory segment contents. See below.
>
> Bye!
> Calling reboot_code_buffer (vaddr:0xe086f000): page_list=0x00000004,
> reboot_code_buffer_phys=0x2086f000, start=0x2fffa724
>
> Dumping kimage @ 0xdfbdf800
> head: 0x00000004
> entry: 0xdfbdf800
> last_entry: 0xdfbdf800
> destination: 0x00000000
> start: 0x2fffa724
> control_code_page: 0xc0c97de0
> swap_page: 0x (null)
> control_page: 0x2086ffff
> type: 0x00000001
> preserve_context: 0x00000000
> nr_segments = 5
> segment[0].buf = 48831008
> segment[0].bufsz = 75d640
> segment[0].mem = 0x20000000
> segment[0].memsz = 85e000
> segment[1].buf = 1007d988
> segment[1].bufsz = 10000
> segment[1].mem = 0x2085e000
> segment[1].memsz = 10000
> segment[2].buf = 1007d350
> segment[2].bufsz = 400
> segment[2].mem = 0x2086e000
> segment[2].memsz = 1000
It appears to have allocated a segment at this address. Can you try adding debug statements to exec to see the contents of this segment? I suspect kexec is loading nothing since it does not have an ELF header to load for the uImage case.
-M
More information about the kexec
mailing list