Skip to content
This repository has been archived by the owner on May 31, 2021. It is now read-only.

Misaka / ToaruOS 2.0 Roadmap #1

Open
24 of 41 tasks
klange opened this issue Apr 26, 2021 · 0 comments
Open
24 of 41 tasks

Misaka / ToaruOS 2.0 Roadmap #1

klange opened this issue Apr 26, 2021 · 0 comments

Comments

@klange
Copy link
Collaborator

klange commented Apr 26, 2021

  • Kernel Elf loader
    • Support Elf64 binaries in basic parsing.
    • Support necessary relocations for object files used as modules.
    • Support static binary loading for userspace.
  • Memory Allocation Support
    • Basic PML4 page allocator
    • Set up kernel heap with klmalloc
    • Next: Add a more capable mmap interface
  • Task Switching
    • Port process model
    • Interrupt infrastructure with legacy PIC, etc.
    • Next: APIC, LAPIC...
  • Virtual File System
    • Port existing VFS infrastructure
    • Port tmpfs, tarfs modules
    • Port drivers for storage devices
    • Next: Re-write PATA drivers, rewrite ext2 driver, SATA drivers
  • Syscall functionality
    • Port existing syscalls
    • Port TTY layer, PacketFS
    • Next: Implement support for new syscall interfaces
  • Userspace
    • Port ld.so dynamic linker to support Elf64.
    • Verify functionality of libc in x86-64.
    • Verify functionality of existing applications, resolve word size issues.
  • Remaining driver ports:
    • Network Stack
      • Main network stack (or dump this because it's terrible and just write a new one?)
      • e1000
      • rtl8139
      • pcnet
    • Audio
      • Core mixer
      • ac97
      • pcspk (this should be portable right now? don't forget to adjust timings)
      • Next: Intel HDA
    • Storage
      • ATA/ATAPI driver
      • Ext2 filesystem driver (this is really broken, rewrite it?)
      • ISO9660
    • VirtualBox guest driver
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant