From 922c9685e9e905a4e0f4acb6ce49e2471485bf8d Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Sun, 6 Sep 2026 11:49:20 +0800 Subject: init: mm just some ground work and newtype pattern --- report.typ | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'report.typ') diff --git a/report.typ b/report.typ index 6c37e8a..819634f 100644 --- a/report.typ +++ b/report.typ @@ -1,6 +1,6 @@ i got inspiration from this #link("https://os.phil-opp.com")[blog] -booatloader selection: +== booatloader selection i could just use qemu skipping to kernel but i wanted to explore about bootloaders too since im making a os, but i dont wanna spend all my time just doing repetitive stuff and dealing with legacy stuff two realistic options only: #link("https://crates.io/crates/bootloader_api")[bootloader_api] which is what the aforementioned blog uses @@ -11,6 +11,14 @@ rejected because: - due to that it's tightly coupled with it #link("https://crates.io/crates/limine")[limine] - cons: no documentation +=== changed to bootloader api as it's more idiomatic and appearently has better documentation == spinlock thanks ("https://www.reddit.com/r/cpp/comments/1w6us70/optimizing_a_spinlock/")[this reddit post] and subsequently ("https://david.alvarezrosa.com/posts/optimizing-a-spin-lock/")[this blog] making me realize this was even a possibility + +== mm +- using Higher Half Direct Map provided by bootloader api crate +- custom new type for virtual and physical memory for type safety + +== panic & backtrace +thanks ("https://eli.thegreenplace.net/2011/02/07/how-debuggers-work-part-3-debugging-information")[Eli] teaching basic concepts and ("https://wiki.osdev.org/Stack_Trace")[osdev] for a practical example -- cgit v1.2.3