[x86] Narrow the Uart region for guest.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] Use arch_guest_region_add/delete

Use arch_guest_region_add/delete to enable/disable
IO intercept when an IO region is probed.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] Use arch guest add region to save guest allocated memory.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] [REGRESSION] Fix x86 boot - current broken.

After commit-id 0d657917805ae29e43d0adbbaceabd81d99f0471
x86 was broken. Since now FDT is kept in big endian
format irrespective of the native endianness, its important
to specify the attribute sizes.

ACPI tables report addresses in u32, the code was setting
the phys_addr value with size of u32. Since native word
size is 8 bytes, during read of the attribute, endianess
conversion is done only on 4 bytes returning 0 as physical
address.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] Suppress compilation warning in i440fx.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86][DOCS] Adding CMOS map as seen by BIOS.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] IOIO intercept RIP  from exitinfo2

During IOIO intercept, the VMCB RIP points to address
where IO instruction is. IO instruction can be 1 or 2
bytes based on type of operands. To facilitate in finding
next RIP to return to, SVM puts the address of next instruction
in VMCB EXITINFO2. Using this.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] Minor clean up in IOIO intercept.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] Fix compile time warning in IO intercept disable.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[EMULATORS] Adding Motorola's MC146818 RTC Emulator.

This adds the emulator for Motorola's MC146818 RTC emulator.
It also emulates the CMOS memory and works mostly like QEMU
emulator providing information about available Low/High memory,
SMP CPUs etc.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] Use MC146818 RTC emulator for guest.

o Use the 1468181 RTC emulator.
o Add about memory size from CMOS.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>