Commit graph

13 commits

Author SHA1 Message Date
80dc438fd0
Drivers: Added start of 16550 UART driver
Seems to work well enough to take over the OpenSBI putchar

TODO: Add some kind of flush() to avoid trashing data still in the FIFO
when we take over from OpenSBI
2022-07-31 23:29:24 -04:00
259d929c13
Drivers: Added Sunxi pinctrl driver
Works well enough to set bank modes and turn on an LED

Very not complete and needs more testing
2022-07-31 23:03:01 -04:00
d100b515d6
Kernel: Disabled dtb stuff for now 2022-07-31 23:01:57 -04:00
f9ea032b7d
Kernel/OpenSBI: Switched to stdint.h
Not sure when I started typing cstdint but for now I want to stick to
stdint.h
2022-07-31 21:32:11 -04:00
44bfd9c4fb
Kernel: Removed left over example code 2022-07-31 21:20:48 -04:00
ad1ac3f9d7
Common: Started writing a DTB/FDT parser 2022-06-07 01:06:02 -04:00
4367e38f39
Kernel: OpenSBI memes
Just making sure things work
2022-06-07 01:04:21 -04:00
464a61102e
OpenSBI memes
Added legacy extension

Fixed typing memes by just define a sbiword_t typedef

Renamed sbiret_t to SbiRet, I think i'll only use _t for typedefs

Added ecall() variant that takes no additional arguments

Moved opensbi includes to includes/opensbi/...

kernel.cpp uses the legacy extensions instead of raw ecalls

All legacy extension calls are marked as deprecated
2022-01-23 20:15:53 -05:00
ea60891ef5
Renamed call -> ecall
Removed old sbi call funcions in kernel.cpp
2022-01-23 15:35:18 -05:00
94fbea02ca
Kernel: tabs -> spaces 2022-01-05 02:50:14 -05:00
d5d92555ae
Drivers: Started OpenSBI driver
Just ecall wrapper for now

TODO: Build system changes are lazy and need to be figured out

TODO: Looks like kernel.cpp was indented with tabs, fix
2022-01-05 02:47:30 -05:00
b35d58df1f
Build System: More better
Split code into generic, arch, and platform

Made QEMU its own platform

Added shitty uart upload script for lichee board until I can get fel to
actually upload uboot payloads without hanging

TODO: Move platform selection out of build script

TODO: Move arch specific stuff from kernel to arch

TODO: Common linker script for arch instead of having a copy in each
platform
2022-01-04 01:50:46 -05:00
e50fb2de2c
Initial Commit
Mostly stolen from https://github.com/avdgrinten/riscv-toy-os

Changed load address to 0x45000000 so it would run on real hardware

Played around with GPIO and the watchdog
2022-01-03 19:11:49 -05:00