Skip to content

KVM GICv3 emulation

Christoffer Dall linux-arm-kernel 7 versions – New

Get series with b4
b4 am 20150119130752.GA3766@cbox

Versions newest first · linked by author and title

  1. v7 Latest6 of 20 patches 0 repliesNew
  2. v69 of 20 patches 0 repliesSuperseded
  3. v57 of 19 patches 0 repliesSuperseded
Earlier versions · 4
VersionPostedPatchesRepliesStatus
v419 patches0 repliesSuperseded
v3 posting 3/311 of 19 patches0 repliesSuperseded
v3 posting 2/30 of 19 patches0 repliesSuperseded
v3 posting 1/319 patches0 repliesSuperseded

6 of 20 patches are in this archive. The cover letter announces 20.

Patches in v7 No applies recorded yet

#Subject and filesSizeRepliesApplied
8/20arm/arm64: KVM: make the maximum number of vCPUs a per-VM value+0 -00 replies
15/20arm/arm64: KVM: add virtual GICv3 distributor emulation+0 -01 reply
15/20arm/arm64: KVM: add virtual GICv3 distributor emulation+0 -00 replies
18/20arm/arm64: KVM: enable kernel side of GICv3 emulation+0 -00 replies
19/20arm/arm64: KVM: allow userland to request a virtual GICv3+0 -00 replies
20/20arm/arm64: KVM: force alignment of VGIC dist/CPU/redist addresses+0 -00 replies

Reviews trailers per patch

All 6 patches have a Reviewed-by or Acked-by.

PatchChristoffer Dall
8/20R-b
15/20R-b
15/20R-b
18/20R-b
19/20R-b
20/20R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v7 thread

Cover letter [PATCH v7 00/20] KVM GICv3 emulation

Hi Andre,

Quoted 14 lines · Andre Przywara

Hi,

Quoted 3 lines · Andre Przywara

This is version 7 of the GICv3 guest emulation series. As v6 this series is based on v3.19-rc3 plus Eric's explicit VGIC_CTRL_INIT patches.

I've been told that there is some confusion about the above feature with vGICv3 and I just saw that I didn't mention it in the cover letter:

The GICv3 emulation does not support automatic init as the vGICv2 does. One needs to explicitly use the brand new VGIC_CTRL_INIT KVM device ioctl to finalise the GICv3 initialisation.

Quoted 10 lines

Among the three places the automatic VGIC init was done before now two are in vgic-v2-emul.c and don't apply to a virtual GICv3. The remaining place is in kvm_vgic_inject_irq() in vgic.c, where I explicitly added a check to only work with a virtual GICv2.
Removing the explicit VGIC_CTRL_INIT from kvmtool resulted in the desired effect: the VGICv3 didn't initialise and kvmtool returned with an error.
If there should be a codepath left which allows auto-init of a virtual GICv3, this is a bug and I'd be grateful for a report.

No, I didn't realize when reading the patch for this specific issue that the set_attr code path was moved to the gicv2 specific files.

I think you nailed it, so we should be all good.

Will queue this once I get a chance to do a shallow test for regressions.

Thanks,
-Christoffer