You are browsing as a guest. Sign up (or log in) to start making projects!

38m 57s logged

Frost64 — Devlog 4

July 27, 2026

(ACTUAL TIME: 2HRS, 12MINS)

PMM is in. Physical memory manager. I can hand out pages now. It feels weirdly powerful for something so boring and confusing.

Limine gives you a memory map. Usable, reserved, ACPI reclaim, whatever. I walk it, find the usable regions, shove them into a bitmap. One bit per page. 0 = free, 1 = used. 128KB of bitmap for 4GB of RAM. Not efficient but it works. pmm_alloc() finds a 0, flips it, returns the address. pmm_free() flips it back. Done.

Took longer than it should have. Off-by-one in the bitmap index, allocated the same page twice, page fault. Fixed it. Classic.

PIT and keyboard work. I can type while the timer ticks. Multitasking is still far but at least the pieces are there.

Next: paging. Four-level page tables. Higher half kernel. The thing I’ve been dreading since devlog 1.

On Using AI Here

Since AI is a tool now, I’m using it. But vibe coding is wrong and I’m keeping AI work under 30%. So far it’s only cleanup, file fixes, and commentary (because I forget what a certain part does). I check every change. I don’t let it break the rules.

The PMM was different. I wrote one first. Asked Kimi if it was good. It was pure garbage apparently. I’m not familiar with x64 dev, this is all new, and I’m learning while coding. So I let AI rebuild the PMM properly while I studied what it did. I understand it now. It is mine. But I needed the help.

0
144

Comments 0

No comments yet. Be the first!