public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
* ARM64: hibernation: How to use hibernation/suspend-to-disk on ARMv8?
@ 2015-01-10 15:14 George Bush
  2015-01-12  6:15 ` Amit Kucheria
  2015-01-12 11:54 ` Lorenzo Pieralisi
  0 siblings, 2 replies; 3+ messages in thread
From: George Bush @ 2015-01-10 15:14 UTC (permalink / raw)
  To: sebastian.capella, Russ.Dill, rjw, linux, len.brown, nico,
	santosh.shilimkar, will.deacon, jonathan.austin, catalin.marinas,
	u.kleine-koenig, sboyd, victor.kamensky, r.sricharan, liuj97,
	lauraa, zhou0283
  Cc: linux-pm, linux-arm-kernel, linux-arm-msm, linux-omap,
	linaro-kernel, linux-kernel

Hi all

I notice we have hibernation.c in arm/kernel, however, I don't find it in arm64.
Does it mean arm64 do not support hibernation/suspend-to-disk function?

I tried some path to search the reason, but found nothing, they all say arm64
has the backward compatibility. So I send this email to the community and
hope to get the reason.
Thanks!

I ported the arm hibernation.c to arm64/kernel(with LP64), but failed in a
strange way. When I do resume, the arch_restore_image() get a page_fault
when it calls the copy_page(), like:
"Unable to handle kernel paging request at virtual address 0xffffffbc055c3fa8"
I'm sure the copy_page()'s parameters is in the memory area, why and how
I get the strange address 0xffffffbc055c3fa8?

vmalloc:         0xffffff8000000000 - 0xffffffbb00000000
vmemmap:     0xffffffbc01400000 - 0xffffffbc04f88000
modules:       0xffffffbffc000000   -  0xffffffc000000000
memory:        0xffffffc000000000 - 0xffffffc0be800000


Look forward to your reply, thanks!

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: ARM64: hibernation: How to use hibernation/suspend-to-disk on ARMv8?
  2015-01-10 15:14 ARM64: hibernation: How to use hibernation/suspend-to-disk on ARMv8? George Bush
@ 2015-01-12  6:15 ` Amit Kucheria
  2015-01-12 11:54 ` Lorenzo Pieralisi
  1 sibling, 0 replies; 3+ messages in thread
From: Amit Kucheria @ 2015-01-12  6:15 UTC (permalink / raw)
  To: George Bush
  Cc: Russ Dill, Rafael J. Wysocki, Russell King - ARM Linux,
	Brown, Len, Nicolas Pitre, Santosh Shilimkar, Will Deacon,
	jonathan.austin, Catalin Marinas, u.kleine-koenig, Stephen Boyd,
	victor.kamensky, r.sricharan, liuj97, lauraa, zhou0283,
	Lists linaro-kernel, Linux PM list, linux-arm-msm,
	Linux Kernel Mailing List, linux-omap, Lists LAKML,
	Sebastian Capella

(Fixing Sebastian's email address)

On Sat, Jan 10, 2015 at 8:44 PM, George Bush <georgebush815@gmail.com> wrote:
> Hi all
>
> I notice we have hibernation.c in arm/kernel, however, I don't find it in arm64.
> Does it mean arm64 do not support hibernation/suspend-to-disk function?

Correct. arm64 is a separate architecture and will need to implement
something similar to SHA 603fb42a66499ab353466c7afa3d38beea20a8a9.

> I tried some path to search the reason, but found nothing, they all say arm64
> has the backward compatibility. So I send this email to the community and
> hope to get the reason.
> Thanks!
>
> I ported the arm hibernation.c to arm64/kernel(with LP64), but failed in a
> strange way. When I do resume, the arch_restore_image() get a page_fault
> when it calls the copy_page(), like:

I'm afraid I can't help with the memory management aspects of arm64
but you've cc'ed the right people who'd know.

> "Unable to handle kernel paging request at virtual address 0xffffffbc055c3fa8"
> I'm sure the copy_page()'s parameters is in the memory area, why and how
> I get the strange address 0xffffffbc055c3fa8?
>
> vmalloc:         0xffffff8000000000 - 0xffffffbb00000000
> vmemmap:     0xffffffbc01400000 - 0xffffffbc04f88000
> modules:       0xffffffbffc000000   -  0xffffffc000000000
> memory:        0xffffffc000000000 - 0xffffffc0be800000
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: ARM64: hibernation: How to use hibernation/suspend-to-disk on ARMv8?
  2015-01-10 15:14 ARM64: hibernation: How to use hibernation/suspend-to-disk on ARMv8? George Bush
  2015-01-12  6:15 ` Amit Kucheria
@ 2015-01-12 11:54 ` Lorenzo Pieralisi
  1 sibling, 0 replies; 3+ messages in thread
From: Lorenzo Pieralisi @ 2015-01-12 11:54 UTC (permalink / raw)
  To: George Bush
  Cc: sebastian.capella@linaro.org, Russ.Dill@ti.com, rjw@rjwysocki.net,
	linux@arm.linux.org.uk, len.brown@intel.com, nico@linaro.org,
	santosh.shilimkar@ti.com, Will Deacon, Jonathan Austin,
	Catalin Marinas, u.kleine-koenig@pengutronix.de,
	sboyd@codeaurora.org, victor.kamensky@linaro.org,
	r.sricharan@ti.com, liuj97@gmail.com, lauraa@codeaurora.org,
	zhou0283@gmail.com, linux-pm@vger.kernel.org, linux-arm-kernel

On Sat, Jan 10, 2015 at 03:14:33PM +0000, George Bush wrote:
> Hi all
> 
> I notice we have hibernation.c in arm/kernel, however, I don't find it in arm64.
> Does it mean arm64 do not support hibernation/suspend-to-disk function?

Yes, not at the moment, but we have planned to implement it.

> I tried some path to search the reason, but found nothing, they all say arm64
> has the backward compatibility. So I send this email to the community and
> hope to get the reason.
> Thanks!
> 
> I ported the arm hibernation.c to arm64/kernel(with LP64), but failed in a
> strange way. When I do resume, the arch_restore_image() get a page_fault
> when it calls the copy_page(), like:
> "Unable to handle kernel paging request at virtual address 0xffffffbc055c3fa8"
> I'm sure the copy_page()'s parameters is in the memory area, why and how
> I get the strange address 0xffffffbc055c3fa8?
> 
> vmalloc:         0xffffff8000000000 - 0xffffffbb00000000
> vmemmap:     0xffffffbc01400000 - 0xffffffbc04f88000
> modules:       0xffffffbffc000000   -  0xffffffc000000000
> memory:        0xffffffc000000000 - 0xffffffc0be800000
> 
> 
> Look forward to your reply, thanks!

We need your patch, kernel version, config file, your board/SoC HW details
before even assuming what is happening. Please provide them and I
am happy to help you implement suspend-to-disk on arm64 properly.

Thanks,
Lorenzo

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-01-12 11:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-10 15:14 ARM64: hibernation: How to use hibernation/suspend-to-disk on ARMv8? George Bush
2015-01-12  6:15 ` Amit Kucheria
2015-01-12 11:54 ` Lorenzo Pieralisi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox