Linux-EFI Archive on lore.kernel.org
 help / color / Atom feed
From: Palmer Dabbelt <palmer@dabbelt.com>
To: Atish Patra <Atish.Patra@wdc.com>
Cc: linux-kernel@vger.kernel.org, Atish Patra <Atish.Patra@wdc.com>,
	aou@eecs.berkeley.edu, alexios.zavras@intel.com,
	allison@lohutok.net, akpm@linux-foundation.org,
	Anup Patel <Anup.Patel@wdc.com>,
	ardb@kernel.org, Arnd Bergmann <arnd@arndb.de>,
	bp@suse.de, catalin.marinas@arm.com, greentime.hu@sifive.com,
	Greg KH <gregkh@linuxfoundation.org>,
	mingo@kernel.org, kstewart@linuxfoundation.org,
	keescook@chromium.org, linus.walleij@linaro.org,
	linux-efi@vger.kernel.org, linux-riscv@lists.infradead.org,
	han_mao@c-sky.com, mchehab+samsung@kernel.org,
	michal.simek@xilinx.com, rppt@linux.ibm.com, pbonzini@redhat.com,
	Paul Walmsley <paul.walmsley@sifive.com>,
	linux@armlinux.org.uk, tglx@linutronix.de, will@kernel.org,
	agraf@csgraf.de, leif@nuviainc.com, abner.chang@hpe.com,
	daniel.schaefer@hpe.com
Subject: Re: [RFC PATCH 0/5] Add UEFI support for RISC-V
Date: Wed, 26 Feb 2020 15:46:44 -0800 (PST)
Message-ID: <mhng-2fe6e2a0-9291-4810-b42c-af69b8dbaa06@palmerdabbelt-glaptop1> (raw)
In-Reply-To: <20200226011037.7179-1-atish.patra@wdc.com>

On Tue, 25 Feb 2020 17:10:32 PST (-0800), Atish Patra wrote:
> This series adds UEFI support for RISC-V. Currently, only boot time
> services have been added. Runtime services will be added in a separate
> series. This series depends on some core EFI patches
> present in current in efi-next and following other patches.
>
> U-Boot: Adds the boot hartid under chosen node.
> https://lists.denx.de/pipermail/u-boot/2020-February/401227.html
>
> Linux kernel: SBI v0.2 and HSM extension support. This series is a mandatory
> pre-requisite for UEFI support as only single core can boot EFI stub and
> Linux via UEFI. All other cores are brought up using SBI HSM extension.
> http://lists.infradead.org/pipermail/linux-riscv/2020-February/008513.html
>
> OpenSBI: master (commit: ge3f69fc1e934)
>
> Patch 1 just moves arm-stub code to a generic code so that it can be used
> across different architecture.
>
> Patch 3 adds fixmap bindings so that CONFIG_EFI can be compiled and we do not
> have create separate config to enable boot time services.
> As runtime services are not enabled at this time, full generic early ioremap
> support is also not added in this series.
>
> Patch 4 and 5 adds the PE/COFF header and EFI stub code support for RISC-V
> respectively.
>
> The patches can also be found in following git repo.
>
> https://github.com/atishp04/linux/tree/wip_uefi_riscv
>
> The patches have been verified on Qemu using bootefi command in U-Boot.
> Here is a boot log.
>
> Atish Patra (5):
> efi: Move arm-stub to a common file
> include: pe.h: Add RISC-V related PE definition
> RISC-V: Define fixmap bindings for generic early ioremap support
> RISC-V: Add PE/COFF header for EFI stub
> RISC-V: Add EFI stub support.
>
> arch/arm/Kconfig                              |   2 +-
> arch/arm64/Kconfig                            |   2 +-
> arch/riscv/Kconfig                            |  21 +++
> arch/riscv/Makefile                           |   1 +
> arch/riscv/configs/defconfig                  |   1 +
> arch/riscv/include/asm/Kbuild                 |   2 +-
> arch/riscv/include/asm/fixmap.h               |  21 ++-
> arch/riscv/include/asm/io.h                   |   1 +
> arch/riscv/include/asm/sections.h             |  13 ++
> arch/riscv/kernel/Makefile                    |   4 +
> arch/riscv/kernel/efi-header.S                | 107 ++++++++++++++
> arch/riscv/kernel/head.S                      |  15 ++
> arch/riscv/kernel/image-vars.h                |  52 +++++++
> arch/riscv/kernel/vmlinux.lds.S               |  27 +++-
> drivers/firmware/efi/Kconfig                  |   6 +-
> drivers/firmware/efi/libstub/Makefile         |  20 ++-
> .../efi/libstub/{arm-stub.c => efi-stub.c}    |   7 +-
> drivers/firmware/efi/libstub/riscv-stub.c     | 135 ++++++++++++++++++
> include/linux/pe.h                            |   3 +
> 19 files changed, 420 insertions(+), 20 deletions(-)
> create mode 100644 arch/riscv/include/asm/sections.h
> create mode 100644 arch/riscv/kernel/efi-header.S
> create mode 100644 arch/riscv/kernel/image-vars.h
> rename drivers/firmware/efi/libstub/{arm-stub.c => efi-stub.c} (98%)
> create mode 100644 drivers/firmware/efi/libstub/riscv-stub.c

