GICv3: add 32bit compatibility
Get series with b4
b4 am [email protected]Versions newest first
- v2 Latest1 of 5 patches 0 repliesNew
1 of 5 patches is in this archive. The cover letter announces 5.
Patches in v2 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 4/5 | ARM: add 32bit support to GICv3 | +0 | 1 reply |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.
Cover letter [PATCH v2 0/5] GICv3: add 32bit compatibility
Quoted 7 lines · Jean-Philippe Brucker
This series adds 32bit compatibility to Marc's GICv3 driver. Only SGIs, PPIs and SPIs support is present, no ITS.
It is now based on Linux 4.0-rc1, which contains Andre's GICv3 emulation series for KVM [1]. With this support along with the kvmtool patches mentioned in [1], it is possible to run ARM guests that use GICv3.
Quoted 8 lines
Changes since v1 [2]:
* rebased on 4.0-rc1
* fix the mistakes pointed out by Russell and Vladimir
* add a patch to selectARM_GIC_V3underARCH_VIRT, as suggested by Marc[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2015-January/316230.html
[2] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-December/310124.htm
Hi Jean,
In case CONFIG_KVM_ARM_VGIC=y there is build error:
CC arch/arm/kvm/../../../virt/kvm/arm/vgic.o
arch/arm/kvm/../../../virt/kvm/arm/vgic.c: In function 'kvm_vgic_addr':
arch/arm/kvm/../../../virt/kvm/arm/vgic.c:1703:7: error:
'KVM_VGIC_V3_ADDR_TYPE_DIST' undeclared (first use in this function)
case KVM_VGIC_V3_ADDR_TYPE_DIST:
^
arch/arm/kvm/../../../virt/kvm/arm/vgic.c:1703:7: note: each undeclared
identifier is reported only once for each function it appears in
arch/arm/kvm/../../../virt/kvm/arm/vgic.c:1706:16: error:
'KVM_VGIC_V3_DIST_SIZE' undeclared (first use in this function)
block_size = KVM_VGIC_V3_DIST_SIZE;
^
arch/arm/kvm/../../../virt/kvm/arm/vgic.c:1709:7: error:
'KVM_VGIC_V3_ADDR_TYPE_REDIST' undeclared (first use in this function)
case KVM_VGIC_V3_ADDR_TYPE_REDIST:
^
arch/arm/kvm/../../../virt/kvm/arm/vgic.c:1712:16: error:
'KVM_VGIC_V3_REDIST_SIZE' undeclared (first use in this function)
block_size = KVM_VGIC_V3_REDIST_SIZE;
^ make[1]: *** [arch/arm/kvm/../../../virt/kvm/arm/vgic.o] Error 1
make: *** [arch/arm/kvm] Error 2
Thanks
Vladimir
Quoted 20 lines
Cheers,
JeanJean-Philippe Brucker (5):
arm64: GICv3: refactor the AArch64 specific parts
arm64: GICv3: change unsigned types for AArch32 compatibility
arm64: GICv3: Specialize readq and writeq accesses
ARM: add 32bit support to GICv3
ARM: virt: selectARM_GIC_V3arch/arm/Kconfig | 1 + arch/arm/include/asm/arch_gicv3.h | 182 ++++++++++++++++++++++++++++++++++++ arch/arm64/include/asm/arch_gicv3.h | 141 ++++++++++++++++++++++++++++ drivers/irqchip/irq-gic-v3.c | 69 ++++---------- include/linux/irqchip/arm-gic-v3.h | 115 ++++++----------------- 5 files changed, 369 insertions(+), 139 deletions(-) create mode 100644 arch/arm/include/asm/arch_gicv3.h create mode 100644 arch/arm64/include/asm/arch_gicv3.h