lkml.org 
[lkml]   [2023]   [Jun]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH V1 1/3] Revert "RISC-V: mark hibernation as nonportable"
From

Sorry for the delayed reply,
My tinylab email went something wrong, I'll use gmail in this thread.

在 2023/6/25 22:18, Conor Dooley 写道:
> On Sun, Jun 25, 2023 at 10:09:29PM +0800, Song Shuai wrote:
>> This reverts commit ed309ce522185583b163bd0c74f0d9f299fe1826.
>>
>> With the commit 3335068f8721 ("riscv: Use PUD/P4D/PGD pages for the
>> linear mapping") reverted, the MIN_MEMBLOCK_ADDR points the kernel
>> load address which was placed at a PMD boundary.
>
>> And firmware always
>> correctly mark resident memory, or memory protected with PMP as
>> per the devicetree specification and/or the UEFI specification.
>
> But this is not true? The versions of OpenSBI that you mention in your
> cover letter do not do this.
> Please explain.
>

At this time, OpenSbi [v0.8,v1.3) and edk2(RiscVVirt) indeed don't obey
the DT/UEFI spec. This statement is excerpted from "Reserved memory for
resident firmware" part from the upcoming riscv/boot.rst. It isn't
accurate for now. How about deleting this one?

Actually with 3335068f8721 reverted, the change of MIN_MEMBLOCK_ADDR can
avoid the mapping of firmware memory, I will make it clear in the next
version.

>> So those regions will not be mapped in the linear mapping and they
>> can be safely saved/restored by hibernation.
>>
>> Signed-off-by: Song Shuai <songshuaishuai@tinylab.org>
>> ---
>> arch/riscv/Kconfig | 5 +----
>> 1 file changed, 1 insertion(+), 4 deletions(-)
>>
>> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
>> index 5966ad97c30c..17b5fc7f54d4 100644
>> --- a/arch/riscv/Kconfig
>> +++ b/arch/riscv/Kconfig
>> @@ -800,11 +800,8 @@ menu "Power management options"
>>
>> source "kernel/power/Kconfig"
>>
>> -# Hibernation is only possible on systems where the SBI implementation has
>> -# marked its reserved memory as not accessible from, or does not run
>> -# from the same memory as, Linux
>> config ARCH_HIBERNATION_POSSIBLE
>> - def_bool NONPORTABLE
>> + def_bool y
>>
>> config ARCH_HIBERNATION_HEADER
>> def_bool HIBERNATION
>> --
>> 2.20.1
>>

\
 
 \ /
  Last update: 2023-06-25 17:10    [W:0.058 / U:0.812 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site