Kernel/TODO.md

1.5 KiB

  • Optimize SMP.
  • Support IPv6.
  • Endianess of the network stack (currently: HOST<=>NETWORK). Not sure if this is a standard or not.
  • Support 32-bit applications (ELF, PE, etc).
  • Do not map the entire memory. Map only the needed memory address at allocation time.
  • Implementation of logging (beside serial) with log rotation.
  • Implement a better task manager. (replace struct P/TCB with classes)
  • Rewrite virtual file system. (it's very bad, I don't know how I wrote it this bad)
  • Colors in crash screen are not following the kernel color scheme.
  • Find a way to add intrinsics.
  • Rework PSF1 font loader.
  • The cleanup should be done by a thread (tasking). This is done to avoid a deadlock.
  • Implement a better Display::SetBrightness() function.
  • Fix memcpy, memset and memcmp functions (they are not working properly with SIMD).
  • Fully support i386.
  • Support Aarch64.
  • SMP trampoline shouldn't be hardcoded at 0x2000.
  • Rework the stack guard.
  • Mutex implementation.
  • Update SMBIOS functions to support newer versions and actually use it.
  • COW (Copy On Write) for the virtual memory. (https://en.wikipedia.org/wiki/Copy-on-write)
  • Implement lazy allocation. (page faults)
  • Bootstrap should have a separate bss section + PHDR.
  • Reimplement the driver conflict detection.
  • Elf loader shouldn't create a full copy of the elf binary. Copy only the needed sections.
  • Use NX-bit.
  • Fix std::string
  • Rewrite PS/2 drivers.