[EMULATORS] Add LAPIC emulators for Intel Systems.

SIPI and other SMP facilities are not supported yet.
LAPIC uses vector 16 to receive interrupts from
IOAPIC or 8259 Controller.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] Add support to use LAPIC for x86

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] Beautification changes for Guest register dump.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] Avoid adding MEM-IO regions as RAM.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] x86 Instruction Decoder

Added infrastructure to decode x86 instructions. Right now
only some variations of mov instructions are supported that
can help in emulation of memory-mapped devices.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] Use the instruction decode infrastructure

The hardcodings of existing crN read/write is removed to
use new instruction decoding infrastructure.
Page fault handlers adds the faults on IO regions and
emulates read/write to MEMIO regions by decoding the
faulting instruction.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[EMULATORS] Add PC PS/2 Keyboard/Mouse Emulator

Add support for Intel 8042 PS/2 Keyboard/Mouse emulator.

Signed-off-by: Himanshu Chauhan <hschauhan@nulltrace.org>
[x86] Enable PS/2 Keyboard/Mouse Emulator for x86 Guest.

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

Conflicts:
	arch/x86/configs/x86_64_generic-defconfig