Kdump on ARM64

AKASHI Takahiro takahiro.akashi at linaro.org
Tue Jan 13 18:10:56 PST 2015


On 01/13/2015 08:23 PM, Anurup M wrote:
>
> Hi Akashi,
>
> 	Thanks for the reply.
>
> Hi  Akashi, Geoff,
>
> 	In the code I could find assert(arm64_mem.memstart) in the function virt_to_phys. This address can be 0x0 when the
>    segment start address is 0x0. so can we use this assert?

Probably you're right.

> 	The code flow is elf_arm64_load->load_crashdump_segments->add_buffer_phys_virt->add_segment_phys_virt->virt_to_phys
>    and this call is also before the call to load_elf_exec_in_crashmem which init's arm64_mem.memstart to crash_reserved_mem.start.
>    So arm64_mem.memstart is also not set before the call to virt_to_phys.

I need refresh my memory about the flow, but in this particular case,
the last argument, phys, of add_buffer_phys_virt() is 0 and virt_to_phys()
will not be called.

Do you have any other evidence that the assertion above is broken?

Thanks,
-Takahiro AKASHI


> 	Please share your comments.
>
> Thanks,
> Anurup
>
>
> On 1/8/2015 1:40 PM, AKASHI Takahiro wrote:
>> Hi Anurup,
>>
>> On 01/08/2015 03:35 PM, Anurup M wrote:
>>> Hi Akashi, Geoff,
>>>
>>>      I tried to check kdump on arm64 on Foundation model. The/proc/vmcore is generated.
>>> But I couldnot check if it is proper. Is there a makedumpfile binary for arm64? and also crash tool.
>>> I used the master branch of https://git.linaro.org/people/geoff.levand/linux-kexec.git to verify.
>>>        Please provide some information about the current status or support for kdump on arm64?
>>> and the ways to verify or start development on Foundation model.
>>
>> The story is that I used to work on kdump, but handed it off
>> to Geoff at some time. Since then, he merged it into his repo
>> but I don't think that he has tested (verified) it yet.
>> So please take it as a study work (or prototype), although I'm
>> pretty sure that it works well on model except some issues.
>>
>> Regarding /proc/vmcore, if you can retrieve it to your host machine,
>> you can simply verify the contents as follows:
>>    $ aarch64-linux-gnu-gdb vmlinux core(=vmcore)
>>    (gdb) info threads
>>    (gdb) bt
>>     ...
>>
>> I also have a trivial patch for crash tool to cross-build it, but
>> arm64 support (by RedHat folk) is already there.
>>
>> Thanks,
>> -Takahiro AKASHI
>>
>>> Thanks,
>>> Anurup M
>>>
>>



More information about the kexec mailing list