aboutsummaryrefslogtreecommitdiff
path: root/pk/boot.S
diff options
context:
space:
mode:
Diffstat (limited to 'pk/boot.S')
-rw-r--r--pk/boot.S23
1 files changed, 23 insertions, 0 deletions
diff --git a/pk/boot.S b/pk/boot.S
new file mode 100644
index 0000000..0619671
--- /dev/null
+++ b/pk/boot.S
@@ -0,0 +1,23 @@
+#include "pcr.h"
+
+ .section boottext
+ .global __start
+ .ent __start
+__start:
+
+ # set up SR
+ li $t0, SR_S | SR_PS | SR_ET | SR_UX | SR_KX
+ mtpcr $t0, $0
+
+ # set up trap table
+ la $t0, trap_table
+ mtpcr $t0, $3
+
+ # set up stack
+ la $sp,stack_top-64
+
+ # call into kernel
+ la $t0, boot
+ jr $t0
+
+ .end __start