diff options
Diffstat (limited to 'arch/loongarch/kvm/main.c')
-rw-r--r-- | arch/loongarch/kvm/main.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/loongarch/kvm/main.c b/arch/loongarch/kvm/main.c index 7e8f5d6829ef..34fad2c29ee6 100644 --- a/arch/loongarch/kvm/main.c +++ b/arch/loongarch/kvm/main.c @@ -297,6 +297,13 @@ int kvm_arch_enable_virtualization_cpu(void) kvm_debug("GCFG:%lx GSTAT:%lx GINTC:%lx GTLBC:%lx", read_csr_gcfg(), read_csr_gstat(), read_csr_gintc(), read_csr_gtlbc()); + /* + * HW Guest CSR registers are lost after CPU suspend and resume. + * Clear last_vcpu so that Guest CSR registers forced to reload + * from vCPU SW state. + */ + this_cpu_ptr(vmcs)->last_vcpu = NULL; + return 0; } |