linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: lorenzo.pieralisi@arm.com (Lorenzo Pieralisi)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 07/13] arm64: Change cpu_resume() to enable mmu early then access sleep_sp by va
Date: Mon, 8 Feb 2016 11:55:52 +0000	[thread overview]
Message-ID: <20160208115552.GA5471@red-moon> (raw)
In-Reply-To: <56B859D9.3080601@arm.com>

On Mon, Feb 08, 2016 at 09:03:21AM +0000, James Morse wrote:
> Hi Lorenzo,
> 
> On 05/02/16 16:26, Lorenzo Pieralisi wrote:
> >> cpu_do_{suspend,resume} could be further reduced to not restore: cpacr_el1,
> >> mdscr_el1, tcr_el1, vbar_el1 and sctlr_el1, all of which are set by
> >> __cpu_setup(). However these values all contain res0 bits that may be used
> >> to enable future features.
> > 
> > This patch is a very nice clean-up, a comment below.
> > 
> > I think that for registers like tcr_el1 and sctlr_el1 we should define
> > a restore mask (to avoid overwriting bits set-up by __cpu_setup), eg
> > current code that restores the tcr_el1 seems wrong to me, see below.
> 
> Presumably this should be two masks, one to find RES0 bits that are
> set, and are assumed to have some new meaning, and another to find
> RES1 bits that have been cleared.

For the time being, it is ok to just fix t0sz restore which means
that either you avoid overwriting tcr_el1.t0sz in cpu_do_resume()
or you force the t0sz value field to be whatever value is already
present in the register (ie set-up in __cpu_setup through
tcr_set_idmap_t0sz) and finally set it to correct the default value
in __cpu_suspend_exit() using the correct procedure:

- set reserved ttbr0
- flush tlb
- cpu_set_default_tcr_t0sz

Thanks,
Lorenzo

  reply	other threads:[~2016-02-08 11:55 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-28 10:42 [PATCH v4 00/13] arm64: kernel: Add support for hibernate/suspend-to-disk James Morse
2016-01-28 10:42 ` [PATCH v4 01/13] arm64: Fold proc-macros.S into assembler.h James Morse
2016-01-28 10:42 ` [PATCH v4 02/13] arm64: Cleanup SCTLR flags James Morse
2016-01-28 10:42 ` [PATCH v4 03/13] arm64: Convert hcalls to use HVC immediate value James Morse
2016-01-28 10:42 ` [PATCH v4 04/13] arm64: Add new hcall HVC_CALL_FUNC James Morse
2016-02-02  6:53   ` AKASHI Takahiro
2016-01-28 10:42 ` [PATCH v4 05/13] arm64: kvm: allows kvm cpu hotplug James Morse
2016-02-02  6:46   ` AKASHI Takahiro
2016-01-28 10:42 ` [PATCH v4 06/13] arm64: kernel: Rework finisher callback out of __cpu_suspend_enter() James Morse
2016-01-28 10:42 ` [PATCH v4 07/13] arm64: Change cpu_resume() to enable mmu early then access sleep_sp by va James Morse
2016-02-05 16:26   ` Lorenzo Pieralisi
2016-02-08  9:03     ` James Morse
2016-02-08 11:55       ` Lorenzo Pieralisi [this message]
2016-02-08 12:03         ` Mark Rutland
2016-01-28 10:42 ` [PATCH v4 08/13] arm64: kernel: Include _AC definition in page.h James Morse
2016-01-28 10:42 ` [PATCH v4 09/13] arm64: Promote KERNEL_START/KERNEL_END definitions to a header file James Morse
2016-01-28 10:42 ` [PATCH v4 10/13] arm64: Add new asm macro copy_page James Morse
2016-01-28 10:42 ` [PATCH v4 11/13] PM / Hibernate: Call flush_icache_range() on pages restored in-place James Morse
2016-01-31 17:25   ` Pavel Machek
2016-01-28 10:42 ` [PATCH v4 12/13] arm64: kernel: Add support for hibernate/suspend-to-disk James Morse
2016-01-28 10:42 ` [PATCH v4 13/13] arm64: hibernate: Prevent resume from a different kernel version James Morse
2016-01-29 22:34 ` [PATCH v4 00/13] arm64: kernel: Add support for hibernate/suspend-to-disk Kevin Hilman
2016-02-01  8:53   ` James Morse
2016-02-03  0:42     ` Kevin Hilman
2016-02-05 14:18       ` James Morse
2016-02-08 21:20         ` Kevin Hilman

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=20160208115552.GA5471@red-moon \
    --to=lorenzo.pieralisi@arm.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;
as well as URLs for NNTP newsgroup(s).