From 30055ec1753b5f8cfc2940dba5d4188475fdbf7f Mon Sep 17 00:00:00 2001 From: Kimplul Date: Wed, 14 Sep 2022 23:34:58 +0300 Subject: add putch syscall for easier userspace debugging + Note that it is NOT intended for end user usage, just for debugging. --- arch/riscv64/conf/init | Bin 1096 -> 1232 bytes arch/riscv64/conf/initrd | Bin 1536 -> 1536 bytes arch/riscv64/conf/s.S | 44 ++++++++++++++++++++++++++++++++++++++++++++ arch/riscv64/kernel/entry.S | 2 +- 4 files changed, 45 insertions(+), 1 deletion(-) (limited to 'arch') diff --git a/arch/riscv64/conf/init b/arch/riscv64/conf/init index 0a67c41..23c3097 100755 Binary files a/arch/riscv64/conf/init and b/arch/riscv64/conf/init differ diff --git a/arch/riscv64/conf/initrd b/arch/riscv64/conf/initrd index 6021c8f..efba349 100644 Binary files a/arch/riscv64/conf/initrd and b/arch/riscv64/conf/initrd differ diff --git a/arch/riscv64/conf/s.S b/arch/riscv64/conf/s.S index 516dc39..7dbaf4f 100644 --- a/arch/riscv64/conf/s.S +++ b/arch/riscv64/conf/s.S @@ -10,3 +10,47 @@ li a2, 2 li a3, 3 li a4, 4 ecall + +/* "print" hello world */ +li a0, 1 +li a1, 'H' +ecall +li a0, 1 +li a1, 'e' +ecall +li a0, 1 +li a1, 'l' +ecall +li a0, 1 +li a1, 'l' +ecall +li a0, 1 +li a1, 'o' +ecall +li a0, 1 +li a1, ',' +ecall +li a0, 1 +li a1, ' ' +ecall +li a0, 1 +li a1, 'w' +ecall +li a0, 1 +li a1, 'o' +ecall +li a0, 1 +li a1, 'r' +ecall +li a0, 1 +li a1, 'l' +ecall +li a0, 1 +li a1, 'd' +ecall +li a0, 1 +li a1, '!' +ecall +li a0, 1 +li a1, '\n' +ecall diff --git a/arch/riscv64/kernel/entry.S b/arch/riscv64/kernel/entry.S index 7301d4e..1bd6046 100644 --- a/arch/riscv64/kernel/entry.S +++ b/arch/riscv64/kernel/entry.S @@ -128,7 +128,7 @@ restore_noreturn: lr s2, offsetof_s2(sp) lr s3, offsetof_s3(sp) lr s4, offsetof_s4(sp) - lr s5, offsetof_s4(sp) + lr s5, offsetof_s5(sp) lr s6, offsetof_s6(sp) lr s7, offsetof_s7(sp) lr s8, offsetof_s8(sp) -- cgit v1.3