[PATCH v3 05/10] hvf: arm: Mark CPU as dirty on reset

2020-12-02 Thread Alexander Graf
When clearing internal state of a CPU, we should also make sure that HVF knows about it and can push the new values down to vcpu state. Make sure that with HVF enabled, we tell it that it should synchronize CPU state on next entry after a reset. This fixes PSCI handling, because now newly pushed

[PATCH v3 04/10] arm: Set PSCI to 0.2 for HVF

2020-12-02 Thread Alexander Graf
In Hypervisor.framework, we just pass PSCI calls straight on to the QEMU emulation of it. That means, if TCG is compatible with PSCI 0.2, so are we. Let's transpose that fact in code too. Signed-off-by: Alexander Graf --- target/arm/cpu.c | 4 1 file changed, 4 insertions(+) diff --git a

[PATCH v3 08/10] arm/hvf: Add a WFI handler

2020-12-02 Thread Alexander Graf
From: Peter Collingbourne Sleep on WFI until the VTIMER is due but allow ourselves to be woken up on IPI. Signed-off-by: Peter Collingbourne [agraf: Remove unused 'set' variable, always advance PC on WFX trap] Signed-off-by: Alexander Graf --- accel/hvf/hvf-cpus.c | 5 ++-- include/sysem

[PATCH v3 07/10] arm: Add Hypervisor.framework build target

2020-12-02 Thread Alexander Graf
Now that we have all logic in place that we need to handle Hypervisor.framework on Apple Silicon systems, let's add CONFIG_HVF for aarch64 as well so that we can build it. Signed-off-by: Alexander Graf --- v1 -> v2: - Fix build on 32bit arm --- meson.build| 11 ++- t

[PATCH v3 10/10] hvf: arm: Implement -cpu host

2020-12-02 Thread Alexander Graf
Now that we have working system register sync, we push more target CPU properties into the virtual machine. That might be useful in some situations, but is not the typical case that users want. So let's add a -cpu host option that allows them to explicitly pass all CPU capabilities of their host C

[PATCH v3 06/10] hvf: Add Apple Silicon support

2020-12-02 Thread Alexander Graf
With Apple Silicon available to the masses, it's a good time to add support for driving its virtualization extensions from QEMU. This patch adds all necessary architecture specific code to get basic VMs working. It's still pretty raw, but definitely functional. Known limitations: - Vtimer ackn

<    1   2   3   4   5