Initial x86 port
Cleaned up x86 platform memmap defs. Fill in later as needed.
Added check for compiler support of -fno-stack-protector and changed toolchain prefix to i386-elf- for x86 port.
Reorganization to better fit platform/target conventions.
Added support for PCI config space read/write via PCI BIOS. Added some PCI commands to query/modify config space and enum devices.
Minor cleanup and a hack to idle the cpu in getc loops.
Fixed a latent bug due to an erroneous reg spec. This would have gone undetected unless edi was clobbered between the bug and the previous asm block.
Fixed typo in pci dump message.
[arm] fix problem with gcc 4.4 to ensure the boot code is in the binary

seems that gcc 4.4 or the newer binutils likes to put linker generated
shims first in link order. Tweak the boot code to use a special section
that is ordered first by the linker script.
[console] synchronize with external sources
[debug] change the dgetc signature to match external sources
[kernel] dynamic timer support from external sources
[kernel] sync with external source. support for dynamic timer
[heap] bring heap debugging stuff from external source
[libc] add implementation for isprint
[arch][arm] support for more cpus from external sources
[platform] fix the dgetc signature problem
[lib][cbuf] simple circular buffer implementation
[omap5912] use the cbuf to do proper blocking getc
[arch] factor out the debug_cycle_count to arch specific code