> On 25 Jul 2025, at 10.55, Mohamed Mediouni <mohamed@unpredictable.fr> wrote:
>
> Early series.
>
> Known issues:
> - when nested virt is enabled, no UI response within EDK2
> and a permanent wait. Workaround: -boot menu=on,splash-time=0
> - Save/restore of GIC state isn't complete yet.
> - Save/restore of HVF state when EL2 is enabled isn't complete yet.
> - This series doesn't contain EL2 physical timer emulation, which is
> needed if not leveraging the Apple vGIC.
>
> However, this is usable and there seems to be some interest for it. Hopefully
> it'll be at least somewhat useful.
>
> PS: I can step up to maintain HVF support if needed. WHPX arm64 patch series
> is coming soon too.
>
> v1->v2:
> Oops. I did a mistake when preparing my patches.
>
> - Add hvf_arm_el2_enable(_) call to virt_set_virt
> - Fix nested virt support check to add HVF
>
> Mohamed Mediouni (9):
> target/arm: hvf: stubbing writes to LORC_EL1
> accel, hw/arm, include/system/hvf: plumbing changes for HVF vGIC
> target/arm: hvf: instantiate GIC early
> target/arm: add asserts for code paths not leveraged when using the
> vGIC
> hw/intc: Add hvf vGIC interrupt controller support
> hw/arm, target/arm: nested virtualisation on HVF
> target/arm: hvf: pass through CNTHCTL_EL2 and MDCCINT_EL1
> hw/arm: virt: add GICv2m for the case when ITS is not available
> target/arm: hvf: use LOG_UNIMP for CNTP_CVAL_EL0/SYSREG_CNTP_CTL_EL0
>
> accel/hvf/hvf-all.c | 44 +++
> accel/stubs/hvf-stub.c | 1 +
> hw/arm/virt-acpi-build.c | 4 +-
> hw/arm/virt.c | 34 +-
> hw/intc/arm_gicv3_common.c | 3 +
> hw/intc/arm_gicv3_hvf.c | 624 +++++++++++++++++++++++++++++++++++++
> hw/intc/meson.build | 1 +
> include/hw/arm/virt.h | 2 +
> include/system/hvf.h | 3 +
> system/vl.c | 2 +
> target/arm/hvf-stub.c | 15 +
> target/arm/hvf/hvf.c | 91 ++++++
> target/arm/hvf_arm.h | 3 +
> 13 files changed, 817 insertions(+), 10 deletions(-)
> create mode 100644 hw/intc/arm_gicv3_hvf.c
>
> --
> 2.39.5 (Apple Git-154)
>
Great patch set to see! I was working on the same functionality before
going on vacation. If you give me a bit of time, then I'll make sure to
review it.