u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
From: Darwin Rambo <drambo@broadcom.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] how to get u-boot code with arm64: core support
Date: Thu, 23 Jan 2014 09:04:55 -0800	[thread overview]
Message-ID: <52E14BB7.5060808@broadcom.com> (raw)
In-Reply-To: <m2d2jizo4p.fsf@lamuella.denx.de>



On 14-01-23 07:58 AM, Detlev Zundel wrote:
> Hi Bhupesh,
>
>>> -----Original Message-----
>>> From: u-boot-bounces at lists.denx.de [mailto:u-boot-bounces at lists.denx.de]
>>> On Behalf Of drambo
>>> Sent: Thursday, January 23, 2014 12:32 AM
>>> To: u-boot at lists.denx.de
>>> Subject: Re: [U-Boot] how to get u-boot code with arm64: core support
>>>
>>> Hi Bhupesh,
>>>
>>>> U-boot doesn't have ARM trusted firmware support as of now. U-boot for
>>>> ARMv8 starts in EL3, whereas UEFI starts in EL2 as trusted firmware
>>>> itself is working in EL3.
>>>
>>> Since the ATF software doesn't really care whether it is loading uefi or
>>> u-boot and since it wants to load non-secure images as EL2 or EL1
>>> (https://github.com/ARM-software/arm-trusted-
>>> firmware/blob/master/docs/user-guide.md
>>> See section "Normal World Software Execution"), why would we want to
>>> assume u-boot starts in EL3 mode by default?
>>>
>>> If we want to support EL3 execution for convenience to those that don't
>>> have ATF setup, that might make sense, but then shouldn't initial EL3
>>> execution and subsequent switching levels be debug CONFIG options?
>>> Thanks.
>>>
>>
>> In the past I remember using u-boot as the bare-metal s/w to debug a
>> Silicon without any BootROM/firmware code running before the same on
>> ARM 32-bit architectures.
>
> Many of our customers (in the embedded market) use U-Boot in such a way
> very successfully.
armv8 and ATF bring in a new security model and with that, secure 
monitor/dispatch, secure OS support and secure power control. It may not 
be good to assume that we can work in a historical way here.

>
>> The ATF is presently tested only for UEFI and UEFI comes up in EL2
>> while the ATF itself is running in EL3.
>>
>> I don't know what would be the popular vote on this, but personally I
>> feel that the u-boot for ARMv8 should also be launched by the ATF
>> (similar to UEFI) and should start execution in EL2 so that it can
>> launch a hypervisor (running in EL2) or Linux (running in EL1).  But
>> this might hurt the popular premise that u-boot can be used as a
>> bare-metal s/w to debug a silicon without additional firmware
>> components.
>>
>> Perhaps u-boot experts can guide us on this !
>
> I have to admit that I'm only reading up on the complexities of the
> security model of aarch64, but my gut response (cf. [1] is that "real
> security" stems from "few code" rather than adding layer over layer.
> With this in mind, I'd really like to see that U-Boot with its well
> known and tested code base can still be the "root of trust" in an
> embedded product (i.e. EL3 as far as I understand).
EL3 is the highest level of trust, and the new armv8 security model 
treats uefi/u-boot as non-secure firmware. The ATF trusted firmware 
needs to run, initialize secure hardware, load trusted images, and 
ultimately launch the non-secure OS loader (uefi or u-boot). As such, I 
think that running uefi or u-boot at EL3 violates the current arm 
security model i.e. u-boot cannot be the "root of trust" in this 
architecture since it is non-secure. Having non-secure firmware run at 
the same level as the secure dispatcher and secure monitor will fail any 
secure audit in my opinion.

However, if we set up u-boot so that it can wake up at any security 
level and migrate to non-secure EL1, that might be a nice compromise. 
But having specific EL3 startup assumptions and code that is always 
present in u-boot seems like the wrong approach to me. At the very 
least, we should wrap the EL3 code in a CONFIG option since this is not 
the planned entry state for final deployment.

Note that these are just my opinions above. Any ARM security experts 
would be welcome to contribute thoughts here.

>
> Many of the embedded U-Boot users who excercise full control over the
> whole software stack very likely want to see the same.
The ATF secure software is freely available.

>
> The interesting question will be if we can reconcile the requirements of
> "classic embedded U-Boot users" and this "OEM server market" that seems
> to drive much of these new concepts here.  But I sincerely hope so.
> After all, in the end we want to boot an OS to get the real work done ;)
As armv8 goes mobile, we have less of a server market issue and more of 
a mobile security issue.

