diff options
author | Michael Brown <mcb30@ipxe.org> | 2024-10-28 14:40:35 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2024-10-28 19:20:50 +0000 |
commit | e0e102ee24bdab68b0318b505402f60cfb88a5f0 (patch) | |
tree | 197f71c01a84c567360ce8897795c57d9b339910 /src/arch/riscv/Makefile.sbi | |
parent | 7ccd08dbf4e257cadb3a9e61fec1f37afb19949e (diff) | |
download | ipxe-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/arch/riscv/Makefile.sbi')
-rw-r--r-- | src/arch/riscv/Makefile.sbi | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/arch/riscv/Makefile.sbi b/src/arch/riscv/Makefile.sbi new file mode 100644 index 000000000..dee1b6e5d --- /dev/null +++ b/src/arch/riscv/Makefile.sbi @@ -0,0 +1,16 @@ +# -*- makefile -*- : Force emacs to use Makefile mode + +# Build a position-independent executable, with relocations required +# only for data values. Runtime relocations are applied by the +# prefix code. +# +CFLAGS += -mcmodel=medany -fpie +LDFLAGS += -pie --no-dynamic-linker + +# Linker script +# +LDSCRIPT = arch/riscv/scripts/sbi.lds + +# Media types +# +MEDIA += sbi |