KVM: arm64: Implement API for vGICv3 live migration
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v7 Latest6 patches 10 repliesIn review
- v67 patches 0 repliesSuperseded
- v57 patches 2 repliesSuperseded
Earlier versions · 4
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v4 | 7 patches | 6 replies | Superseded | |
| v3 | 5 patches | 15 replies | Superseded | |
| v2 | 5 patches | 5 replies | Superseded | |
| v1 | 3 patches | 15 replies | Superseded |
Changes in v7 from the cover letter
- Rebased on top of linux-next of 07.12.2015, thrown away unnecessary part
Patches in v7 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/6 | KVM: arm/arm64: Add VGICv3 save/restore API documentationDocumentation/ Documentation/ | +120 | 10 replies | |
| 2/6 | KVM: arm/arm64: Move endianness conversion out of vgic_attr_regs_access()virt/ | +8 | 0 replies | |
| 3/6 | KVM: arm/arm64: Refactor vGIC attributes handling codevirt/ virt/ virt/ | +88 | 0 replies | |
| 4/6 | KVM: arm64: Implement vGICv3 distributor and redistributor access from userspacearch/ include/ virt/ +1 more | +102 | 0 replies | |
| 5/6 | KVM: arm64: Introduce find_reg_by_id()arch/ arch/ | +19 | 0 replies | |
| 6/6 | KVM: arm64: Implement vGICv3 CPU interface accessarch/ arch/ include/ +1 more | +251 | 0 replies |
Reviews trailers per patch
2 of 6 patches have a Reviewed-by or Acked-by.
| Patch | Peter Maydell | Marc Zyngier | Andre Przywara |
|---|---|---|---|
| 1/6 | A-b | A-b | |
| 2/6 | |||
| 3/6 | |||
| 4/6 | |||
| 5/6 | R-b | ||
| 6/6 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.
Cover letter [PATCH v7 0/6] KVM: arm64: Implement API for vGICv3 live migration
This patchset adds necessary userspace API in order to support vGICv3 live migration. GICv3 registers are accessed using device attribute ioctls, similar to GICv2.
v6 => v7:
- Rebased on top of linux-next of 07.12.2015, thrown away unnecessary part
v5 => v6:
- Rebased on top of linux-next of 23.11.2015
- Use original API documentation patch, with minor changes only.
- Quit reusing KVM_DEV_ARM_VGIC_CPUID_MASK, do not touch vGICv2 API at all.
- Fixed some issues reported by the new checkpatch
v4 => v5:
- Adapted to new API by Peter Maydell, Marc Zyngier and Christoffer Dall. Acked-by's on the documentation were dropped, just in case, because i slightly adjusted it. Additionally, i merged all doc updates into one patch.
v3 => v4:
- Split pure refactoring from anything else
- Documentation brought up to date
- Cleaned up 'mmio' structure usage in vgic_attr_regs_access(), use call_range_handler() for 64-bit access handling
- Rebased on new linux-next
v2 => v3:
- KVM_DEV_ARM_VGIC_CPUID_MASK enlarged to 20 bits, allowing more than 256 CPUs.
- Bug fix: Correctly set mmio->private, necessary for redistributor access.
- Added accessors for ICC_AP0R and ICC_AP1R registers
- Rebased on new linux-next
v1 => v2:
- Do not use generic register get/set API for CPU interface, use only device attributes.
- Introduce size specifier for distributor and redistributor register accesses, do not assume size any more.
- Lots of refactor and reusable code extraction.
- Added forgotten documentation
Christoffer Dall (1):
KVM: arm/arm64: Add VGICv3 save/restore API documentation
Pavel Fedin (5):
KVM: arm/arm64: Move endianness conversion out of
vgic_attr_regs_access()
KVM: arm/arm64: Refactor vGIC attributes handling code
KVM: arm64: Implement vGICv3 distributor and redistributor access from
userspace
KVM: arm64: Introduce find_reg_by_id()
KVM: arm64: Implement vGICv3 CPU interface access
Documentation/virtual/kvm/devices/arm-vgic-v3.txt | 116 ++++++++ Documentation/virtual/kvm/devices/arm-vgic.txt | 21 +- arch/arm64/include/uapi/asm/kvm.h | 15 +- arch/arm64/kvm/sys_regs.c | 22 +- arch/arm64/kvm/sys_regs.h | 4 + arch/arm64/mm/mmap.c | 2 +- include/linux/irqchip/arm-gic-v3.h | 19 +- virt/kvm/arm/vgic-v2-emul.c | 124 ++------ virt/kvm/arm/vgic-v3-emul.c | 334 +++++++++++++++++++++- virt/kvm/arm/vgic.c | 57 ++++ virt/kvm/arm/vgic.h | 3 + 11 files changed, 577 insertions(+), 140 deletions(-) create mode 100644 Documentation/virtual/kvm/devices/arm-vgic-v3.txt
Signature · 1 line
2.4.4