Re: [PATCH v3 0/9] KVM: arm64: Initial host support for the Apple M1
From: Alexandru Elisei <hidden>
Date: 2021-05-12 16:23:41
Also in:
kvm, kvmarm
Hi Marc, On 5/10/21 2:48 PM, Marc Zyngier wrote:
This is a new version of the series previously posted at [2], reworking the vGIC and timer code to cope with the M1 braindead^Wamusing nature. Hardly any change this time around, mostly rebased on top of upstream now that the dependencies have made it in. Tested with multiple concurrent VMs running from an initramfs. * From v2: - Rebased on 5.13-rc1 - Fixed a couple of nits in the GIC registration code * From v1 [1]: - Rebased on Hector's v4 posting[0] - Dropped a couple of patches that have been merged in the above series - Fixed irq_ack callback on the timer path [0] https://lore.kernel.org/r/20210402090542.131194-1-marcan@marcan.st (local) [1] https://lore.kernel.org/r/20210316174617.173033-1-maz@kernel.org (local) [2] https://lore.kernel.org/r/20210403112931.1043452-1-maz@kernel.org (local)
This looks interesting and I want to take a look. For now, I can only review the series, but maybe at some point I'll take the leap and try to run Linux on my Macbook Air. Can I find something resembling a specification for the Apple interrupt controller, or the only available documentation is in the Linux driver and patches on the mailing list? Thanks, Alex
Marc Zyngier (9):
irqchip/gic: Split vGIC probing information from the GIC code
KVM: arm64: Handle physical FIQ as an IRQ while running a guest
KVM: arm64: vgic: Be tolerant to the lack of maintenance interrupt
KVM: arm64: vgic: Let an interrupt controller advertise lack of HW
deactivation
KVM: arm64: vgic: move irq->get_input_level into an ops structure
KVM: arm64: vgic: Implement SW-driven deactivation
KVM: arm64: timer: Refactor IRQ configuration
KVM: arm64: timer: Add support for SW-based deactivation
irqchip/apple-aic: Advertise some level of vGICv3 compatibility
arch/arm64/kvm/arch_timer.c | 161 +++++++++++++++++++++----
arch/arm64/kvm/hyp/hyp-entry.S | 6 +-
arch/arm64/kvm/vgic/vgic-init.c | 34 +++++-
arch/arm64/kvm/vgic/vgic-v2.c | 19 ++-
arch/arm64/kvm/vgic/vgic-v3.c | 19 ++-
arch/arm64/kvm/vgic/vgic.c | 14 +--
drivers/irqchip/irq-apple-aic.c | 8 ++
drivers/irqchip/irq-gic-common.c | 13 --
drivers/irqchip/irq-gic-common.h | 2 -
drivers/irqchip/irq-gic-v3.c | 6 +-
drivers/irqchip/irq-gic.c | 6 +-
include/kvm/arm_vgic.h | 41 +++++--
include/linux/irqchip/arm-gic-common.h | 25 +---
include/linux/irqchip/arm-vgic-info.h | 43 +++++++
14 files changed, 291 insertions(+), 106 deletions(-)
create mode 100644 include/linux/irqchip/arm-vgic-info.h_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel