diff options
Diffstat (limited to 'dummy_payload')
-rw-r--r-- | dummy_payload/dummy_payload.ac | 0 | ||||
-rw-r--r-- | dummy_payload/dummy_payload.c | 21 | ||||
-rw-r--r-- | dummy_payload/dummy_payload.lds | 3 | ||||
-rw-r--r-- | dummy_payload/dummy_payload.mk.in | 13 | ||||
l--------- | dummy_payload/dummy_sbi.S | 1 |
5 files changed, 38 insertions, 0 deletions
diff --git a/dummy_payload/dummy_payload.ac b/dummy_payload/dummy_payload.ac new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/dummy_payload/dummy_payload.ac diff --git a/dummy_payload/dummy_payload.c b/dummy_payload/dummy_payload.c new file mode 100644 index 0000000..61ed59a --- /dev/null +++ b/dummy_payload/dummy_payload.c @@ -0,0 +1,21 @@ +#include <stdint.h> +#include "sbi.h" + +asm (".globl _start\n\ + _start: la sp, stack\n\ + j entry\n\ + .pushsection .rodata\n\ + .align 4\n\ + .skip 4096\n\ + stack:\n\ + .popsection"); + +void entry() +{ + const char* message = +"This is bbl's dummy_payload. To boot a real kernel, reconfigure\n\ +bbl with the flag --with-payload=PATH, then rebuild bbl.\n"; + while (*message) + sbi_console_putchar(*message++); + sbi_shutdown(); +} diff --git a/dummy_payload/dummy_payload.lds b/dummy_payload/dummy_payload.lds new file mode 100644 index 0000000..ee9410b --- /dev/null +++ b/dummy_payload/dummy_payload.lds @@ -0,0 +1,3 @@ +SECTIONS { + . = -0x80000000; +} diff --git a/dummy_payload/dummy_payload.mk.in b/dummy_payload/dummy_payload.mk.in new file mode 100644 index 0000000..b1d4ac7 --- /dev/null +++ b/dummy_payload/dummy_payload.mk.in @@ -0,0 +1,13 @@ +dummy_payload_subproject_deps = \ + +dummy_payload_hdrs = \ + +dummy_payload_c_srcs = \ + +dummy_payload_asm_srcs = \ + dummy_sbi.S \ + +dummy_payload_test_srcs = + +dummy_payload_install_prog_srcs = \ + dummy_payload.c \ diff --git a/dummy_payload/dummy_sbi.S b/dummy_payload/dummy_sbi.S new file mode 120000 index 0000000..2978a97 --- /dev/null +++ b/dummy_payload/dummy_sbi.S @@ -0,0 +1 @@ +../machine/sbi.S
\ No newline at end of file |