polished_interrupts

Crates.iopolished_interrupts
lib.rspolished_interrupts
version0.1.1
created_at2025-06-12 20:25:23.48413+00
updated_at2025-06-12 20:25:23.48413+00
descriptionInterrupt handling for the Polished OS project.
homepage
repositoryhttps://codeberg.org/ofluffydev/polished
max_upload_size
id1710386
size25,702
Kaden Frisk (ofluffydev)

documentation

README

Polished Interrupts TODO List

This document tracks the status and planned features for interrupt handling in Polished OS. For project context, see the main README.


1. CPU Exceptions (Faults and Traps)

  • Set up handler: Divide-by-zero (#DE)
  • Set up handler: Debug (#DB)
  • Set up handler: Non-maskable interrupt (NMI)
  • Set up handler: Breakpoint (#BP)
  • Set up handler: Overflow
  • Set up handler: Bound range exceeded
  • Set up handler: Invalid opcode
  • Set up handler: Device not available
  • Set up handler: Double fault (with dedicated IST stack)
  • Set up handler: Invalid TSS
  • Set up handler: Segment not present
  • Set up handler: Stack-segment fault
  • Set up handler: General protection fault (#GP)
  • Set up handler: Page fault (#PF)
  • Set up handler: x87 Floating-point error
  • Set up handler: Alignment check
  • Set up handler: Machine check
  • Set up handler: SIMD floating-point exception
  • Set up handler: Virtualization exception

2. Hardware Interrupts (IRQs)

  • Set up handler: Timer (PIT/APIC)
  • Set up handler: Keyboard
  • Set up handler: Mouse
  • Set up handler: Disk controllers (SATA, NVMe)
  • Set up handler: Network cards
  • Set up handler: USB controllers
  • Set up handler: Other hardware devices as present

3. Software Interrupts (Syscalls)

  • Set up syscall interrupt vector (e.g., int 0x80) if needed
  • Set up syscall entry point for syscall instruction

Will use the modern syscall mechanism instead of legacy interrupts.

4. Stack Management

  • Configure Interrupt Stack Table (IST) for double fault
  • Configure IST for NMI
  • Configure IST for other critical exceptions as needed

5. Interrupt Controller Initialization

  • Initialize and configure APIC or legacy PIC
  • Set up IRQ vector remapping
  • Mask/unmask interrupts as needed
  • Implement End-of-Interrupt (EOI) signaling in handlers

This list is updated as features are implemented. Feedback and contributions are welcome!

Commit count: 0

cargo fmt