20#define SBI_CALL_MAX_ARGS 6
46 UINTN Args[SBI_CALL_MAX_ARGS];
51 if (NumArgs > SBI_CALL_MAX_ARGS) {
52 Ret.
Error = SBI_ERR_INVALID_PARAM;
57 for (I = 0; I < SBI_CALL_MAX_ARGS; I++) {
101 return EFI_DEVICE_ERROR;
103 case SBI_ERR_NOT_SUPPORTED:
104 return EFI_UNSUPPORTED;
106 case SBI_ERR_INVALID_PARAM:
107 return EFI_INVALID_PARAMETER;
110 return EFI_ACCESS_DENIED;
112 case SBI_ERR_INVALID_ADDRESS:
113 return EFI_LOAD_ERROR;
115 case SBI_ERR_ALREADY_AVAILABLE:
116 return EFI_ALREADY_STARTED;
123 return EFI_UNSUPPORTED;
142 SbiCall (SBI_EXT_TIME, SBI_EXT_TIME_SET_TIMER, 1, Time);
196 RiscVSetSupervisorScratch ((UINT64)FirmwareContext);
EFI_STATUS EFIAPI SbiSystemReset(IN UINTN ResetType, IN UINTN ResetReason)
VOID EFIAPI SetFirmwareContextPointer(IN EFI_RISCV_FIRMWARE_CONTEXT *FirmwareContextPtr)
VOID EFIAPI SbiSetTimer(IN UINT64 Time)
VOID EFIAPI SetFirmwareContext(IN EFI_RISCV_FIRMWARE_CONTEXT *FirmwareContext)
VOID EFIAPI GetFirmwareContext(OUT EFI_RISCV_FIRMWARE_CONTEXT **FirmwareContext)
VOID EFIAPI GetFirmwareContextPointer(IN OUT EFI_RISCV_FIRMWARE_CONTEXT **FirmwareContextPtr)
SBI_RET EFIAPI SbiCall(IN UINTN ExtId, IN UINTN FuncId, IN UINTN NumArgs,...)
EFI_STATUS EFIAPI TranslateError(IN UINTN SbiError)
VOID EFIAPI RiscVSbiEcall(IN OUT UINTN *Arg0, IN OUT UINTN *Arg1, IN UINTN Arg2, IN UINTN Arg3, IN UINTN Arg4, IN UINTN Arg5, IN UINTN Fid, IN UINTN Ext)
#define VA_ARG(Marker, TYPE)
#define VA_START(Marker, Parameter)
UINTN Error
SBI status code.
UINTN Value
Value returned.