aboutsummaryrefslogtreecommitdiffstats
path: root/src/config
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2024-10-28 14:40:35 +0000
committerMichael Brown <mcb30@ipxe.org>2024-10-28 19:20:50 +0000
commite0e102ee24bdab68b0318b505402f60cfb88a5f0 (patch)
tree197f71c01a84c567360ce8897795c57d9b339910 /src/config
parent7ccd08dbf4e257cadb3a9e61fec1f37afb19949e (diff)
downloadipxe-e0e102ee24bdab68b0318b505402f60cfb88a5f0.tar.gz
[sbi] Add support for running as a RISC-V SBI payload
Add basic support for running directly on top of SBI, with no UEFI firmware present. Build as e.g.: make CROSS=riscv64-linux-gnu- bin-riscv64/ipxe.sbi The resulting binary can be tested in QEMU using e.g.: qemu-system-riscv64 -M virt -cpu max -serial stdio \ -kernel bin-riscv64/ipxe.sbi No drivers or executable binary formats are supported yet, but the unit test suite may be run successfully. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/config')
-rw-r--r--src/config/config_sbi.c0
-rw-r--r--src/config/defaults/sbi.h36
2 files changed, 36 insertions, 0 deletions
diff --git a/src/config/config_sbi.c b/src/config/config_sbi.c
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/src/config/config_sbi.c
diff --git a/src/config/defaults/sbi.h b/src/config/defaults/sbi.h
new file mode 100644
index 000000000..42fb515f0
--- /dev/null
+++ b/src/config/defaults/sbi.h
@@ -0,0 +1,36 @@
+#ifndef CONFIG_DEFAULTS_SBI_H
+#define CONFIG_DEFAULTS_SBI_H
+
+/** @file
+ *
+ * Configuration defaults for RISC-V SBI
+ *
+ */
+
+FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
+
+#define IOAPI_RISCV
+#define IOMAP_VIRT
+#define DMAAPI_FLAT
+#define UACCESS_FLAT
+#define TIMER_ZICNTR
+#define ENTROPY_ZKR
+
+#define CONSOLE_SBI
+#define REBOOT_SBI
+#define UMALLOC_SBI
+
+#define ACPI_NULL
+#define MPAPI_NULL
+#define NAP_NULL
+#define PCIAPI_NULL
+#define SANBOOT_NULL
+#define SMBIOS_NULL
+#define TIME_NULL
+
+#define IMAGE_SCRIPT
+
+#define REBOOT_CMD
+#define POWEROFF_CMD
+
+#endif /* CONFIG_DEFAULTS_SBI_H */