Hi Peter,
On 13/10/26 10:38, Peter Maydell wrote:
This patchset adds virtualization support to our GICv5 model, and lets
the "virt" board use -machine gic-version=x-5,virtualization=on.
Virtualization in the GICv5 is more complicated than it is in GICv3.
This is because in GICv3 virtualization is mostly delegated to software,
and only the CPU interface has hardware virtualization support. In
GICv5 the hardware does a lot more of the work, so virtualization
support is needed in both the CPU interface and the IRS.
I've structured this patchset as:
* initial preparatory and bug-fixing patches
* add virt support to the cpu interface
* add virt support to the IRS
* remove the check in virt that stops the user enabling virt
The first 11 patches have been on this list already; I've copied
across Reviewed-by tags for those patches which got them.
The current spec for the GICv5 is at
https://support.arm.com/documentation/aes0070/00eac0/
Now A.a: https://support.arm.com/documentation/111701/latest
The kernel support for using GICv5 virtualization is not yet in
mainline, but it has landed in the kvmarm/next tree:
https://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git next
Similarly kvmtool support to run the inner guest is still work
in progress, but the tree at
https://gitlab.arm.com/linux-arm/kvmtool-sb.git gicv5_wip
will work with the kvmarm/next tree.
This series can pass the kernel's vgic_v5 selftest, and boot an
inner guest to userspace with kvmtool.
Could we have a functional test similar to
tests/functional/aarch64/test_kvm.py?