TODO:
+
+=== Hardware ===
- E1000 Driver (stubbed)
> Find specs
http://download.intel.com/design/network/manuals/8254x_GBe_SDM.pdf
> Use bochs/qemu only as a backup
+
- Cirrus 64-bit VisualMedia Accelerator
PCI 1013:00B8 (Cirrus CLGD5446)
> Specs avail?
Qemu Suggests http://home.worldonline.dk/~finth/
> Bochs/Qemu
+
- UniChrome Driver
+
+- Sound Stack
+ > Intel 82801AA AC97 Audio (qemu)
+
+
+=== General Features ===
- Init Scripts
> With an argument to init passed from the kernel?
+
- #!
> Pass as argument? or pass pointer like ld-acess?
> argc/argv - Definitely
+
- Network Debugging + IPv6 Autoconf
> Should IPv6 RAs be done in kernel mode, or usermode?
> Wait until something like linux's net.conf.ipv6.accept_ra is set?
> Have a custom suffix for stateless IPs?
+
- 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
+ > (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
+ > (DONE) Trace memory corruption
+
+- Port dropbear!