TODO:
+
+=== Hardware ===
- E1000 Driver (stubbed)
> Find specs
http://download.intel.com/design/network/manuals/8254x_GBe_SDM.pdf
- UniChrome Driver
+- Sound Stack
+ > Intel 82801AA AC97 Audio (qemu)
+
+
+=== General Features ===
- Init Scripts
> With an argument to init passed from the kernel?
- Signals
> Add return value to mutexs and semaphores, and add warn_unused_ret
+
+=== Kernel Core ===
- Virtual PCI bus for system configuration
> Hook in drv_pci.c, with an arch-defined array of devices
> Allow hooks on PCI config accesses (to emulate power management etc)
- VFS Path caching
+ > Is it needed?
> Use a trie of path elements
+ - Trie on path content (with '/' included)
+ - Prefixed to reduce load
+ - Able to split
> Maintain backwards cache of elements
> Support symlink caching too
- USB Stack
> Check validity
- > Rework HC API to support structure used by OHCI/ECHI
+ > (DONE) Rework HC API to support structure used by OHCI/ECHI
- LVM Usablity
> /Devices/LVM/by-id/ and /Devices/LVM/by-label
+=== Userland ===
- AxWin3
> Text editor (with a GP formatted text field?)
> Maybe a basic web browser using the surface support?
+ > Port freetype for nice font support
> Configuration (via lib/server)
- Omnispeak
> Debug speed issues (tracing agian)
> Port to AxWin3
- > Trace memory corruption
+ > (DONE) Trace memory corruption
- Port dropbear!