aboutsummaryrefslogtreecommitdiff
path: root/pk/sbi.h
diff options
context:
space:
mode:
Diffstat (limited to 'pk/sbi.h')
-rw-r--r--pk/sbi.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/pk/sbi.h b/pk/sbi.h
new file mode 100644
index 0000000..b9e60b4
--- /dev/null
+++ b/pk/sbi.h
@@ -0,0 +1,27 @@
+#ifndef _ASM_RISCV_SBI_H
+#define _ASM_RISCV_SBI_H
+
+typedef struct {
+ unsigned long base;
+ unsigned long size;
+ unsigned long node_id;
+} memory_block_info;
+
+unsigned long sbi_query_memory(unsigned long id, memory_block_info *p);
+
+unsigned long sbi_hart_id(void);
+unsigned long sbi_num_harts(void);
+void sbi_send_ipi(uintptr_t hart_id);
+void sbi_console_putchar(unsigned char ch);
+
+typedef struct {
+ unsigned long dev;
+ unsigned long cmd;
+ unsigned long data;
+ unsigned long sbi_private_data;
+} sbi_device_message;
+
+unsigned long sbi_send_device_request(uintptr_t req);
+uintptr_t sbi_receive_device_response(void);
+
+#endif