This one took way longer for me to publish than I should have.
There are a number of lingering bugs in this one including u-boot not working.
Interrupt controller save/restore is entirely missing in this RFC, and some
other state
bits are likely still missing too.
ITS not blocked by default yet, remember to use its=off when testing this
series.
You might also want the GICv3 + GICv2m support patch as part of the HVF vGIC
patch series, which
is not duplicated here.
PS: on both this and HVF, interrupt controller initialisation needs to be done
early so I ended
up with hardcoded addresses. Wonder if the right way to go might be to defer
virt and vCPU initialisation
until late in the process post-gic_realize...
Other than that, this boots both EDK2 and Linux in SMP, when using devicetree
or ACPI.
Mohamed Mediouni (9):
whpx: Move around files before introducing AArch64 support
whpx: reshuffle common code
whpx: common: use whpx_cpu_instance_init on x86 only
whpx: interrupt controller support
hw/virt: make Qemu aware that WHPX has a vGICv3
hw: intc: arm_gicv3_common: add whpx
whpx: add arm64 support
whpx: copy over memory tracking logic from hvf
target/arm: cpu: mark WHPX as supporting PSCI 1.1
accel/meson.build | 1 +
accel/whpx/meson.build | 7 +
{target/i386 => accel}/whpx/whpx-accel-ops.c | 8 +-
accel/whpx/whpx-common.c | 670 ++++++++++++++++
hw/arm/virt.c | 3 +
hw/intc/arm_gicv3_common.c | 3 +
hw/intc/arm_gicv3_whpx.c | 285 +++++++
hw/intc/meson.build | 1 +
.../whpx => include/system}/whpx-accel-ops.h | 4 +-
include/system/whpx-all.h | 12 +
include/system/whpx-common.h | 22 +
.../whpx => include/system}/whpx-internal.h | 11 +-
meson.build | 5 +-
target/arm/cpu.c | 3 +-
target/arm/meson.build | 1 +
target/arm/whpx/meson.build | 3 +
target/arm/whpx/whpx-all.c | 744 ++++++++++++++++++
target/i386/whpx/meson.build | 1 -
target/i386/whpx/whpx-all.c | 524 +-----------
target/i386/whpx/whpx-apic.c | 2 +-
20 files changed, 1780 insertions(+), 530 deletions(-)
create mode 100644 accel/whpx/meson.build
rename {target/i386 => accel}/whpx/whpx-accel-ops.c (96%)
create mode 100644 accel/whpx/whpx-common.c
create mode 100644 hw/intc/arm_gicv3_whpx.c
rename {target/i386/whpx => include/system}/whpx-accel-ops.h (92%)
create mode 100644 include/system/whpx-all.h
create mode 100644 include/system/whpx-common.h
rename {target/i386/whpx => include/system}/whpx-internal.h (97%)
create mode 100644 target/arm/whpx/meson.build
create mode 100644 target/arm/whpx/whpx-all.c
--
2.39.5 (Apple Git-154)