From: catalin.marinas@arm.com (Catalin Marinas)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] clocksource: arch_timer: Fix code to use physical timers when requested
Date: Mon, 8 Sep 2014 14:54:36 +0100 [thread overview]
Message-ID: <20140908135436.GC22717@arm.com> (raw)
In-Reply-To: <CAD=FV=UwfP0x-bswbtV_eUvpKeOSNnsVVLTE3VHguyhm_jiSug@mail.gmail.com>
On Fri, Sep 05, 2014 at 11:11:47PM +0100, Doug Anderson wrote:
> On Thu, Aug 28, 2014 at 2:35 AM, Mark Rutland <mark.rutland@arm.com> wrote:
> > Not if you boot Linux at hyp, as we've recommended for this precise
> > reason. That doesn't fix other things like CNTFRQ if the secure
> > initialisation doesn't poke that, however.
>
> I'll freely admit that I'm out of my league and out of my comfort zone
> here, but...
>
> In the theory that firmware ought to be as minimal as possible
> (because it's hard to update and hard to keep in sync with kernel
> versions), it seems like firmware ought to start the kernel out in as
> permissive mode as it's willing to provide, right?
Not necessarily (and definitely not for arm64). And we've seen in
practice that the actual deployed kernel may run in a different security
mode than what's in mainline and used for initial development (you may
just not see all the patches upstream). For development, that's indeed
simpler, but once you go into production, a customer requesting some
secure OS for payments etc. and Linux is moved to the non-secure side
(and you end up putting hacks in the kernel because they were not
spotted during initial development with Linux running in secure mode).
> If the kernel is started out as permissive as possible then it can do
> anything it needs to. Future versions of the kernel can be
> implemented to do any way-cool things that they want to do without an
> update to firmware, right? ...and current versions of the kernel can
> just shed permissions if they don't want them.
>
> ...so if I understand correctly, "Secure SVC" mode is more permissive
> than "Non Secure HYP" mode, right? It looks to me as if we currently
> start the kernel in "Secure SVC" mode. What do you think about the
> kernel detecting Secure SVC and then dropping down permission levels
> (to Non Secure HYP). Once it did this, it could update things like
> the virtual offset and then transition down further into non-secure
> SVC mode.
If we talk about ARMv8/AArch64, Secure SVC (aka secure EL1) is not more
permissive than Non-secure Hyp (aka non-secure EL2). The only way to go
from secure EL1 to non-secure EL2 is via EL3 (and SMC call) which means
firmware code. Certain registers like CNTFRQ are only writable in EL3,
CNTVOFF in EL2 or EL3.
--
Catalin
next prev parent reply other threads:[~2014-09-08 13:54 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-27 21:03 [PATCH] clocksource: arch_timer: Fix code to use physical timers when requested Sonny Rao
2014-08-27 21:19 ` Olof Johansson
2014-08-27 21:27 ` Sonny Rao
2014-08-27 22:26 ` Stephen Boyd
2014-08-27 22:33 ` Olof Johansson
2014-08-28 0:56 ` Stephen Boyd
2014-08-28 2:58 ` Olof Johansson
2014-08-28 3:33 ` Doug Anderson
2014-08-28 9:35 ` Mark Rutland
2014-08-28 17:09 ` Christopher Covington
2014-08-28 18:04 ` Mark Rutland
2014-08-29 0:10 ` Sonny Rao
2014-08-29 10:04 ` Mark Rutland
2014-09-04 17:01 ` Sonny Rao
2014-09-04 17:47 ` Mark Rutland
2014-09-04 17:48 ` Lorenzo Pieralisi
2014-09-05 22:11 ` Doug Anderson
2014-09-08 13:54 ` Catalin Marinas [this message]
2014-09-10 17:17 ` Doug Anderson
2014-09-10 17:34 ` Will Deacon
2014-09-10 18:09 ` Doug Anderson
2014-09-10 18:46 ` Will Deacon
2014-09-10 19:50 ` Doug Anderson
2014-09-11 9:57 ` Will Deacon
2014-09-11 15:54 ` Doug Anderson
2014-09-10 14:58 ` Christopher Covington
2014-09-10 15:47 ` Catalin Marinas
2014-09-10 15:55 ` Mark Rutland
2014-09-10 16:39 ` Olof Johansson
2014-09-10 17:19 ` Doug Anderson
2014-08-28 9:23 ` Marc Zyngier
2014-09-10 17:27 ` Mark Rutland
2014-09-10 17:52 ` Doug Anderson
2014-09-10 18:05 ` Sonny Rao
2014-09-10 18:35 ` Doug Anderson
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=20140908135436.GC22717@arm.com \
--to=catalin.marinas@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).