vmcore_init() failure using uImage on fsl_booke

Maxim Uvarov muvarov at gmail.com
Thu Sep 15 12:13:28 EDT 2011


2011/9/15 Dennis Flynn <dennis.flynn at ericsson.com>:
>
>> 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?
>

But should /dev/oldmem have elf header? As I remember it is
constructing when you read from /proc/vmcore.

>
> 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
>
> _______________________________________________
> kexec mailing list
> kexec at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/kexec
>



-- 
Best regards,
Maxim Uvarov



More information about the kexec mailing list