Here i write about my own Operating System (OS) project.

Devlog: General Updated

So it was a bit longer since last time… a lot longer, but that’s fine, I had in it a break and now I worked on it the last days again and made big progress, here everything I did, compressed.

Paging

I made the Paging System in Sv39, in short Terms, this Describes how the Page Table Entry (Short PTE) is built, in my case I used first Sv39, it looked like a default thing to use, at least from what I saw and it was good to learn, but its a bit more complicated to explain, at least for me, but to make it short, the MMU take an address, makes it in 3 Parts, all 9 bits, called (VPN2, VPN1, VPN0) and the last 12 Bits are the offset for the address (For me right now, I use 4KiB Pages). If you wanna know more about this, here you can find more: https://riscv.github.io/riscv-isa-manual/snapshot/privileged/#sv39

Lily

Lily is the Name of my Bootloader, currently it was that OpenSBI loads my kernel Directly, In future I want it so that it loads my Bootloader (from now on Lily) and Lily loads my Kernel, also Lily should be capable of installing the OS if its not already installed. Currently both are in the same Binary because i’m concentrating on getting the Kernel ready, Lily will get an overwork if my Kernel is stable and I have more experience with RISC-V in general.

General Overwork

I made more documentation and made some code more clean and MANY bugs found and fixed.

What Next?

I’m currently working on a Kernel Allocator and on the internal memory Map.

Thank you for Reading :D

Littleclone (Mastodon) (Twitter)