REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3837
RISC-V platforms need to support new RISCV_EFI_BOOT_PROTOCOL to communicate the boot hart ID to the operating system. Add the required header file for this protocol. The specification of the protocol is maintained at: https://github.com/riscv-non-isa/riscv-uefi Cc: G Edhaya Chandran <edhaya.chand...@arm.com> Cc: Barton Gao <gao...@byosoft.com.cn> Cc: Carolyn Gjertsen <carolyn.gjert...@amd.com> Cc: Samer El-Haj-Mahmoud <samer.el-haj-mahm...@arm.com> Cc: Eric Jin <eric....@intel.com> Cc: Arvin Chen <arvinx.c...@intel.com> Cc: Supreeth Venkatesh <supreeth.venkat...@amd.com> Cc: Ard Biesheuvel <a...@kernel.org> Cc: Heinrich Schuchardt <heinrich.schucha...@canonical.com> Cc: Abner Chang <abner.ch...@hpe.com> Signed-off-by: Sunil V L <suni...@ventanamicro.com> Reviewed-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com> Tested-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com> --- uefi-sct/SctPkg/UEFI/Protocol/RiscVBoot.h | 72 +++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 uefi-sct/SctPkg/UEFI/Protocol/RiscVBoot.h diff --git a/uefi-sct/SctPkg/UEFI/Protocol/RiscVBoot.h b/uefi-sct/SctPkg/UEFI/Protocol/RiscVBoot.h new file mode 100644 index 00000000..71367425 --- /dev/null +++ b/uefi-sct/SctPkg/UEFI/Protocol/RiscVBoot.h @@ -0,0 +1,72 @@ +/** @file + + Copyright (c) 2022, Ventana Micro Systems Inc. All rights reserved.<BR> + + This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ +/*++ + +Module Name: + + RiscVBoot.h + +Abstract: + + This UEFI protocol for RISC-V systems provides early information to the bootloaders or Operating + Systems. Firmwares like EDK2/u-boot need to implement this protocol on RISC-V UEFI systems. +--*/ + +#ifndef _RISCV_BOOT_H_ +#define _RISCV_BOOT_H_ + + +// +// Global ID for the RISC-V Boot Protocol +// +#define RISCV_EFI_BOOT_PROTOCOL_GUID \ + { 0xccd15fec, 0x6f73, 0x4eec, { 0x83, 0x95, 0x3e, 0x69, 0xe4, 0xb9, 0x40, 0xbf } } + +typedef struct _RISCV_EFI_BOOT_PROTOCOL RISCV_EFI_BOOT_PROTOCOL; + +typedef +EFI_STATUS +(EFIAPI *EFI_GET_BOOT_HARTID) ( + IN RISCV_EFI_BOOT_PROTOCOL *This, + OUT UINTN *BootHartId + ) +/*++ + + Routine Description: + This interface provides the hartid of the boot cpu. + + Arguments: + This - Protocol instance pointer. + BootHartId - Pointer to the variable receiving the hartid of the boot cpu. + + Returns: + EFI_SUCCESS - The boot hart id could be returned. + EFI_INVALID_PARAMETER - This parameter is NULL or does not point to a valid + RISCV_EFI_BOOT_PROTOCOL implementation. + EFI_INVALID_PARAMETER - BootHartId parameter is NULL. + +--*/ +; + +// +// Interface structure for the RISC-V Boot Protocol +// +struct _RISCV_EFI_BOOT_PROTOCOL { + UINTN Revision; + EFI_GET_BOOT_HARTID GetBootHartId; +}; + +extern EFI_GUID gBlackBoxEfiRiscVBootProtocolGuid; + +#endif -- 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#90389): https://edk2.groups.io/g/devel/message/90389 Mute This Topic: https://groups.io/mt/91642395/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-