All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Anderson <seanga2@gmail.com>
To: u-boot@lists.denx.de
Subject: [PATCH 1/2] efi: Add dependency on M-mode for RISC-V
Date: Mon, 28 Sep 2020 13:15:00 -0400	[thread overview]
Message-ID: <fdde855d-e3f4-3b4c-e5e4-688b6b84d516@gmail.com> (raw)
In-Reply-To: <43a2a42b-9838-cfb4-04eb-24c6d563d8e0@gmx.de>

On 9/28/20 12:27 PM, Heinrich Schuchardt wrote:
> On 28.09.20 18:08, Sean Anderson wrote:
>> >From section 2.3.7 of the UEFI specification:
>>
>>> RISC-V UEFI will only be executed in machine mode. The machine mode has
>>> the highest privilege and this mode is the only mandatory privilege level
>>> for RISC-V platforms; all other privilege levels are optional depending
>>> on the platform requirements. Machine mode is the first mode entered at
>>> the power-on reset. This level is used in UEFI for low-level access to a
>>> hardware platform.
>>
>> Signed-off-by: Sean Anderson <seanga2@gmail.com>
>> ---
>>
>>  lib/efi_loader/Kconfig | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
>> index bad1a29ba8..2197c84bf3 100644
>> --- a/lib/efi_loader/Kconfig
>> +++ b/lib/efi_loader/Kconfig
>> @@ -10,6 +10,8 @@ config EFI_LOADER
>>  	depends on !EFI_STUB || !X86_64 || EFI_STUB_64BIT
>>  	# We need EFI_STUB_32BIT to be set on x86_32 with EFI_STUB
>>  	depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT
>> +	# RISC-V UEFI must run in machine mode
>> +	depends on !RISCV || RISCV_M_MODE
>>  	default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8
>>  	select LIB_UUID
>>  	select HAVE_BLOCK_DEVICE
>>
> 
> Hello Sean,
> 
> the specification is wrong. A change request has been made to correct
> the specification. We should not change U-Boot here.
> 
> See the discussion in this thread:
> https://lists.linaro.org/pipermail/boot-architecture/2020-September/001481.html
> 
> Best regards
> 
> Heinrich
> 

Thanks for linking that. I'm glad some of these issues are being addressed. However, I am concerned about your suggestion

> * Don't trust the values of tp and gp when entered
>   from the payloads world.

Because tp *must* be trusted in S-Mode...

Of course, all this could be averted by adding an sbi_get_mhartid function...

--Sean

  reply	other threads:[~2020-09-28 17:15 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-28 16:08 [PATCH 1/2] efi: Add dependency on M-mode for RISC-V Sean Anderson
2020-09-28 16:08 ` [PATCH 2/2] efi: Fix typo in documentation Sean Anderson
2020-09-28 16:31   ` Heinrich Schuchardt
2020-09-28 16:27 ` [PATCH 1/2] efi: Add dependency on M-mode for RISC-V Heinrich Schuchardt
2020-09-28 17:15   ` Sean Anderson [this message]
2020-09-28 18:24     ` Heinrich Schuchardt
2020-09-28 18:29       ` Sean 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=fdde855d-e3f4-3b4c-e5e4-688b6b84d516@gmail.com \
    --to=seanga2@gmail.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 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.