tooling: Fix make problems with run-kbuild macro

Switch to a more robust pattern for invoking kbuild. The indirection via
the macro caused too many issues, up to no execution at all.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Tested-by: Santosh Shukla <santosh.shukla@linaro.org>
tools: Fix CPU listing in "cell list"

This fixes the output of patterns like "0,3", i.e. individual CPUs with
a gap in between them.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
driver: Use hypervisor's version.h

Let the driver module depend on the hypervisor subdir. This allows us to
reuse the version.h generated by the hypervisor build also for the
driver. They were identical.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
core: config.h is expected in the $(obj), not $(src)

Cosmetic change, both are identical in practice (no out-of-tree build
possible for out-of-tree modules right now).

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
core: Move cpu_suspended setting into arch_panic_stop

cpu_suspended is an x86-specific control, nothing every arch needs to
provide. Leave it up to the arch how to set the CPU's state on panic.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
core: Refactor struct mmio_access to mmio_instruction

The current mmio_access rather contains information about the accessing
instruction. ARM's mmio_access hold data about the actual access. To
clarify the meaning and release the namespace, rework the preexisting
struct to mmio_instruction.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
core: Move mmio_parse and struct mmio_instruction into arch header

There will be no need for and implementation of this service outside of
x86 in the foreseeable future. So make it arch-private until we have
more users.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
configs: Adjust QEMU config to changes in AHCI model

The cap location was adjusted to comply with the spec.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
x86: Remove unused cpu_data argument from vmx_entry_failure

panic_stop no longer requires it, so it became useless.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
x86: Remove cpu_data parameter from interrupt handling path

We can obtain a reference on demand now.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
x86: Remove cpu_data parameter from vmx_set_cell_config

As a consequence, this allows to remove it also from vmx_cpu_reset and
vmx_cpu_park. All functions always work against the invoking CPU.

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