KVM/ARM vGIC support
Get series with b4
b4 am 20130116180013.29393.49165.stgit@ubuntuVersions newest first · linked by author and title
- v6 Latest13 patches 3 repliesIn review
- v5 posting 2/212 patches 34 repliesSuperseded
- v5 posting 1/214 patches 65 repliesSuperseded
Earlier versions · 8
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v4 posting 2/2 | 13 patches | 44 replies | Superseded | |
| v4 posting 1/2 | 14 patches | 50 replies | Superseded | |
| v3 posting 2/2 | 13 patches | 3 replies | Superseded | |
| v3 posting 1/2 | 14 patches | 2 replies | Superseded | |
| v2 posting 3/3 | 10 patches | 8 replies | Superseded | |
| v2 posting 2/3 | 14 patches | 8 replies | Superseded | |
| v2 posting 1/3 | 5 of 10 patches | 1 reply | Superseded | |
| v1 | 10 patches | 2 replies | Superseded |
Changes in v6 from the cover letter
- Renamed sync_{to,from} to {flush,sync}_hwstate
- Fix read/write length for acceses shorter than words
- Cosmetic fixes
Patches in v6 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/13 | ARM: gic: add missing distributor defintionsarch/ | +3 | 0 replies | |
| 2/13 | KVM: ARM: Introduce KVM_SET_DEVICE_ADDRESS ioctlDocumentation/ arch/ arch/ +1 more | +80 | 3 replies | |
| 3/13 | ARM: KVM: Keep track of currently running vcpusarch/ arch/ | +40 | 0 replies | |
| 4/13 | ARM: gic: define GICH offsets for VGIC supportarch/ | +25 | 0 replies | |
| 5/13 | ARM: KVM: Initial VGIC infrastructure codearch/ arch/ arch/ +4 more | +275 | 0 replies | |
| 6/13 | ARM: KVM: VGIC accept vcpu and dist base addresses from user spaceDocumentation/ arch/ arch/ +2 more | +88 | 0 replies | |
| 7/13 | ARM: KVM: VGIC distributor handlingarch/ arch/ | +677 | 0 replies | |
| 8/13 | ARM: KVM: VGIC virtual CPU interface managementarch/ arch/ | +357 | 0 replies | |
| 9/13 | ARM: KVM: vgic: retire queued, disabled interruptsarch/ | +30 | 0 replies | |
| 10/13 | ARM: KVM: VGIC interrupt injectionarch/ arch/ arch/ | +170 | 0 replies | |
| 11/13 | ARM: KVM: VGIC control interface world switcharch/ arch/ | +86 | 0 replies | |
| 12/13 | ARM: KVM: VGIC initialisation codearch/ arch/ arch/ | +249 | 0 replies | |
| 13/13 | ARM: KVM: Add VGIC configuration optionarch/ | +8 | 0 replies |
Reviews trailers per patch
All 13 patches have a Reviewed-by or Acked-by.
| Patch | Will Deacon |
|---|---|
| 1/13 | R-b |
| 2/13 | R-b |
| 3/13 | R-b |
| 4/13 | R-b |
| 5/13 | R-b |
| 6/13 | R-b |
| 7/13 | R-b |
| 8/13 | R-b |
| 9/13 | R-b |
| 10/13 | R-b |
| 11/13 | R-b |
| 12/13 | R-b |
| 13/13 | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v6 00/13] KVM/ARM vGIC support
The following series implements support for the virtual generic interrupt controller architecture for KVM/ARM.
This patch series can also be pulled from:
git://github.com/virtualopensystems/linux-kvm-arm.git
branch: kvm-arm-v16-vgic
Changes since v5:
- Renamed sync_{to,from} to {flush,sync}_hwstate
- Fix read/write length for acceses shorter than words
- Cosmetic fixes
Changes since v4:
- Large number of commenting and formatting changes
- Don't rely on the vgic_hcr default value
- Fix bug in irq_fgx expand/collapse functions
- Sanitize use of bitmaps
- Do not use elrsr when queueing an interrupt
- Deassert SGIs and SPIs that have already been queued
- Set VMCR to 0 on vcpu init
- Compute number of list registers once at init time
- Restructure bytemap/bitmap accessor functions
- Improve readability by adding accessor functions
- Define GICH_ constants in gic.h and use these in the vgic code
- Explain SGI handling in comment
- Error patch and return value fixes and cleanups
- Use defines instead of all hardcoded IRQ numbers
- Refactor level interrupt handling
- Fix several maintenace-interrupt related bugs
- Add CPU hotplug notifier
Changes since v3:
- Change struct kvm_device_addr to use 64 bits for ID field
Changes since v2:
- Get rid of hardcoded guest cpu and distributor physical addresses and instead provide the address through the KVM_SET_DEVICE_ADDRESS ioctl.
- Fix level/edge bugs
- Fix reboot bug: retire queued, disabled interrupts
---
Christoffer Dall (3):
ARM: gic: add missing distributor defintions
KVM: ARM: Introduce KVM_SET_DEVICE_ADDRESS ioctl
ARM: KVM: VGIC accept vcpu and dist base addresses from user space
Marc Zyngier (10):
ARM: KVM: Keep track of currently running vcpus
ARM: gic: define GICH offsets for VGIC support
ARM: KVM: Initial VGIC infrastructure code
ARM: KVM: VGIC distributor handling
ARM: KVM: VGIC virtual CPU interface management
ARM: KVM: vgic: retire queued, disabled interrupts
ARM: KVM: VGIC interrupt injection
ARM: KVM: VGIC control interface world switch
ARM: KVM: VGIC initialisation code
ARM: KVM: Add VGIC configuration option
Documentation/virtual/kvm/api.txt | 38 + arch/arm/include/asm/hardware/gic.h | 29 + arch/arm/include/asm/kvm_host.h | 18 arch/arm/include/asm/kvm_vgic.h | 221 +++++ arch/arm/include/uapi/asm/kvm.h | 16 arch/arm/kernel/asm-offsets.c | 12 arch/arm/kvm/Kconfig | 8 arch/arm/kvm/Makefile | 1 arch/arm/kvm/arm.c | 162 +++- arch/arm/kvm/interrupts.S | 4 arch/arm/kvm/interrupts_head.S | 74 ++ arch/arm/kvm/mmio.c | 3 arch/arm/kvm/vgic.c | 1504 +++++++++++++++++++++++++++++++++++ include/uapi/linux/kvm.h | 8 14 files changed, 2085 insertions(+), 13 deletions(-) create mode 100644 arch/arm/include/asm/kvm_vgic.h create mode 100644 arch/arm/kvm/vgic.c