[x86] Bootstrapping complete.

This patch completes the bootstrapping of x86 from
the loaded protected mode to long mode (not compatiblity mode).
What this patch does:
* Initializes the processor to sane state.
* Creates the identity map page tables.
* Enables the long mode.
* Enables paging.
* Trashes the GRUB2 GDTs but installs its own
  64-bit GDTs.
* Does a far call to new 64-bit code segment.
* __ends up in the 64-bit execution mode.

What this patch doesn't do:
* Page tables for call 64-bit code and data
  yet to be created.
* Stack allocation in new segment.
* Jumping to the 64-bit xvisor code!!!!

ALERT!!! QEMU and GDB have serious trouble debugging this
kind of code where the processor states change during
execution. 32-bit bootstrapping code can be easily debugged
but there is not way to put breakpoints in 64-bit code.
Will need to get console up ASAP so that debugging can
proceed using vmm_printfs.

Signed-off-by: Anup Patel <anup@brainfault.org>
[TOP] Updated maintainers list.

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] Beagle: use CONFIG_OMAP3_CLKSRC_S32KT instead of CONFIG_BEAGLE_CLKSRC_S32KT.

Signed-off-by: Anup Patel <anup@brainfault.org>
[x86] Moved back higher address linking to lower one.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[ARM] Fixed c, b, and tex page attributes in arch_cpu_aspace_map().

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] Added info about page attributes of pages for reserved area.

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] For VCPU with disabled MMU we should have cacheable & write-through pages.

Signed-off-by: Anup Patel <anup@brainfault.org>
[x86] Bootstrapping is completely done.
We can now actually run 64-bit code.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] Multiboot information support

This patch saves the multiboot information passed
from boot loader to X-Visor. It contains various
vital information like total available memory,
any command line parameters etc.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] VGA setup, early banner

This patch adds support for VGA setup including
identity mapping of the VGA base and 16K memory.
Auxillary functions to access VGA and a simple
banner print.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[ARM] Making code space and reserved space as cacheable and write-back.

Signed-off-by: Anup Patel <anup@brainfault.org>
[CORE] New BUFFERABLE memory attribute for pages in host aspace.

Signed-off-by: Anup Patel <anup@brainfault.org>
[x86] Made all bootstrap code as part of 64-bit init.

This will help in reclaiming the memory while init
section is being reclaimed. Had the bootstrap code
been at bottom, it would have left a hole in memory
which could have been hard to reclain.

Now 0x100000 is the 64-bit code. 32-bit bootstrap lies
in .init and will be reclaimed later.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
Merge pull request #3 from hschauhan/master

x86 To date changes.
[ARM] Few optimizations in exception entry & exit.

Signed-off-by: Anup Patel <anup@brainfault.org>
[x86] Forgotten VGA file.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[DOCS] Fixed README for realview pb-a8 host.

Signed-off-by: Anup Patel <anup@brainfault.org>
[EMULATORS] Fixed sp804_timer_current_value() for periodic timer.

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] Do not use vmm_memcpy on l1 & l2 tables.

Signed-off-by: Anup Patel <anup@brainfault.org>
[ARM] Beagle: Added additional DTS file for two pre-configured guests and menuconfig option for selecting a DTS file.

Signed-off-by: Anup Patel <anup@brainfault.org>