This patch set brings back functionality which was broken in v4.1. The
overall goal is to eventually enable using virtual timer too, but for now
changes affect only a possibility to run KVM itself. The guest currently
has to use another timer because there's no API to propagate interrupts
from in-kernel virtual timer to the interrupt controller emulated in
userspace.
v1=>v2:
- Do not use defensive approach in patch 0001. Use correct conditions in
callers instead
- Added ARM64-specific code, without which attempt to run a VM ends in a
HYP crash because of unset vGIC save/restore function pointers
Christoffer Dall: I decided to leave original approach of 0002 as it is,
because:
- It is much simpler to implement than doing changes inside both probe
functions.
- These are all use cases for vgic_present flag. Nothing else is going to
rely on it. IMHO this switch is very short and stylish :) If you don't
like two error codes, we could change -ENXIO to -ENODEV where appropriate,
this change would be small enough.
Actually i tried to discuss some things with you, but you stopped replying,
therefore i respin in order to revive the thing. On top of this i have
complete implementation of API which allows to emulate GIC in userspace by
qemu, and now i can run any virtual machine, including generic timer, on
vGIC-less machine. RasPI-2 is expected to benefit too.
Pavel Fedin (3):
KVM: arm: Fix NULL pointer dereference if KVM is used without
in-kernel irqchip
KVM: arm: Detect vGIC presence at runtime
KVM: arm64: Introduce default dummy save/restore functions
arch/arm/include/asm/kvm_host.h | 5 +++++
arch/arm/kvm/arm.c | 24 +++++++++++++++++++++---
arch/arm64/include/asm/kvm_asm.h | 1 +
arch/arm64/include/asm/kvm_host.h | 8 ++++++++
arch/arm64/kvm/vgic-v2-switch.S | 5 +++++
virt/kvm/arm/vgic.c | 2 ++
6 files changed, 42 insertions(+), 3 deletions(-)
--
2.4.4
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html