aboutsummaryrefslogtreecommitdiff
path: root/bios/hello.s
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <mikisabate@gmail.com>2024-08-12 08:24:44 +0200
committerMiquel Sabaté Solà <mikisabate@gmail.com>2024-12-05 16:02:11 +0100
commitc173df46a0a12fe52fdf13323f967e9117462096 (patch)
tree386124798c6c7f54ff4c645746bae1ed3214a67a /bios/hello.s
downloadfarga-c173df46a0a12fe52fdf13323f967e9117462096.tar.gz
farga-c173df46a0a12fe52fdf13323f967e9117462096.zip
Initial commit
Mainly with the code I took from @popovicu's blog. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
Diffstat (limited to 'bios/hello.s')
-rw-r--r--bios/hello.s23
1 files changed, 23 insertions, 0 deletions
diff --git a/bios/hello.s b/bios/hello.s
new file mode 100644
index 0000000..f3aa20a
--- /dev/null
+++ b/bios/hello.s
@@ -0,0 +1,23 @@
+# From: https://github.com/qemu/qemu/blob/23fa74974d8c96bc95cbecc0d4e2d90f984939f6/hw/riscv/virt.c#L82.
+.set QEMU_UART0_ADDRESS, 0x10000000
+
+.global _start
+.section .text.bios
+
+_start: li a0, 0x68
+ li a1, QEMU_UART0_ADDRESS
+ sb a0, (a1) # 'h'
+
+ li a0, 0x65
+ sb a0, (a1) # 'e'
+
+ li a0, 0x6C
+ sb a0, (a1) # 'l'
+
+ li a0, 0x6C
+ sb a0, (a1) # 'l'
+
+ li a0, 0x6F
+ sb a0, (a1) # 'o'
+
+loop: j loop