eos0/development.md

26 lines
1.2 KiB
Markdown
Raw Normal View History

2024-12-16 16:02:41 +00:00
# Development Log
### 2024-12-16
- Timer reference: https://popovicu.com/posts/risc-v-interrupts-with-timer-example/
- Another great general OS reference for RISC-V: https://osblog.stephenmarz.com/
- Looks like OpenSBI abstracts away UART and some other things, and has a bunch of extensions for managing the hardware. One thing you can do with this is create interrupts. I'm going to try to do this.
- The goal of setting up the interrupts is to go for a green-thread architecture.
### 2024-12-06
- I want to set up some kind of timer-based multitasking.
- https://github.com/marf/xv6-scheduling
### 2024-12-05
- Linker script annoying bug that didn't put .text at the exact address specified. It kept putting .rodata.\* first, so I just added an explicit entry for that to put it later
- The way the OS communicates with the QEMU terminal using UART
### 2024-12-04
- QEMU can automatically create a FAT filesystem on the fly https://qemu-project.gitlab.io/qemu/system/qemu-block-drivers.html#virtual-fat-disk-images
- https://www.qemu.org/2020/07/03/anatomy-of-a-boot/
- https://xiayingp.gitbook.io/build_a_os Learning resource
- Rust version of xv6: https://github.com/Jaic1/xv6-riscv-rust