Lines Matching refs:msr
428 static u32 svm_msrpm_offset(u32 msr) in svm_msrpm_offset() argument
434 if (msr < msrpm_ranges[i] || in svm_msrpm_offset()
435 msr >= msrpm_ranges[i] + MSRS_IN_RANGE) in svm_msrpm_offset()
438 offset = (msr - msrpm_ranges[i]) / 4; /* 4 msrs per u8 */ in svm_msrpm_offset()
764 static void set_msr_interception(u32 *msrpm, unsigned msr, in set_msr_interception() argument
775 WARN_ON(!valid_msr_intercept(msr)); in set_msr_interception()
777 offset = svm_msrpm_offset(msr); in set_msr_interception()
778 bit_read = 2 * (msr & 0x0f); in set_msr_interception()
779 bit_write = 2 * (msr & 0x0f) + 1; in set_msr_interception()
2081 u32 offset, msr, value; in nested_svm_exit_handled_msr() local
2087 msr = svm->vcpu.arch.regs[VCPU_REGS_RCX]; in nested_svm_exit_handled_msr()
2088 offset = svm_msrpm_offset(msr); in nested_svm_exit_handled_msr()
2090 mask = 1 << ((2 * (msr & 0xf)) + write); in nested_svm_exit_handled_msr()
3110 static int svm_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr) in svm_set_msr() argument
3114 u32 ecx = msr->index; in svm_set_msr()
3115 u64 data = msr->data; in svm_set_msr()
3118 kvm_write_tsc(vcpu, msr); in svm_set_msr()
3173 return kvm_set_msr_common(vcpu, msr); in svm_set_msr()
3180 struct msr_data msr; in wrmsr_interception() local
3184 msr.data = data; in wrmsr_interception()
3185 msr.index = ecx; in wrmsr_interception()
3186 msr.host_initiated = false; in wrmsr_interception()
3189 if (kvm_set_msr(&svm->vcpu, &msr)) { in wrmsr_interception()