aboutsummaryrefslogtreecommitdiff
path: root/dummy_payload
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@cs.berkeley.edu>2016-03-09 23:58:17 -0800
committerAndrew Waterman <waterman@cs.berkeley.edu>2016-03-09 23:58:17 -0800
commitb94c7a4b07f96f24ae7411780abf874416549f7b (patch)
treeb94ca015e49392f52e5abf1209ee184fcf874db4 /dummy_payload
parentf5a96732cb81571a3ba6b081b8556187d564f678 (diff)
downloadriscv-pk-b94c7a4b07f96f24ae7411780abf874416549f7b.zip
riscv-pk-b94c7a4b07f96f24ae7411780abf874416549f7b.tar.gz
riscv-pk-b94c7a4b07f96f24ae7411780abf874416549f7b.tar.bz2
Refactor pk, bbl, machine into separate libraries
Yuck.
Diffstat (limited to 'dummy_payload')
-rw-r--r--dummy_payload/dummy_payload.ac0
-rw-r--r--dummy_payload/dummy_payload.c21
-rw-r--r--dummy_payload/dummy_payload.lds3
-rw-r--r--dummy_payload/dummy_payload.mk.in13
l---------dummy_payload/dummy_sbi.S1
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