I'm in favor of adding EFI support, and I'd rather have it sooner than later so
we don't paint ourselves into a corner.  I'm not sure what happened to the
RISC-V EFI spec process, though, which would be my only worry here (also I
haven't looked at the code :)).  Do we have enough of a spec through the EFI
process that this is all kosher on their end?

Given that this definately isn't for these RCs, I'm going to leave it in my
review queue.  It might be best to get the "move stuff to generic" work merged
on its own, as then we can carry less diff around.

Thanks!

  parent reply index

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-26  1:10 Atish Patra
2020-02-26  1:10 ` [RFC PATCH 1/5] efi: Move arm-stub to a common file Atish Patra
2020-02-26  7:04   ` Ard Biesheuvel
2020-02-27  1:16     ` Atish Patra
2020-02-26  1:10 ` [RFC PATCH 2/5] include: pe.h: Add RISC-V related PE definition Atish Patra
2020-02-26  7:06   ` Ard Biesheuvel
2020-02-27  0:53     ` Atish Patra
2020-02-26  1:10 ` [RFC PATCH 3/5] RISC-V: Define fixmap bindings for generic early ioremap support Atish Patra
2020-02-26  7:08   ` Ard Biesheuvel
2020-02-27 19:58     ` Atish Patra
2020-02-27 20:00       ` Ard Biesheuvel
2020-02-26  1:10 ` [RFC PATCH 4/5] RISC-V: Add PE/COFF header for EFI stub Atish Patra
2020-02-26  7:14   ` Ard Biesheuvel
2020-02-27  1:29     ` Atish Patra
2020-02-27  7:44       ` Ard Biesheuvel
2020-02-26  1:10 ` [RFC PATCH 5/5] RISC-V: Add EFI stub support Atish Patra
2020-02-26  7:28   ` Ard Biesheuvel
2020-02-27 19:53     ` Atish Patra
2020-02-27 19:59       ` Ard Biesheuvel
2020-02-28  1:05         ` Atish Patra
2020-02-28  6:57           ` Ard Biesheuvel
2020-03-10  7:08             ` Atish Patra
2020-03-10  7:38               ` Anup Patel
2020-03-10 13:18               ` Ard Biesheuvel
2020-02-26 23:46 ` Palmer Dabbelt [this message]
2020-02-27  2:09   ` [RFC PATCH 0/5] Add UEFI support for RISC-V Atish Patra

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=mhng-2fe6e2a0-9291-4810-b42c-af69b8dbaa06@palmerdabbelt-glaptop1 \
    --to=palmer@dabbelt.com \
    --cc=Anup.Patel@wdc.com \
    --cc=Atish.Patra@wdc.com \
    --cc=abner.chang@hpe.com \
    --cc=agraf@csgraf.de \
    --cc=akpm@linux-foundation.org \
    --cc=alexios.zavras@intel.com \
    --cc=allison@lohutok.net \
    --cc=aou@eecs.berkeley.edu \
    --cc=ardb@kernel.org \
    --cc=arnd@arndb.de \
    --cc=bp@suse.de \
    --cc=catalin.marinas@arm.com \
    --cc=daniel.schaefer@hpe.com \
    --cc=greentime.hu@sifive.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=han_mao@c-sky.com \
    --cc=keescook@chromium.org \
    --cc=kstewart@linuxfoundation.org \
    --cc=leif@nuviainc.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=mchehab+samsung@kernel.org \
    --cc=michal.simek@xilinx.com \
    --cc=mingo@kernel.org \
    --cc=paul.walmsley@sifive.com \
    --cc=pbonzini@redhat.com \
    --cc=rppt@linux.ibm.com \
    --cc=tglx@linutronix.de \
    --cc=will@kernel.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

Linux-EFI Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-efi/0 linux-efi/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-efi linux-efi/ https://lore.kernel.org/linux-efi \
		linux-efi@vger.kernel.org
	public-inbox-index linux-efi

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-efi


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git