summaryrefslogtreecommitdiffstats
path: root/MdePkg/Include/Library/BaseRiscVSbiLib.h
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Include/Library/BaseRiscVSbiLib.h')
-rw-r--r--MdePkg/Include/Library/BaseRiscVSbiLib.h42
1 files changed, 38 insertions, 4 deletions
diff --git a/MdePkg/Include/Library/BaseRiscVSbiLib.h b/MdePkg/Include/Library/BaseRiscVSbiLib.h
index e75520b4b8..2244165a6b 100644
--- a/MdePkg/Include/Library/BaseRiscVSbiLib.h
+++ b/MdePkg/Include/Library/BaseRiscVSbiLib.h
@@ -2,6 +2,7 @@
Library to call the RISC-V SBI ecalls
Copyright (c) 2021-2022, Hewlett Packard Development LP. All rights reserved.<BR>
+ Copyright (c) 2023, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -18,10 +19,28 @@
#include <Uefi.h>
/* SBI Extension IDs */
-#define SBI_EXT_TIME 0x54494D45
-#define SBI_EXT_SRST 0x53525354
-
-/* SBI function IDs for TIME extension*/
+#define SBI_EXT_0_1_CONSOLE_PUTCHAR 0x1
+#define SBI_EXT_0_1_CONSOLE_GETCHAR 0x2
+#define SBI_EXT_BASE 0x10
+#define SBI_EXT_DBCN 0x4442434E
+#define SBI_EXT_TIME 0x54494D45
+#define SBI_EXT_SRST 0x53525354
+
+/* SBI function IDs for base extension */
+#define SBI_EXT_BASE_SPEC_VERSION 0x0
+#define SBI_EXT_BASE_IMPL_ID 0x1
+#define SBI_EXT_BASE_IMPL_VERSION 0x2
+#define SBI_EXT_BASE_PROBE_EXT 0x3
+#define SBI_EXT_BASE_GET_MVENDORID 0x4
+#define SBI_EXT_BASE_GET_MARCHID 0x5
+#define SBI_EXT_BASE_GET_MIMPID 0x6
+
+/* SBI function IDs for DBCN extension */
+#define SBI_EXT_DBCN_WRITE 0x0
+#define SBI_EXT_DBCN_READ 0x1
+#define SBI_EXT_DBCN_WRITE_BYTE 0x2
+
+/* SBI function IDs for TIME extension */
#define SBI_EXT_TIME_SET_TIMER 0x0
/* SBI function IDs for SRST extension */
@@ -62,6 +81,21 @@ typedef struct {
UINTN Value; ///< Value returned
} SBI_RET;
+SBI_RET
+EFIAPI
+SbiCall (
+ IN UINTN ExtId,
+ IN UINTN FuncId,
+ IN UINTN NumArgs,
+ ...
+ );
+
+EFI_STATUS
+EFIAPI
+TranslateError (
+ IN UINTN SbiError
+ );
+
VOID
EFIAPI
SbiSetTimer (