Skip to content

Latest commit

 

History

History
26 lines (26 loc) · 1.16 KB

Wishlist.md

File metadata and controls

26 lines (26 loc) · 1.16 KB

Things to Do:

  • Scale heap to available memory
  • Maybe convert NASM code into GNU AS
  • Maybe convert C code into C++
  • Maybe migrate to Clang
  • Sort memory map with merge sort
  • Stability
    • Solve triple fault with TSS.
    • Ensure static allocator doesn't overwrite modules, which GRUB loads immediately after the kernel.
    • Debugging facilities
      • Display strings, integers and pointers.
      • Dump the contents of the registers.
      • Dump the contents of memory as hex values.
      • Stack trace
        • Unwind stack frames (seems to get bad values; see src/debug/dump_stack.c).
        • Symbol lookup
          • Create symbol map (see tools/gensymtab).
          • Load symbol map
            • Load initial ramdisk
              • Define initial ramdisk (see include/kernel/initrd.h).
              • Create initial ramdisk.
              • Load initial ramdisk
            • Parse symbol map at ramdisk:/boot/kernel.map
          • Map addresses to symbols.
    • Write unit tests
    • Make functions reentrant