Big Update :)
(sorry for not doing much the past weeks had to get 4th place at the botball competition real quick)
Changelog
- Implemented heap allocator (partially and broken)
- Implement PIC (Programmable Interrupt Controller) Init + get basic IRQ stuff working
- Fix GDT (was missing a few entries)
- Fix TSS (IST1-4 interrupt stacks were missing)
- Implement interrupts for vectors #0 through #31
- Update Panic for most interrupts to give way more details (example: pagefault in attached image)
- Replace Mutex with IrqMutex for text writing and holding
CHAINED_PICS
Current State
I’ve noticed that my so far work has been kinda sloppy, so I’m currently working on improving everything (as u can see on the changelist above ive already started). I’m doing this because when I started with IRQs, stuff started breaking a lot. My goal is to get everything thread-safe and ready in a way that it’ll work in later stages of the kernel too.
Next up?
Next, I’ll be working on fixing logging (add a ringbuffer to prevent interrupts creating half-printed or partially drawn logs)