From: frank.hofmann@tomtom.com (Frank Hofmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH v4] ARM hibernation/suspend-to-disk support
Date: Thu, 9 Jun 2011 17:53:53 +0100 (BST) [thread overview]
Message-ID: <alpine.DEB.2.00.1106091752210.11513@localhost6.localdomain6> (raw)
In-Reply-To: <20110609165029.GC24424@n2100.arm.linux.org.uk>
On Thu, 9 Jun 2011, Russell King - ARM Linux wrote:
> On Tue, Jun 07, 2011 at 05:48:17PM +0100, Frank Hofmann wrote:
>> There are a few dependencies this patch brings in:
>>
>> * due to the use of cpu_suspend / cpu_resume, it'll only apply as-is
>> to kernels no older than f6b0fa02e8b0708d17d631afce456524eadf87ff,
>> where Russell King introduced the generic interface.
>> Patching these into older kernels is a little work.
>>
>> * it temporarily uses swapper_pg_dir and establishes 1:1 mappings there
>> for a MMU-off transition, which is necessary before resume.
>> In order to tear these down afterwards, identity_mapping_del() needs
>> to be called; for some reason that's #ifdef CONFIG_SMP ...
>>
>> * it needs to "catch" sleep_save_sp after cpu_suspend() so that resume
>> can be provided with the proper starting point.
>> This requires an ENTRY(sleep_save_sp) in arch/arm/kernel/sleep.S so
>> that the symbol becomes public.
>>
>> * it assumes cpu_reset will disable the MMU. cpu_v6_reset/cpu_v7_reset
>> are currently not doing so (amongst some other minor chip types).
>>
>> * there's kind of a circular dependency between CONFIG_HIBERNATION and
>> CONFIG_PM_SLEEP, on ARM. The latter is necessary so that cpu_suspend
>> and cpu_resume are compiled in, but it cannot be selected via
>> ARCH_HIBERNATION_POSSIBLE because CONFIG_PM_SLEEP depends on
>> CONFIG_HIBERNATION_INTERFACE - selected by CONFIG_HIBERNATION.
>
> Another issue is that it uses PHYS_OFFSET in assembly code which is not
> permissible with P2V patching.
>
Would calling something like:
unsigned long __swsusp_arch_get_vpoffset(void *addr)
{
return (virt_to_phys(addr) - (unsigned long)addr);
}
from the assembly be ok ?
(That's what I've gone for at the moment to address this; a generic func
somewhere to query for this would obviously be ok as well)
FrankH.
prev parent reply other threads:[~2011-06-09 16:53 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-07 16:48 [RFC PATCH v4] ARM hibernation/suspend-to-disk support Frank Hofmann
2011-06-07 21:48 ` [linux-pm] " Rafael J. Wysocki
2011-06-09 15:30 ` Frank Hofmann
2011-06-09 15:40 ` Russell King - ARM Linux
2011-06-09 16:26 ` Frank Hofmann
2011-06-09 16:35 ` Santosh Shilimkar
2011-06-09 17:07 ` Frank Hofmann
2011-06-09 17:10 ` Santosh Shilimkar
2011-06-09 17:14 ` Russell King - ARM Linux
2011-06-09 16:27 ` Santosh Shilimkar
2011-06-09 16:40 ` Russell King - ARM Linux
2011-06-09 16:53 ` Santosh Shilimkar
2011-06-09 17:12 ` Russell King - ARM Linux
2011-06-09 17:21 ` Santosh Shilimkar
2011-06-09 17:53 ` Russell King - ARM Linux
2011-06-21 10:11 ` Russell King - ARM Linux
2011-06-10 12:22 ` Frank Hofmann
2011-06-10 13:43 ` Russell King - ARM Linux
2011-06-10 13:47 ` Frank Hofmann
2011-06-10 14:02 ` Russell King - ARM Linux
2011-06-10 14:54 ` Frank Hofmann
2011-06-09 16:44 ` Frank Hofmann
2011-06-09 16:56 ` Santosh Shilimkar
2011-06-09 16:50 ` Russell King - ARM Linux
2011-06-09 16:53 ` Frank Hofmann [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.2.00.1106091752210.11513@localhost6.localdomain6 \
--to=frank.hofmann@tomtom.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox