# 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