[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0684ed3d-0dde-8dce-f12c-72ef86bc91f9@linux.ibm.com>
Date: Fri, 17 Jul 2020 10:02:00 +0530
From: Hari Bathini <hbathini@...ux.ibm.com>
To: Thiago Jung Bauermann <bauerman@...ux.ibm.com>
Cc: Pingfan Liu <piliu@...hat.com>, Nayna Jain <nayna@...ux.ibm.com>,
Kexec-ml <kexec@...ts.infradead.org>,
Mahesh J Salgaonkar <mahesh@...ux.ibm.com>,
Mimi Zohar <zohar@...ux.ibm.com>,
lkml <linux-kernel@...r.kernel.org>,
linuxppc-dev <linuxppc-dev@...abs.org>,
Sourabh Jain <sourabhjain@...ux.ibm.com>,
Petr Tesarik <ptesarik@...e.cz>,
Andrew Morton <akpm@...ux-foundation.org>,
Dave Young <dyoung@...hat.com>,
Vivek Goyal <vgoyal@...hat.com>,
Eric Biederman <ebiederm@...ssion.com>
Subject: Re: [PATCH v3 03/12] powerpc/kexec_file: add helper functions for
getting memory ranges
On 15/07/20 5:19 am, Thiago Jung Bauermann wrote:
>
> Hello Hari,
>
> Hari Bathini <hbathini@...ux.ibm.com> writes:
>
>> In kexec case, the kernel to be loaded uses the same memory layout as
>> the running kernel. So, passing on the DT of the running kernel would
>> be good enough.
>>
>> But in case of kdump, different memory ranges are needed to manage
>> loading the kdump kernel, booting into it and exporting the elfcore
>> of the crashing kernel. The ranges are exlude memory ranges, usable
>
> s/exlude/exclude/
>
>> memory ranges, reserved memory ranges and crash memory ranges.
>>
>> Exclude memory ranges specify the list of memory ranges to avoid while
>> loading kdump segments. Usable memory ranges list the memory ranges
>> that could be used for booting kdump kernel. Reserved memory ranges
>> list the memory regions for the loading kernel's reserve map. Crash
>> memory ranges list the memory ranges to be exported as the crashing
>> kernel's elfcore.
>>
>> Add helper functions for setting up the above mentioned memory ranges.
>> This helpers facilitate in understanding the subsequent changes better
>> and make it easy to setup the different memory ranges listed above, as
>> and when appropriate.
>>
>> Signed-off-by: Hari Bathini <hbathini@...ux.ibm.com>
>> Tested-by: Pingfan Liu <piliu@...hat.com>
>
<snip>
>> +/**
>> + * add_reserved_ranges - Adds "/reserved-ranges" regions exported by f/w
>> + * to the given memory ranges list.
>> + * @mem_ranges: Range list to add the memory ranges to.
>> + *
>> + * Returns 0 on success, negative errno on error.
>> + */
>> +int add_reserved_ranges(struct crash_mem **mem_ranges)
>> +{
>> + int i, len, ret = 0;
>> + const __be32 *prop;
>> +
>> + prop = of_get_property(of_root, "reserved-ranges", &len);
>> + if (!prop)
>> + return 0;
>> +
>> + /*
>> + * Each reserved range is an (address,size) pair, 2 cells each,
>> + * totalling 4 cells per range.
>
> Can you assume that, or do you need to check the #address-cells and
> #size-cells properties of the root node?
Taken from early_reserve_mem_dt() which did not seem to care.
Should we be doing any different here?
Thanks
Hari
Powered by blists - more mailing lists