From: Stephen Warren <swarren@wwwdotorg.org>
To: Catalin Marinas <catalin.marinas@arm.com>
Cc: Alex Courbot <acourbot@nvidia.com>,
Alexandre Courbot <gnurou@gmail.com>,
Kukjin Kim <kgene.kim@samsung.com>,
Stephen Warren <swarren@nvidia.com>,
Tomasz Figa <t.figa@samsung.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Kyungmin Park <kyungmin.park@samsung.com>,
"linux-samsung-soc@vger.kernel.org"
<linux-samsung-soc@vger.kernel.org>,
Olof Johansson <olof@lixom.net>,
Russell King <linux@arm.linux.org.uk>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] ARM: move firmware_ops to drivers/firmware
Date: Mon, 18 Nov 2013 10:52:36 -0700 [thread overview]
Message-ID: <528A53E4.90401@wwwdotorg.org> (raw)
In-Reply-To: <20131118173047.GF9838@arm.com>
On 11/18/2013 10:30 AM, Catalin Marinas wrote:
> On Mon, Nov 18, 2013 at 05:03:37PM +0000, Stephen Warren wrote:
>> On 11/18/2013 04:58 AM, Catalin Marinas wrote:
>> ...
>>> Of course, trusted foundations interface could be plugged into cpu_ops
>>> on arm64 but I will NAK it on the grounds of not using the PSCI API, nor
>>> the SMC calling convention (and it's easy to fix when porting to ARMv8).
>>> If a supported standard API is used, then there is no need for
>>> additional code in the kernel.
>>
>> What happens when someone takes an existing working secure-mode SW stack
>> and simply re-uses it on some new ARMv8 SoC. Are you going to force
>> people working on upstream to re-write the secure mode firmware in
>> shipped hardware before allowing upstream kernel support?
>
> Don't confuse the secure stack with the secure monitor running at EL3.
> If you want AArch64 support for lower levels (EL2, EL1, EL0), your
> monitor _must_ be AArch64. You can't run legacy AArch32 code at EL3 and
> have lower levels in AArch64 mode (architectural constraint).
I was assuming that vendors would take the existing source code and
simply rebuild it to create the AArch64 secure world. As such, the same
SMC IDs, same structures, etc. would be used. The only source difference
would be to perhaps change some 32-bit registers/struct-fields up to
64-bit. Naively that sounds like the lowest-effort way to get an AArch64
secure world, so I'm purely guessing that that's what vendors will do.
> You can
> still keep the secure services at S-EL1 in AArch32, only that the SMCs
> are handled by EL3 (and that's another aspect the SMC calling convention
> spec is trying to address, mixed register-width secure/non-secure OSes).
I'm not sure of the implications of that statement. Since you mention
SMCs being handled by EL3, I think the quick-and-dirty conversion I
mention above is still likely to be used.
WARNING: multiple messages have this Message-ID (diff)
From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: move firmware_ops to drivers/firmware
Date: Mon, 18 Nov 2013 10:52:36 -0700 [thread overview]
Message-ID: <528A53E4.90401@wwwdotorg.org> (raw)
In-Reply-To: <20131118173047.GF9838@arm.com>
On 11/18/2013 10:30 AM, Catalin Marinas wrote:
> On Mon, Nov 18, 2013 at 05:03:37PM +0000, Stephen Warren wrote:
>> On 11/18/2013 04:58 AM, Catalin Marinas wrote:
>> ...
>>> Of course, trusted foundations interface could be plugged into cpu_ops
>>> on arm64 but I will NAK it on the grounds of not using the PSCI API, nor
>>> the SMC calling convention (and it's easy to fix when porting to ARMv8).
>>> If a supported standard API is used, then there is no need for
>>> additional code in the kernel.
>>
>> What happens when someone takes an existing working secure-mode SW stack
>> and simply re-uses it on some new ARMv8 SoC. Are you going to force
>> people working on upstream to re-write the secure mode firmware in
>> shipped hardware before allowing upstream kernel support?
>
> Don't confuse the secure stack with the secure monitor running at EL3.
> If you want AArch64 support for lower levels (EL2, EL1, EL0), your
> monitor _must_ be AArch64. You can't run legacy AArch32 code at EL3 and
> have lower levels in AArch64 mode (architectural constraint).
I was assuming that vendors would take the existing source code and
simply rebuild it to create the AArch64 secure world. As such, the same
SMC IDs, same structures, etc. would be used. The only source difference
would be to perhaps change some 32-bit registers/struct-fields up to
64-bit. Naively that sounds like the lowest-effort way to get an AArch64
secure world, so I'm purely guessing that that's what vendors will do.
> You can
> still keep the secure services at S-EL1 in AArch32, only that the SMCs
> are handled by EL3 (and that's another aspect the SMC calling convention
> spec is trying to address, mixed register-width secure/non-secure OSes).
I'm not sure of the implications of that statement. Since you mention
SMCs being handled by EL3, I think the quick-and-dirty conversion I
mention above is still likely to be used.
next prev parent reply other threads:[~2013-11-18 17:52 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-17 8:49 [PATCH] ARM: move firmware_ops to drivers/firmware Alexandre Courbot
2013-11-17 8:49 ` Alexandre Courbot
2013-11-17 15:59 ` Catalin Marinas
2013-11-17 15:59 ` Catalin Marinas
2013-11-18 3:05 ` Alex Courbot
2013-11-18 3:05 ` Alex Courbot
2013-11-18 11:58 ` Catalin Marinas
2013-11-18 11:58 ` Catalin Marinas
2013-11-18 11:58 ` Catalin Marinas
2013-11-18 17:03 ` Stephen Warren
2013-11-18 17:03 ` Stephen Warren
2013-11-18 17:10 ` Russell King - ARM Linux
2013-11-18 17:10 ` Russell King - ARM Linux
2013-11-18 17:18 ` Stephen Warren
2013-11-18 17:18 ` Stephen Warren
2013-11-18 17:30 ` Catalin Marinas
2013-11-18 17:30 ` Catalin Marinas
2013-11-18 17:52 ` Stephen Warren [this message]
2013-11-18 17:52 ` Stephen Warren
2013-11-19 11:38 ` Catalin Marinas
2013-11-19 11:38 ` Catalin Marinas
2013-11-19 11:38 ` Catalin Marinas
2013-11-18 19:04 ` Christopher Covington
2013-11-18 19:04 ` Christopher Covington
2013-11-19 11:02 ` Catalin Marinas
2013-11-19 11:02 ` Catalin Marinas
2013-11-19 11:02 ` Catalin Marinas
2013-11-19 2:46 ` Alex Courbot
2013-11-19 2:46 ` Alex Courbot
2013-11-19 12:26 ` Catalin Marinas
2013-11-19 12:26 ` Catalin Marinas
2013-11-19 12:26 ` Catalin Marinas
2013-11-19 14:29 ` Alexandre Courbot
2013-11-19 14:29 ` Alexandre Courbot
2013-11-19 15:07 ` Catalin Marinas
2013-11-19 15:07 ` Catalin Marinas
2013-11-19 15:07 ` Catalin Marinas
2013-11-19 15:17 ` Alexandre Courbot
2013-11-19 15:17 ` Alexandre Courbot
2013-11-18 17:00 ` Stephen Warren
2013-11-18 17:00 ` Stephen Warren
2013-11-18 17:23 ` Catalin Marinas
2013-11-18 17:23 ` Catalin Marinas
2013-11-18 17:14 ` Russell King - ARM Linux
2013-11-18 17:14 ` Russell King - ARM Linux
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=528A53E4.90401@wwwdotorg.org \
--to=swarren@wwwdotorg.org \
--cc=acourbot@nvidia.com \
--cc=catalin.marinas@arm.com \
--cc=gnurou@gmail.com \
--cc=kgene.kim@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=olof@lixom.net \
--cc=swarren@nvidia.com \
--cc=t.figa@samsung.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.