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