From: Jingxian He <hejingxian(a)huawei.com>
Add cvm feature patches:
1. add cvm host feature
2. enable pmu phys irq inject for cvm
3. add bounce buffer feature for cvm guest
4. add lpi support for cvm guest
arch/arm64/configs/defconfig | 2 +
arch/arm64/configs/openeuler_defconfig | 2 +
arch/arm64/include/asm/cvm_guest.h | 21 +
arch/arm64/include/asm/kvm_emulate.h | 14 +
arch/arm64/include/asm/kvm_host.h | 12 +
arch/arm64/include/asm/kvm_tmi.h | 376 +++++++++++
arch/arm64/include/asm/kvm_tmm.h | 72 +++
arch/arm64/kvm/Kconfig | 16 +
arch/arm64/kvm/Makefile | 5 +
arch/arm64/kvm/arch_timer.c | 104 +++-
arch/arm64/kvm/arm.c | 155 ++++-
arch/arm64/kvm/cvm.c | 824 +++++++++++++++++++++++++
arch/arm64/kvm/cvm_exit.c | 229 +++++++
arch/arm64/kvm/cvm_guest.c | 90 +++
arch/arm64/kvm/guest.c | 8 +
arch/arm64/kvm/hyp/vgic-v3-sr.c | 19 +
arch/arm64/kvm/mmio.c | 17 +-
arch/arm64/kvm/mmu.c | 7 +
arch/arm64/kvm/pmu-emul.c | 9 +
arch/arm64/kvm/psci.c | 12 +-
arch/arm64/kvm/reset.c | 10 +
arch/arm64/kvm/tmi.c | 148 +++++
arch/arm64/kvm/vgic/vgic-v3.c | 16 +-
arch/arm64/kvm/vgic/vgic.c | 52 +-
arch/arm64/mm/mmu.c | 11 +
arch/arm64/mm/pageattr.c | 9 +-
drivers/irqchip/irq-gic-v3-its.c | 228 ++++++-
drivers/perf/arm_pmu.c | 17 +
include/kvm/arm_arch_timer.h | 4 +
include/linux/kvm_host.h | 21 +
include/linux/perf/arm_pmu.h | 3 +
include/linux/swiotlb.h | 13 +
include/uapi/linux/kvm.h | 29 +
kernel/dma/direct.c | 39 ++
kernel/dma/swiotlb.c | 86 ++-
virt/kvm/kvm_main.c | 7 +-
36 files changed, 2646 insertions(+), 41 deletions(-)
create mode 100644 arch/arm64/include/asm/cvm_guest.h
create mode 100644 arch/arm64/include/asm/kvm_tmi.h
create mode 100644 arch/arm64/include/asm/kvm_tmm.h
create mode 100644 arch/arm64/kvm/cvm.c
create mode 100644 arch/arm64/kvm/cvm_exit.c
create mode 100644 arch/arm64/kvm/cvm_guest.c
create mode 100644 arch/arm64/kvm/tmi.c
--
2.33.0