[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v8 13/19] hvf: Add Apple Silicon support
From: |
Sergio Lopez |
Subject: |
Re: [PATCH v8 13/19] hvf: Add Apple Silicon support |
Date: |
Thu, 27 May 2021 12:55:17 +0200 |
On Wed, May 19, 2021 at 10:22:47PM +0200, Alexander Graf wrote:
> 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 acknowledgement is hacky
> - Should implement more sysregs and fault on invalid ones then
> - WFI handling is missing, need to marry it with vtimer
>
> Signed-off-by: Alexander Graf <agraf@csgraf.de>
> Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com>
>
> ---
>
> v1 -> v2:
>
> - Merge vcpu kick function patch
> - Implement WFI handling (allows vCPUs to sleep)
> - Synchronize system registers (fixes OVMF crashes and reboot)
> - Don't always call cpu_synchronize_state()
> - Use more fine grained iothread locking
> - Populate aa64mmfr0 from hardware
>
> v2 -> v3:
>
> - Advance PC on SMC
> - Use cp list interface for sysreg syncs
> - Do not set current_cpu
> - Fix sysreg isread mask
> - Move sysreg handling to functions
> - Remove WFI logic again
> - Revert to global iothread locking
> - Use Hypervisor.h on arm, hv.h does not contain aarch64 definitions
>
> v3 -> v4:
>
> - No longer include Hypervisor.h
>
> v5 -> v6:
>
> - Swap sysreg definition order. This way we're in line with asm outputs.
>
> v6 -> v7:
>
> - Remove osdep.h include from hvf_int.h
> - Synchronize SIMD registers as well
> - Prepend 0x for hex values
> - Convert DPRINTF to trace points
> - Use main event loop (fixes gdbstub issues)
> - Remove PSCI support, inject UDEF on HVC/SMC
> - Change vtimer logic to look at ctl.istatus for vtimer mask sync
> - Add kick callback again (fixes remote CPU notification)
>
> v7 -> v8:
>
> - Fix checkpatch errors
> ---
> MAINTAINERS | 5 +
> accel/hvf/hvf-accel-ops.c | 14 +
> include/sysemu/hvf_int.h | 9 +-
> meson.build | 1 +
> target/arm/hvf/hvf.c | 703 ++++++++++++++++++++++++++++++++++++
> target/arm/hvf/trace-events | 10 +
> 6 files changed, 741 insertions(+), 1 deletion(-)
> create mode 100644 target/arm/hvf/hvf.c
> create mode 100644 target/arm/hvf/trace-events
Reviewed-by: Sergio Lopez <slp@redhat.com>
Tested-by: Sergio Lopez <slp@redhat.com>
signature.asc
Description: PGP signature
- Re: [PATCH v8 08/19] hvf: Use cpu_synchronize_state(), (continued)
- [PATCH v8 06/19] hvf: Remove use of hv_uvaddr_t and hv_gpaddr_t, Alexander Graf, 2021/05/19
- [PATCH v8 05/19] hvf: Make hvf_set_phys_mem() static, Alexander Graf, 2021/05/19
- [PATCH v8 14/19] arm/hvf: Add a WFI handler, Alexander Graf, 2021/05/19
- [PATCH v8 11/19] hvf: Introduce hvf vcpu struct, Alexander Graf, 2021/05/19
- [PATCH v8 13/19] hvf: Add Apple Silicon support, Alexander Graf, 2021/05/19
- Re: [PATCH v8 13/19] hvf: Add Apple Silicon support,
Sergio Lopez <=
- [PATCH v8 15/19] hvf: arm: Implement -cpu host, Alexander Graf, 2021/05/19
- [PATCH v8 16/19] hvf: arm: Implement PSCI handling, Alexander Graf, 2021/05/19
- [PATCH v8 18/19] arm: Enable Windows 10 trusted SMCCC boot call, Alexander Graf, 2021/05/19
- [PATCH v8 19/19] hvf: arm: Handle Windows 10 SMC call, Alexander Graf, 2021/05/19
- [PATCH v8 17/19] arm: Add Hypervisor.framework build target, Alexander Graf, 2021/05/19