Dongxu Sun (1):
KVM: arm64: update arm64 openeuler_defconfig for CONFIG_VIRT_PLAT_DEV
Haibin Wang (2):
KVM: arm64: arch_timer: Probe vtimer irqbypass capability
KVM: arm64: arch_timer: Rework vcpu init/reset logic
Kunkun Jiang (6):
mbigen: vtimer mbigen driver support
irqchip/gic-v4.1: Detect ITS vtimer interrupt bypass capability
irqchip/gic-v4.1: Extend VSGI command to support the new vPPI
mbigen: vtimer: add support for MBIX1_CPPI_NEGEDGE_CLR_EN_SETR(CLRR)
KVM: arm64: vgic-v3: Clearing pending status of vtimer on guest reset
mbigen: Sets the regs related to vtimer irqbypass
Zenghui Yu (4):
KVM: arm64: GICv4.1: Add direct injection capability to PPI registers
KVM: arm64: GICv4.1: Allow non-trapping WFI when using direct vtimer
interrupt
KVM: arm64: vtimer: Expose HW-based vtimer interrupt in debugfs
KVM: arm64: arch_timer: Make vtimer_irqbypass a Distributor attr
wanghaibin (14):
irqchip/gic-v4.1: Rework get/set_irqchip_state callbacks of
GICv4.1-sgi chip
irqchip/gic-v4.1: Rework its_alloc_vcpu_sgis() to support vPPI
allocation
irqchip/gic-v4.1: Probe vtimer irqbypass capability at RD level
KVM: arm64: GICv4.1: Inform the HiSilicon vtimer irqbypass capability
KVM: arm64: vgic: Add helper for vtimer vppi info register
KVM: arm64: GICv4.1: Enable vtimer vPPI irqbypass config
KVM: arm64: GICv4.1: Add support for MBIGEN save/restore
irqchip/gic-v3-its: Introduce the reserved device ID pools
irqchip/gic-v3-its: Alloc/Free device id from pools for virtual
devices
irqchip/gic-v3-its: Add virt platform devices MSI support
virt_plat_dev: Register the virt platform device driver
KVM: arm64: Introduce shadow device
KVM: arm64: kire: irq routing entry cached the relevant cache data
KVM: arm64: sdev: Support virq bypass by INT/VSYNC command
arch/arm64/configs/openeuler_defconfig | 1 +
arch/arm64/include/asm/kvm_emulate.h | 1 +
arch/arm64/kvm/Makefile | 2 +-
arch/arm64/kvm/arch_timer.c | 218 +++++++-
arch/arm64/kvm/arm.c | 42 ++
arch/arm64/kvm/vgic/shadow_dev.c | 327 ++++++++++++
arch/arm64/kvm/vgic/vgic-debug.c | 2 +-
arch/arm64/kvm/vgic/vgic-init.c | 6 +
arch/arm64/kvm/vgic/vgic-irqfd.c | 39 ++
arch/arm64/kvm/vgic/vgic-mmio-v3.c | 15 +-
arch/arm64/kvm/vgic/vgic-mmio.c | 24 +-
arch/arm64/kvm/vgic/vgic-v3.c | 8 +
arch/arm64/kvm/vgic/vgic-v4.c | 57 +++
arch/arm64/kvm/vgic/vgic.c | 24 +
arch/arm64/kvm/vgic/vgic.h | 11 +
drivers/irqchip/irq-gic-phytium-2500-its.c | 2 +-
drivers/irqchip/irq-gic-v3-its-platform-msi.c | 39 +-
drivers/irqchip/irq-gic-v3-its.c | 277 +++++++++-
drivers/irqchip/irq-gic-v3.c | 37 +-
drivers/irqchip/irq-gic-v4.c | 23 +-
drivers/irqchip/irq-mbigen.c | 472 ++++++++++++++++++
drivers/misc/Kconfig | 9 +
drivers/misc/Makefile | 1 +
drivers/misc/virt_plat_dev.c | 119 +++++
include/clocksource/arm_arch_timer.h | 15 +
include/kvm/arm_arch_timer.h | 13 +
include/kvm/arm_vgic.h | 62 +++
include/linux/irqchip/arm-gic-common.h | 3 +
include/linux/irqchip/arm-gic-v3.h | 49 +-
include/linux/irqchip/arm-gic-v4.h | 6 +-
include/linux/kvm_host.h | 9 +
include/linux/msi.h | 2 +
include/uapi/linux/kvm.h | 9 +
virt/kvm/eventfd.c | 8 +
34 files changed, 1869 insertions(+), 63 deletions(-)
create mode 100644 arch/arm64/kvm/vgic/shadow_dev.c
create mode 100644 drivers/misc/virt_plat_dev.c
--
2.33.0