Para-virt feature steal time is added in both kvm and guest kernel side. It is silimar with other architectures, steal time structure comes from guest memory, also pseduo register is used to save/restore base address of steal time structure, so that vm migration is supported also. --- v2 ... v3: 1. Solve code confliction based on the kernel 6.9.0 2. Add kernel parameter no-steal-acc support on LoongArch with file Documentation/admin-guide/kernel-parameters.txt 3. Add strict checking with pv stealtimer gpa address in function kvm_save_notify() and kvm_loongarch_pvtime_set_attr() v1 ... v2: 1. Add PARAVIRT_TIME_ACCOUNTING kconfig option in file arch/loongarch/Kconfig 2. Function name change such as replace pv_register_steal_time with pv_enable_steal_time etc --- Bibo Mao (2): LoongArch: KVM: Add steal time support in kvm side LoongArch: Add steal time support in guest side .../admin-guide/kernel-parameters.txt | 2 +- arch/loongarch/Kconfig | 11 ++ arch/loongarch/include/asm/kvm_host.h | 7 + arch/loongarch/include/asm/kvm_para.h | 10 ++ arch/loongarch/include/asm/kvm_vcpu.h | 4 + arch/loongarch/include/asm/loongarch.h | 1 + arch/loongarch/include/asm/paravirt.h | 5 + arch/loongarch/include/uapi/asm/kvm.h | 4 + arch/loongarch/kernel/paravirt.c | 131 ++++++++++++++++++ arch/loongarch/kernel/time.c | 2 + arch/loongarch/kvm/exit.c | 38 ++++- arch/loongarch/kvm/vcpu.c | 124 +++++++++++++++++ 12 files changed, 336 insertions(+), 3 deletions(-) base-commit: 3c999d1ae3c75991902a1a7dad0cb62c2a3008b4 -- 2.39.3