diff options
Diffstat (limited to 'arch/x86/kvm/x86.c')
| -rw-r--r-- | arch/x86/kvm/x86.c | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index ceb7c5e9cf9e..04b57a336b34 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -1446,7 +1446,7 @@ static const u32 msrs_to_save_base[] = {  #endif  	MSR_IA32_TSC, MSR_IA32_CR_PAT, MSR_VM_HSAVE_PA,  	MSR_IA32_FEAT_CTL, MSR_IA32_BNDCFGS, MSR_TSC_AUX, -	MSR_IA32_SPEC_CTRL, +	MSR_IA32_SPEC_CTRL, MSR_IA32_TSX_CTRL,  	MSR_IA32_RTIT_CTL, MSR_IA32_RTIT_STATUS, MSR_IA32_RTIT_CR3_MATCH,  	MSR_IA32_RTIT_OUTPUT_BASE, MSR_IA32_RTIT_OUTPUT_MASK,  	MSR_IA32_RTIT_ADDR0_A, MSR_IA32_RTIT_ADDR0_B, @@ -7155,6 +7155,10 @@ static void kvm_probe_msr_to_save(u32 msr_index)  		if (!kvm_cpu_cap_has(X86_FEATURE_XFD))  			return;  		break; +	case MSR_IA32_TSX_CTRL: +		if (!(kvm_get_arch_capabilities() & ARCH_CAP_TSX_CTRL_MSR)) +			return; +		break;  	default:  		break;  	} @@ -10754,6 +10758,9 @@ static int vcpu_enter_guest(struct kvm_vcpu *vcpu)  			exit_fastpath = EXIT_FASTPATH_EXIT_HANDLED;  			break;  		} + +		/* Note, VM-Exits that go down the "slow" path are accounted below. */ +		++vcpu->stat.exits;  	}  	/*  | 
