x86: Avoid crashes under QEMU due to missing DMAR units

Make sure we do not crash in the hypervisor when adding or removing
cells with PCI devices under QEMU. These hacks will be removed once
emulated VT-d is available.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
doc: update README

The README had one line where the old jailhouse syntax was still used,
update it to the new syntax.

Signed-off-by: Henning Schild <henning.schild@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
TODO: Update and detail list

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
core: Provide details on PCI MMCONFIG access violations

Support the user in parsing MMCONFIG write rejections by decoding the
BDF and providing the accesses register number.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
x86: Further improve EPT error reporting

Avoid double error reporting in vmx_handle_ept_violation if an access
handler already did this. Also correct the access direction message, it
was inverted.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
x86: Report APIC access on MMIO parsing error

This ensures that the context of the MMIO access is clear.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
x86: Report details on string/REP-prefixed PIO access

Do not just silently return an error code without telling the user what
kind of vmexit handling just failed.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
core: Drop root_cell argument from arch_init_early/late

root_cell is already globally available, no need to pass it around.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>