[PATCH 1/2] RISC-V: Use linux,usable-memory-range for crash kernel

Song Shuai songshuaishuai at tinylab.org
Mon Aug 14 19:49:12 PDT 2023



在 2023/8/14 19:10, Conor Dooley 写道:
> On Fri, Aug 11, 2023 at 06:41:16PM +0800, Song Shuai wrote:
>> Now we use "memeory::linux,usable-memory" to indicate the available
>> memory for the crash kernel.
>>
>> While booting with UEFI, the crash kernel would use efi.memmap to
>> re-populate memblock and then first kernel's memory would be corrputed.
>> Consequently, the /proc/vmcore file failed to create in my local test.
>>
>> And according to "chosen" dtschema [1], the available memory for the
>> crash kernel should be held via "chosen::linux,usable-memory-range"
>> property which will re-cap memblock even after UEFI's re-population.
>>
>> [1]:
>> https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/chosen.yaml
> 
> nit: Please use Link: tags for links rather than free-form text.
> 
> This doesn't apply to fixes, for-next or master. What is your base?
> 
Actually, I sent these patches to kexec-tools/build-test-riscv-v2,
perhaps I shouldn't cc the linux-riscv mailing list.
Sorry for bothering you.
>>
>> Signed-off-by: Song Shuai <songshuaishuai at tinylab.org>
>> ---
>>   kexec/arch/riscv/kexec-riscv.c | 8 ++++----
>>   1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/kexec/arch/riscv/kexec-riscv.c b/kexec/arch/riscv/kexec-riscv.c
>> index fe5dd2d..5aea035 100644
>> --- a/kexec/arch/riscv/kexec-riscv.c
>> +++ b/kexec/arch/riscv/kexec-riscv.c
>> @@ -79,20 +79,20 @@ int load_extra_segments(struct kexec_info *info, uint64_t kernel_base,
>>   		}
>>   
>>   		ret = dtb_add_range_property(&fdt->buf, &fdt->size, start, end,
>> -					     "memory", "linux,usable-memory");
>> +					     "chosen", "linux,usable-memory-range");
>>   		if (ret) {
>> -			fprintf(stderr, "Couldn't add usable-memory to fdt\n");
>> +			fprintf(stderr, "Couldn't add usable-memory-range to fdt\n");
>>   			return ret;
>>   		}
>>   
>>   		max_usable = end;
>>   	} else {
>>   		/*
>> -		 * Make sure we remove elfcorehdr and usable-memory
>> +		 * Make sure we remove elfcorehdr and usable-memory-range
>>   		 * when switching from crash kernel to a normal one.
>>   		 */
>>   		dtb_delete_property(fdt->buf, "chosen", "linux,elfcorehdr");
>> -		dtb_delete_property(fdt->buf, "memory", "linux,usable-memory");
>> +		dtb_delete_property(fdt->buf, "chosen", "linux,usable-memory-range");
>>   	}
>>   
>>   	/* Do we need to include an initrd image ? */
>> -- 
>> 2.20.1
>>
>>
>> _______________________________________________
>> kexec mailing list
>> kexec at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/kexec

-- 
Thanks
Song Shuai



More information about the kexec mailing list