>
> Best wishes
>    Detlev
>
> [1] Reading one presentation I found about ATF[2] actually made my head
>      hurt around page 12 which looks more like "security soup" than
>      clearcut concepts, but maybe I'm just not into all the details yet.
>
> [2] http://lcu-13.zerista.com/event/member/85121
>

  reply	other threads:[~2014-01-23 17:04 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-15  3:45 [U-Boot] [PATCH v15 00/10] arm64 patch fenghua at phytium.com.cn
2013-11-15  3:45 ` [U-Boot] [PATCH v15 01/10] fdt_support: 64bit initrd start address support fenghua at phytium.com.cn
2013-11-15  3:45   ` [U-Boot] [PATCH v15 02/10] cmd_pxe: remove compiling warnings fenghua at phytium.com.cn
2013-11-15  3:45     ` [U-Boot] [PATCH v15 03/10] add weak entry definition fenghua at phytium.com.cn
2013-11-15  3:45       ` [U-Boot] [PATCH v15 04/10] arm64: Add tool to statically apply RELA relocations fenghua at phytium.com.cn
2013-11-15  3:45         ` [U-Boot] [PATCH v15 05/10] arm64: Turn u-boot.bin back into an ELF file after relocate-rela fenghua at phytium.com.cn
2013-11-15  3:45           ` [U-Boot] [PATCH v15 06/10] arm64: Make checkarmreloc accept arm64 relocations fenghua at phytium.com.cn
2013-11-15  3:45             ` [U-Boot] [PATCH v15 07/10] arm64: core support fenghua at phytium.com.cn
2013-11-15  3:45               ` [U-Boot] [PATCH v15 08/10] arm64: generic board support fenghua at phytium.com.cn
2013-11-15  3:45                 ` [U-Boot] [PATCH v15 09/10] arm64: board support of vexpress_aemv8a fenghua at phytium.com.cn
2013-11-15  3:45                   ` [U-Boot] [PATCH v15 10/10] arm64: MAKEALL, filter armv8 boards from LIST_arm fenghua at phytium.com.cn
2013-11-27 20:38               ` [U-Boot] [PATCH v15 07/10] arm64: core support Bhupesh SHARMA
2013-11-29 13:35                 ` FengHua
2013-11-30 18:44                   ` Bhupesh Sharma
     [not found]                     ` <bcf7ed.a55.142ae85d276.Coremail.fenghua@phytium.com.cn>
2013-12-03 10:02                       ` Bhupesh Sharma
2014-01-13 11:24                         ` bhupesh.sharma at freescale.com
2014-01-14  1:52                           ` FengHua
2014-01-23  0:28                             ` Scott Wood
2014-01-23  1:06                               ` drambo
2014-01-24  1:20                               ` FengHua
2014-01-09  9:49               ` [U-Boot] how to get u-boot code with " TigerLiu at viatech.com.cn
2014-01-11  6:44                 ` FengHua
2014-01-11  6:50                   ` Jagan Teki
2014-01-13  0:54                     ` TigerLiu at viatech.com.cn
2014-01-14  9:12                   ` TigerLiu at viatech.com.cn
2014-01-15  6:37                     ` Wolfgang Denk
2014-01-15 11:27                       ` Abraham Varricatt
2014-01-15 12:25                         ` Wolfgang Denk
2014-01-20 10:54                 ` TigerLiu at viatech.com.cn
2014-01-20 11:57                   ` bhupesh.sharma at freescale.com
2014-01-21  0:49                     ` TigerLiu at viatech.com.cn
2014-01-22 19:02                     ` drambo
2014-01-23  7:15                       ` bhupesh.sharma at freescale.com
2014-01-23  7:54                         ` TigerLiu at viatech.com.cn
2014-02-11 13:33                           ` bhupesh.sharma at freescale.com
2014-02-12  2:08                             ` TigerLiu at viatech.com.cn
2014-02-12  7:15                               ` bhupesh.sharma at freescale.com
2014-02-12  7:26                                 ` TigerLiu at viatech.com.cn
2014-02-12  7:52                               ` Inderpal Singh
2014-02-12  8:02                                 ` TigerLiu at viatech.com.cn
2014-02-12  8:06                                   ` Inderpal Singh
2014-02-12  8:14                                     ` TigerLiu at viatech.com.cn
2014-02-12  8:25                                       ` bhupesh.sharma at freescale.com
2014-02-12  9:37                                         ` Inderpal Singh
2014-01-23 15:58                         ` Detlev Zundel
2014-01-23 17:04                           ` Darwin Rambo [this message]
2014-01-25 19:46                             ` bhupesh.sharma at freescale.com
2014-01-26  1:42                               ` drambo
2013-12-11 21:14 ` [U-Boot] [PATCH v15 00/10] arm64 patch Albert ARIBAUD
  -- strict thread matches above, loose matches on Subject: below --
2014-01-14 10:43 [U-Boot] how to get u-boot code with arm64: core support TigerLiu at viatech.com.cn
2014-01-14 10:47 ` bhupesh.sharma at freescale.com
2014-01-14 11:02   ` TigerLiu at viatech.com.cn
2014-01-14 11:10   ` TigerLiu at viatech.com.cn
2014-01-14 11:13     ` bhupesh.sharma at freescale.com
2014-01-14 11:21       ` TigerLiu at viatech.com.cn
2014-01-14 11:23         ` bhupesh.sharma at freescale.com
2014-01-14 11:37           ` TigerLiu at viatech.com.cn
2014-01-14 20:09           ` Scott Wood
2014-01-15  0:45             ` TigerLiu at viatech.com.cn
2014-01-15  5:02               ` FengHua

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=52E14BB7.5060808@broadcom.com \
    --to=drambo@broadcom.com \
    --cc=u-boot@lists.denx.de \
    /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).