--- /dev/null
+/** @file\r
+ RISC-V Boot Protocol mandatory for RISC-V UEFI platforms.\r
+\r
+ @par Revision Reference:\r
+ The protocol specification can be found at\r
+ https://github.com/riscv-non-isa/riscv-uefi\r
+\r
+ Copyright (c) 2022, Ventana Micro Systems Inc. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#ifndef RISCV_BOOT_PROTOCOL_H_\r
+#define RISCV_BOOT_PROTOCOL_H_\r
+\r
+typedef struct _RISCV_EFI_BOOT_PROTOCOL RISCV_EFI_BOOT_PROTOCOL;\r
+\r
+#define RISCV_EFI_BOOT_PROTOCOL_REVISION 0x00010000\r
+#define RISCV_EFI_BOOT_PROTOCOL_LATEST_VERSION \\r
+ RISCV_EFI_BOOT_PROTOCOL_REVISION\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_GET_BOOT_HARTID)(\r
+ IN RISCV_EFI_BOOT_PROTOCOL *This,\r
+ OUT UINTN *BootHartId\r
+ );\r
+\r
+typedef struct _RISCV_EFI_BOOT_PROTOCOL {\r
+ UINT64 Revision;\r
+ EFI_GET_BOOT_HARTID GetBootHartId;\r
+} RISCV_EFI_BOOT_PROTOCOL;\r
+\r
+#endif\r
## Include/Protocol/SmMonitorInit.h\r
gEfiSmMonitorInitProtocolGuid = { 0x228f344d, 0xb3de, 0x43bb, { 0xa4, 0xd7, 0xea, 0x20, 0xb, 0x1b, 0x14, 0x82 }}\r
\r
+[Protocols.RISCV64]\r
+ #\r
+ # Protocols defined for RISC-V systems\r
+ #\r
+ ## Include/Protocol/RiscVBootProtocol.h\r
+ gRiscVEfiBootProtocolGuid = { 0xccd15fec, 0x6f73, 0x4eec, { 0x83, 0x95, 0x3e, 0x69, 0xe4, 0xb9, 0x40, 0xbf }}\r
+\r
#\r
# [Error.gUefiCpuPkgTokenSpaceGuid]\r
# 0x80000001 | Invalid value provided.\r