IO support in kernel

Do not merge this.
This is *way* too early to be initializing this stuff. We clear all RAM a handful of lines down the boot process. A better way is to make an init function for this and call it when initializing all of the other subsystems.