Messages in this thread Patch in this message | | | Date | Thu, 25 May 2023 15:20:35 +0100 | From | Conor Dooley <> | Subject | Re: Bug report: kernel paniced when system hibernates |
| |
On Thu, May 25, 2023 at 07:29:46PM +0530, Anup Patel wrote: > On Thu, May 25, 2023 at 7:26 PM Conor Dooley <conor.dooley@microchip.com> wrote: > > > > On Thu, May 25, 2023 at 07:13:11PM +0530, Anup Patel wrote: > > > On Thu, May 25, 2023 at 7:08 PM Conor Dooley <conor.dooley@microchip.com> wrote: > > > > > > > > On Thu, May 25, 2023 at 06:51:28PM +0530, Anup Patel wrote: > > > > > > > > > > We should only rely on this node name for known bad versions of opensbi > > > > > > IMO. Going forward, if something needs to be reserved for firmware, the > > > > > > firmware should make sure that it is reserved by using the property for > > > > > > that purpose :) > > > > > > > > > There is no issue with OpenSBI since it does the right thing by marking > > > > > memory as reserved in the DT. This real issue is with the kernel handling > > > > > of reserved memory for hibernate. > > > > > > > > I don't think we are talking about the same thing here. I meant the > > > > no-map property which OpenSBI does not set. > > > > > > Yes, we are talking about the same thing. It's not just OpenSBI not > > > setting no-map property in reserved memory node because other > > > SBI implementations would be doing the same thing (i.e. not setting > > > no-map property) > > > > Other SBI implementations doing the same thing doesn't make it any more > > correct though, right? > > Like multiple folks suggested, we need DT binding for distinguishing > firmware reserved memory from other reserved memory.
And I have agreed with multiple times!
> Until that > happens we should either mark hibernate support as experimental > or revert it.
That works for me. How about the below?
-- >8 -- From 1d4381290a1600eff9b29b8ace6be73955d9726c Mon Sep 17 00:00:00 2001 From: Conor Dooley <conor.dooley@microchip.com> Date: Thu, 25 May 2023 15:09:08 +0100 Subject: [PATCH] RISC-V: mark hibernation as broken
Hibernation support depends on firmware marking its reserved regions as not mappable by Linux. As things stand, the de-facto SBI implementation (OpenSBI) does not do this, and other implementations may not do so either, resulting in kernel panics during hibernation ([1], [2]).
Disable support for hibernation until such time that an SBI implementation independent way to communicate what regions are reserved has been agreed upon.
Reported-by: Song Shuai <suagrfillet@gmail.com> Link: https://lore.kernel.org/all/CAAYs2=gQvkhTeioMmqRDVGjdtNF_vhB+vm_1dHJxPNi75YDQ_Q@mail.gmail.com/ [1] Reported-by: JeeHeng Sia <jeeheng.sia@starfivetech.com> Link: https://groups.google.com/a/groups.riscv.org/g/sw-dev/c/ITXwaKfA6z8 Signed-off-by: Conor Dooley <conor.dooley@microchip.com> --- arch/riscv/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index 13f058490608..b2495192f35a 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -801,7 +801,7 @@ menu "Power management options" source "kernel/power/Kconfig" config ARCH_HIBERNATION_POSSIBLE - def_bool y + def_bool n config ARCH_HIBERNATION_HEADER def_bool HIBERNATION -- 2.39.2 [unhandled content-type:application/pgp-signature] | |