Lines Matching refs:msr
426 static u32 svm_msrpm_offset(u32 msr) in svm_msrpm_offset() argument
432 if (msr < msrpm_ranges[i] || in svm_msrpm_offset()
433 msr >= msrpm_ranges[i] + MSRS_IN_RANGE) in svm_msrpm_offset()
436 offset = (msr - msrpm_ranges[i]) / 4; /* 4 msrs per u8 */ in svm_msrpm_offset()
762 static void set_msr_interception(u32 *msrpm, unsigned msr, in set_msr_interception() argument
773 WARN_ON(!valid_msr_intercept(msr)); in set_msr_interception()
775 offset = svm_msrpm_offset(msr); in set_msr_interception()
776 bit_read = 2 * (msr & 0x0f); in set_msr_interception()
777 bit_write = 2 * (msr & 0x0f) + 1; in set_msr_interception()
2164 u32 offset, msr, value; in nested_svm_exit_handled_msr() local
2170 msr = svm->vcpu.arch.regs[VCPU_REGS_RCX]; in nested_svm_exit_handled_msr()
2171 offset = svm_msrpm_offset(msr); in nested_svm_exit_handled_msr()
2173 mask = 1 << ((2 * (msr & 0xf)) + write); in nested_svm_exit_handled_msr()
3188 static int svm_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr) in svm_set_msr() argument
3192 u32 ecx = msr->index; in svm_set_msr()
3193 u64 data = msr->data; in svm_set_msr()
3196 kvm_write_tsc(vcpu, msr); in svm_set_msr()
3251 return kvm_set_msr_common(vcpu, msr); in svm_set_msr()
3258 struct msr_data msr; in wrmsr_interception() local
3262 msr.data = data; in wrmsr_interception()
3263 msr.index = ecx; in wrmsr_interception()
3264 msr.host_initiated = false; in wrmsr_interception()
3267 if (kvm_set_msr(&svm->vcpu, &msr)) { in wrmsr_interception()