TODO:

=== Hardware ===
- 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 ===
- #!
 > 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

- Restructure build system into:
 "ARCH=armv7-tegra2", "EDITION=smp"
 > While you're at it, clean up the build system filenames and ARCH=native/ARCH=host-*

=== 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
