lkml.org 
[lkml]   [2020]   [Feb]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[RFC PATCH 0/5] Add UEFI support for RISC-V
    Date
    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

    --
    2.24.0

    \
     
     \ /
      Last update: 2020-02-26 02:11    [W:5.110 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site