xref: /freebsd/sys/contrib/edk2/Include/Protocol/RiscVBootProtocol.h (revision c570deb1cc3182b4643e56d7010a763cf6e0884d)
1 /** @file
2   RISC-V Boot Protocol mandatory for RISC-V UEFI platforms.
3 
4   @par Revision Reference:
5   The protocol specification can be found at
6   https://github.com/riscv-non-isa/riscv-uefi
7 
8   Copyright (c) 2022, Ventana Micro Systems Inc. All rights reserved.<BR>
9   SPDX-License-Identifier: BSD-2-Clause-Patent
10 
11 **/
12 
13 #ifndef RISCV_BOOT_PROTOCOL_H_
14 #define RISCV_BOOT_PROTOCOL_H_
15 
16 typedef struct _RISCV_EFI_BOOT_PROTOCOL RISCV_EFI_BOOT_PROTOCOL;
17 
18 #define RISCV_EFI_BOOT_PROTOCOL_REVISION  0x00010000
19 #define RISCV_EFI_BOOT_PROTOCOL_LATEST_VERSION \
20         RISCV_EFI_BOOT_PROTOCOL_REVISION
21 
22 typedef
23 EFI_STATUS
24 (EFIAPI *EFI_GET_BOOT_HARTID)(
25   IN RISCV_EFI_BOOT_PROTOCOL   *This,
26   OUT UINTN                    *BootHartId
27   );
28 
29 typedef struct _RISCV_EFI_BOOT_PROTOCOL {
30   UINT64                 Revision;
31   EFI_GET_BOOT_HARTID    GetBootHartId;
32 } RISCV_EFI_BOOT_PROTOCOL;
33 
34 #endif
35