KVM: arm64: Delegate support for SDEI to userspace
The Software Delegated Exception Interface allows firmware to notify
the OS of system events by returning into registered handlers, even
if the OS has interrupts masked.
While we could support this in KVM, we would need to expose an API for
the user space hypervisor to inject events, (and decide what to do it
the event isn't registered or all the CPUs have SDE events masked). We
already have an API for guest 'hypercalls', so use this to push the
problem onto userspace.
Advertise a new capability 'KVM_CAP_ARM_SDEI_1_0' and when any SDEI
call comes in, exit to userspace with exit_reason = KVM_EXIT_HYPERCALL.
N.B. There is no enable/feature bit for SDEI exits as telling the guest
the interface exists via DT/ACPI should be sufficient.
Signed-off-by:
James Morse <james.morse@arm.com>
==
While I'm in here, why does KVM_CAP_ARM_SET_DEVICE_ADDR have a separate
entry for r=1;break?
Loading
Please register or sign in to comment