RIOT-OS/RIOT — pull request #764 by Kijewski (2014-02-22 18:01:07+00:00)
Title: Initial x86 port

This PR adds initial support for i586 based boards.

The basic stuff is working:
- threading,
- hardware FPU (x87),
- the whole IRQ handling,
- UART reading and writing (currently in a busy loop),
- hwtimer, and
- the initial PCI configuration.

Not implemented as of now:
- any ethernet card,
- any WLAN card,
- any USB host controller, or
- anything else to interface with the world save for the terminal.

This is but tested on real world board, yet, and there isn't even any initial support for specific hardware, yet.
Currently I only implemented a `x86-multiboot-common` "board", that is going to be a mixin for real boards, so a multiboot enabled bootloader (such as grub, and many more) can load the kernel.

The a compiled binary can be tested in qemu, e.g.
```sh
qemu-system-i386 -kernel bin/x86-multiboot-common/test_vtimer_msg.elf -serial stdio -m 512m
```

The PR ships a shell script that creates an i586 toolchain, including newlib, and its own GCC. (I will try to figure out later on if it is safely possible to use the host's toolchain.)

The PR is quite large, sorry, but as it won't get any smaller, I chose to open a PR now.
So ... happy testing. :)