[PATCH RFC 3/6] arm64: allocate memory for other segments after kernel

Baoquan He bhe at redhat.com
Sun Apr 19 20:21:06 PDT 2015


On 04/16/15 at 10:17pm, Pratyush Anand wrote:
> In case of KEXEC_ON_CRASH, load other segments after the addresses where
> kernel segments finish.
> 
> Signed-off-by: Pratyush Anand <panand at redhat.com>
> ---
>  kexec/arch/arm64/crashdump-arm64.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/kexec/arch/arm64/crashdump-arm64.c b/kexec/arch/arm64/crashdump-arm64.c
> index 41266f294589..75f4e4d269ca 100644
> --- a/kexec/arch/arm64/crashdump-arm64.c
> +++ b/kexec/arch/arm64/crashdump-arm64.c
> @@ -312,5 +312,6 @@ void set_crash_entry(struct mem_ehdr *ehdr, struct kexec_info *info)
>  off_t locate_dtb_in_crashmem(struct kexec_info *info, off_t dtb_size)
>  {
>  	return locate_hole(info, dtb_size, 128UL * 1024,
> -		crash_reserved_mem.start, crash_reserved_mem.end, 1);
> +		crash_reserved_mem.start + arm64_mem.text_offset +
> +		arm64_mem.image_size, crash_reserved_mem.end, 1);

So you have decided to hard code the sequence of segment. It
seems not good. Why don't do it by calling add_buffer_phys_virt() or
implement a similar function if you don't like add_buffer_phys_virt.

>  }
> -- 
> 2.1.0
> 
> 
> _______________________________________________
> kexec mailing list
> kexec at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/kexec



More information about the kexec mailing list