On 05/11/2015 06:41 PM, Baoquan He wrote: > On 05/11/15 at 05:17pm, AKASHI Takahiro wrote: >> On 05/11/2015 04:54 PM, Baoquan He wrote: >>> In this patch you reserve a separate memory region in 1st kernel to >>> store elfcorehdr. I am wondering why you don't call add_buffer in >>> kexec-tools directly. Like this you can get a region from reserved >>> crashkernel region. Then you don't need reserve_elfcorehdr() to reserve >>> memory for elfcorehdr specifically. Like other ARCHs do only one memory >>> region is reserved in 1st kernel, that's crashkernel region. >> >> I think that you misunderstand somewhat. >> * Kexec-tools only locates/identifies a small region for elfcore header within crash kernel's >> memory region while 1st kernel is running. >> * the data in elfcore header is filled up by kexec_load system call on 1st kernel. >> * 1st kernel doesn't reserve any region for elfcore header because the kernel >> commandline parameters don't contains "elfcorehdr=" parameter, then elfcorehdr_size=0. >> * Crash dump kernel does reserve the region, as I said, because we don't want to >> corrupt the info in elfcore header accidentally while crash kernel is running. >> >> Clear? > > OK, got it now. > > Then I am wondering why "elfcorehdr=" can't be contained in kernel > cmdline as other ARCH does. Maybe I need go over all related threads > then know why it is. Thanks for explanation. Kexec-tools on 1st kernel appends "elfcorehdr=" to the kernel command line, actually chosen/bootargs in a device tree, that is passed to *crash dump kernel*. So when crash dump kernel boots up, it can recognizes that area (and reserves it for later use of managing /proc/vmcore.) Thanks, -Takahiro AKASHI > Thanks > Baoquan >