[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/8] hvf: Implement Apple Silicon Support
From: |
Alexander Graf |
Subject: |
[PATCH 0/8] hvf: Implement Apple Silicon Support |
Date: |
Thu, 26 Nov 2020 22:50:09 +0100 |
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 +
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)
- [PATCH 0/8] hvf: Implement Apple Silicon Support,
Alexander Graf <=