On Thu, Nov 26, 2020 at 10:50:09PM +0100, Alexander Graf wrote: > Now that Apple Silicon is widely available, people are obviously excited > to try and run virtualized workloads on them, such as Linux and Windows. > > This patch set implements a rudimentary, first version to get the ball > going on that. With this applied, I can successfully run both Linux and > Windows as guests, albeit with a few caveats: > > * no WFI emulation, a vCPU always uses 100% > * vtimer handling is a bit hacky > * we handle most sysregs flying blindly, just returning 0 > * XHCI breaks in OVMF, works in Linux+Windows > > Despite those drawbacks, it's still an exciting place to start playing > with the power of Apple Silicon. > > Enjoy! > > Alex > > Alexander Graf (8): > hvf: Add hypervisor entitlement to output binaries > hvf: Move common code out > arm: Set PSCI to 0.2 for HVF > arm: Synchronize CPU on PSCI on > hvf: Add Apple Silicon support > hvf: Use OS provided vcpu kick function > arm: Add Hypervisor.framework build target > hw/arm/virt: Disable highmem when on hypervisor.framework > > MAINTAINERS | 14 +- > accel/hvf/entitlements.plist | 8 + > accel/hvf/hvf-all.c | 56 ++++ > accel/hvf/hvf-cpus.c | 484 +++++++++++++++++++++++++++++++++++ > accel/hvf/meson.build | 7 + > accel/meson.build | 1 +
This seems to conflict with the accel cleanup work being done by Claudio[1]. Maybe Claudio could cherry-pick some of the code movement patches from this series, or this series could be rebased on top of his. [1] https://lore.kernel.org/qemu-devel/20201124162210.8796-1-cfont...@suse.de > hw/arm/virt.c | 9 + > include/hw/core/cpu.h | 3 +- > include/sysemu/hvf_int.h | 69 +++++ > meson.build | 39 ++- > scripts/entitlement.sh | 11 + > target/arm/arm-powerctl.c | 3 + > target/arm/cpu.c | 4 + > target/arm/hvf/hvf.c | 345 +++++++++++++++++++++++++ > target/arm/hvf/meson.build | 3 + > target/arm/meson.build | 2 + > target/i386/hvf/hvf-cpus.c | 131 ---------- > target/i386/hvf/hvf-cpus.h | 25 -- > target/i386/hvf/hvf-i386.h | 48 +--- > target/i386/hvf/hvf.c | 360 +------------------------- > target/i386/hvf/meson.build | 1 - > target/i386/hvf/x86hvf.c | 11 +- > target/i386/hvf/x86hvf.h | 2 - > 23 files changed, 1061 insertions(+), 575 deletions(-) > create mode 100644 accel/hvf/entitlements.plist > create mode 100644 accel/hvf/hvf-all.c > create mode 100644 accel/hvf/hvf-cpus.c > create mode 100644 accel/hvf/meson.build > create mode 100644 include/sysemu/hvf_int.h > create mode 100755 scripts/entitlement.sh > create mode 100644 target/arm/hvf/hvf.c > create mode 100644 target/arm/hvf/meson.build > delete mode 100644 target/i386/hvf/hvf-cpus.c > delete mode 100644 target/i386/hvf/hvf-cpus.h > > -- > 2.24.3 (Apple Git-128) > -- Eduardo