Support features: pv-qspinlock pv-sched TWED ncsnp TLBI
Jingyi Wang (1):
KVM: arm64: Make use of TWED feature
Quan Zhou (5):
KVM: arm64: Support a new HiSi CPU type
KVM: arm64: Probe and configure DVMBM capability on HiSi CPUs
KVM: arm64: Add kvm_vcpu_arch::cpus_ptr and pre_cpus_ptr
KVM: arm64: Add kvm_arch::dvm_cpumask and dvm_lock
KVM: arm64: Implement the capability of DVMBM
Yanan Wang (1):
KVM: arm64: Only probe Hisi ncsnp feature on Hisi CPUs
Zenghui Yu (3):
KVM: arm64: Probe Hisi CPU TYPE from ACPI/DTB
KVM: arm64: Add support for probing Hisi ncsnp capability
KVM: arm64: Fix {fp_asimd,sve}_exit_stat manipulation
Zengruan Ye (11):
arm64: cpufeature: TWED support detection
KVM: arm64: Document PV-sched interface
KVM: arm64: Implement PV_SCHED_FEATURES call
KVM: arm64: Support pvsched preempted via shared structure
KVM: arm64: Add interface to support vCPU preempted check
KVM: arm64: Support the vCPU preemption check
KVM: arm64: Add SMCCC PV-sched to kick cpu
KVM: arm64: Implement PV_SCHED_KICK_CPU call
KVM: arm64: Add interface to support PV qspinlock
KVM: arm64: Enable PV qspinlock
KVM: arm64: Add tracepoints for PV qspinlock
chenjiajun (1):
kvm: debugfs: export remaining aarch64 kvm exit reasons to debugfs
lishusen (2):
KVM: arm64: Replace pv.ops by static_call for PV qspinlock feature
KVM: arm64: Add configuration for feature pv-sched
yezengruan (1):
kvm: arm64: fix some pvsched bugs
C | 0
.../admin-guide/kernel-parameters.txt | 3 +
Documentation/virt/kvm/arm/pvsched.rst | 74 ++++
arch/arm64/Kconfig | 30 ++
arch/arm64/configs/openeuler_defconfig | 1 +
arch/arm64/include/asm/Kbuild | 1 -
arch/arm64/include/asm/kvm_arm.h | 8 +
arch/arm64/include/asm/kvm_emulate.h | 27 ++
arch/arm64/include/asm/kvm_host.h | 63 +++
arch/arm64/include/asm/paravirt.h | 51 +++
arch/arm64/include/asm/pvsched-abi.h | 16 +
arch/arm64/include/asm/qspinlock.h | 48 +++
arch/arm64/include/asm/qspinlock_paravirt.h | 12 +
arch/arm64/include/asm/spinlock.h | 13 +
arch/arm64/include/asm/virt.h | 5 +
arch/arm64/kernel/Makefile | 3 +-
arch/arm64/kernel/cpufeature.c | 12 +
arch/arm64/kernel/image-vars.h | 5 +
arch/arm64/kernel/paravirt-spinlocks.c | 21 +
arch/arm64/kernel/paravirt.c | 189 +++++++++
arch/arm64/kernel/trace-paravirt.h | 66 +++
arch/arm64/kvm/Kconfig | 1 +
arch/arm64/kvm/Makefile | 3 +-
arch/arm64/kvm/arm.c | 93 +++++
arch/arm64/kvm/handle_exit.c | 12 +
arch/arm64/kvm/hisilicon/Kconfig | 7 +
arch/arm64/kvm/hisilicon/Makefile | 2 +
arch/arm64/kvm/hisilicon/hisi_virt.c | 389 ++++++++++++++++++
arch/arm64/kvm/hisilicon/hisi_virt.h | 61 +++
arch/arm64/kvm/hyp/include/hyp/switch.h | 2 +
arch/arm64/kvm/hyp/pgtable.c | 2 +-
arch/arm64/kvm/hypercalls.c | 24 ++
arch/arm64/kvm/mmu.c | 1 +
arch/arm64/kvm/pvsched.c | 81 ++++
arch/arm64/kvm/sys_regs.c | 11 +
arch/arm64/kvm/trace_arm.h | 18 +
arch/arm64/tools/cpucaps | 1 +
include/linux/arm-smccc.h | 25 ++
include/linux/cpuhotplug.h | 1 +
39 files changed, 1378 insertions(+), 4 deletions(-)
create mode 100644 C
create mode 100644 Documentation/virt/kvm/arm/pvsched.rst
create mode 100644 arch/arm64/include/asm/pvsched-abi.h
create mode 100644 arch/arm64/include/asm/qspinlock.h
create mode 100644 arch/arm64/include/asm/qspinlock_paravirt.h
create mode 100644 arch/arm64/kernel/paravirt-spinlocks.c
create mode 100644 arch/arm64/kernel/trace-paravirt.h
create mode 100644 arch/arm64/kvm/hisilicon/Kconfig
create mode 100644 arch/arm64/kvm/hisilicon/Makefile
create mode 100644 arch/arm64/kvm/hisilicon/hisi_virt.c
create mode 100644 arch/arm64/kvm/hisilicon/hisi_virt.h
create mode 100644 arch/arm64/kvm/pvsched.c
--
2.33.0