UefiCpuPkg: Add RISCV_EFI_BOOT_PROTOCOL related definitions

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4076

RISC-V UEFI based platforms need to support RISCV_EFI_BOOT_PROTOCOL.
Add this protocol GUID definition and the header file required.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Daniel Schaefer <git@danielschaefer.me>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Acked-by: Abner Chang <abner.chang@amd.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Andrei Warkentin <andrei.warkentin@intel.com>
Acked-by: Ray Ni <ray.ni@intel.com>
This commit is contained in:
Sunil V L 2023-01-27 15:27:54 +05:30 committed by mergify[bot]
parent 76e956547e
commit d6017bca19
2 changed files with 41 additions and 0 deletions
UefiCpuPkg

@ -0,0 +1,34 @@
/** @file
RISC-V Boot Protocol mandatory for RISC-V UEFI platforms.
@par Revision Reference:
The protocol specification can be found at
https://github.com/riscv-non-isa/riscv-uefi
Copyright (c) 2022, Ventana Micro Systems Inc. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef RISCV_BOOT_PROTOCOL_H_
#define RISCV_BOOT_PROTOCOL_H_
typedef struct _RISCV_EFI_BOOT_PROTOCOL RISCV_EFI_BOOT_PROTOCOL;
#define RISCV_EFI_BOOT_PROTOCOL_REVISION 0x00010000
#define RISCV_EFI_BOOT_PROTOCOL_LATEST_VERSION \
RISCV_EFI_BOOT_PROTOCOL_REVISION
typedef
EFI_STATUS
(EFIAPI *EFI_GET_BOOT_HARTID)(
IN RISCV_EFI_BOOT_PROTOCOL *This,
OUT UINTN *BootHartId
);
typedef struct _RISCV_EFI_BOOT_PROTOCOL {
UINT64 Revision;
EFI_GET_BOOT_HARTID GetBootHartId;
} RISCV_EFI_BOOT_PROTOCOL;
#endif

@ -86,6 +86,13 @@
## Include/Protocol/SmMonitorInit.h
gEfiSmMonitorInitProtocolGuid = { 0x228f344d, 0xb3de, 0x43bb, { 0xa4, 0xd7, 0xea, 0x20, 0xb, 0x1b, 0x14, 0x82 }}
[Protocols.RISCV64]
#
# Protocols defined for RISC-V systems
#
## Include/Protocol/RiscVBootProtocol.h
gRiscVEfiBootProtocolGuid = { 0xccd15fec, 0x6f73, 0x4eec, { 0x83, 0x95, 0x3e, 0x69, 0xe4, 0xb9, 0x40, 0xbf }}
#
# [Error.gUefiCpuPkgTokenSpaceGuid]
# 0x80000001 | Invalid value provided.