From 62c0997d4317390685afdd35a28396f2a6f0b2a3 Mon Sep 17 00:00:00 2001 From: Mitchell Horne Date: Mon, 3 Mar 2025 11:46:56 -0400 Subject: [PATCH] efiprot.h: add definitions for RISCV_EFI_BOOT_PROTOCOL It seems like this file was vendored (sorta) originally, but we have not kept it in sync with the original source, if it still exists. Follow the precedent in commit acf82d2659879, and just add the definition to the bottom of the file, keeping its style conventions. Defined here: https://github.com/riscv-non-isa/riscv-uefi Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48885 --- stand/efi/include/efiprot.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/stand/efi/include/efiprot.h b/stand/efi/include/efiprot.h index be11ea83b3a..5b8ac2309c8 100644 --- a/stand/efi/include/efiprot.h +++ b/stand/efi/include/efiprot.h @@ -632,4 +632,31 @@ typedef struct _EFI_COMPONENT_NAME2 { CHAR8 **SupportedLanguages; } EFI_COMPONENT_NAME2; +// +// RISC-V EFI Boot Protocol +// +// https://github.com/riscv-non-isa/riscv-uefi +// + +#define RISCV_EFI_BOOT_PROTOCOL_GUID \ + { 0xccd15fec, 0x6f73, 0x4eec, {0x83, 0x95, 0x3e, 0x69, 0xe4, 0xb9, 0x40, 0xbf} } + +INTERFACE_DECL(_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 struct _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