[Crash-utility] RISCV64: Use va_kernel_pa_offset in VTOP()

Song Shuai suagrfillet at gmail.com
Mon Jul 24 01:44:12 PDT 2023



在 2023/7/24 15:41, Conor Dooley 写道:
> Hey,
> 
> On Mon, Jul 24, 2023 at 12:06:49PM +0800, Song Shuai wrote:
>> Since RISC-V Linux v6.4, the commit 3335068f8721 ("riscv: Use
>> PUD/P4D/PGD pages for the linear mapping") changes the
>> phys_ram_base from the kernel_map.phys_addr to the start of DRAM.
>>
>> The Crash's VTOP() still uses phys_ram_base and kernel_map.virt_addr
>> to translate kernel virtual address, that made Crash boot failed with
>> Linux v6.4 and later version.
>>
>> Let Linux export kernel_map.va_kernel_pa_offset in v6.5 and Crash can
>> use "va_kernel_pa_offset" to translate the kernel virtual address in
>> VTOP() correctly.
>>
>> Signed-off-by: Song Shuai <suagrfillet at gmail.com>
>> ---
>> You can check/test the Linux changes from this link:
>> https://github.com/sugarfillet/linux/commits/6.5-rc3-crash
>>
>> And I'll send the Linux changes to riscv/for-next If you're ok with this patch.
> 
> If you want this to go into 6.5, you'll need to send it for riscv/fixes
> instead. It sounds like a fix for this would need to go into 6.4 too,
> no?
You're right, that should be riscv/fixes for 6.5 and this issue also 
need to be fixed in 6.4 stable.

How about waiting for Crash guys' comments on the introduction of the 
"va_kernel_pa_offset" in vmcoreinfo
and then determine which stable version should be taken in the first 
"if" of kernel_version.
> 

-- 
Thanks
Song Shuai



More information about the kexec mailing list