Skip to content
Shirk edited this page Oct 28, 2014 · 5 revisions

Things TODO

  • switch from C freestanding to C++ freestanding headers
  • remove the need for -ffriend-injection
  • wirte panic() and replace the do{}-loops
  • early logging (platform object?)
  • transparently support multiboot & multiboot2
  • transparently support system structures on BIOS & UEFI (platform object?)
  • rewrite boot.S to use AT&T syntax (common syntax for all assembler sources)
  • detect and handle low-memory scenarios (out-of-pages etc.)
    • provide support for RLU detection in virtmm
    • provide support to call into the SLABs reap / free methods
    • add flags to allow for blocking in SLAB / virtmm / physmm
      => requires (dummy) scheduler
  • add per-CPU magazines to the SLAB
  • optimize ACPI memory usage and reserve a real IO-region for the tables
  • support deactivate_region() for MMIO-regions
  • scheduling
    • dummy-scheduler to support other parts requiring it until it's written
    • do a real scheduler design
  • SMP setup
    • provide a separate stack for booting each core
    • fix IRQ delivery to provide non-broadcast hooks
  • timer stuff
    • support HPET
    • create a transparent timer on top of PIT / HPET
    • per core timer support?
  • more stuff
Clone this wiki locally