Lines Matching refs:index

939 static int __kvm_set_xcr(struct kvm_vcpu *vcpu, u32 index, u64 xcr)
946 if (index != XCR_XFEATURE_ENABLED_MASK)
979 int kvm_set_xcr(struct kvm_vcpu *vcpu, u32 index, u64 xcr)
982 __kvm_set_xcr(vcpu, index, xcr)) {
1460 switch (msr->index) {
1465 rdmsrl_safe(msr->index, &msr->data);
1473 static int do_get_msr_feature(struct kvm_vcpu *vcpu, unsigned index, u64 *data)
1478 msr.index = index;
1484 if (kvm_msr_ignored_check(vcpu, index, 0, false))
1563 bool kvm_msr_allowed(struct kvm_vcpu *vcpu, u32 index, u32 type)
1573 if (index >= 0x800 && index <= 0x8ff)
1593 if ((index >= start) && (index < end) && (flags & type)) {
1594 allowed = !!test_bit(index - start, bitmap);
1610 * Write @data into the MSR specified by @index. Select MSR specific fault
1615 static int __kvm_set_msr(struct kvm_vcpu *vcpu, u32 index, u64 data,
1620 if (!host_initiated && !kvm_msr_allowed(vcpu, index, KVM_MSR_FILTER_WRITE))
1623 switch (index) {
1650 msr.index = index;
1657 u32 index, u64 data, bool host_initiated)
1659 int ret = __kvm_set_msr(vcpu, index, data, host_initiated);
1662 if (kvm_msr_ignored_check(vcpu, index, data, true))
1669 * Read the MSR specified by @index into @data. Select MSR specific fault
1674 int __kvm_get_msr(struct kvm_vcpu *vcpu, u32 index, u64 *data,
1680 if (!host_initiated && !kvm_msr_allowed(vcpu, index, KVM_MSR_FILTER_READ))
1683 msr.index = index;
1693 u32 index, u64 *data, bool host_initiated)
1695 int ret = __kvm_get_msr(vcpu, index, data, host_initiated);
1700 if (kvm_msr_ignored_check(vcpu, index, 0, false))
1707 int kvm_get_msr(struct kvm_vcpu *vcpu, u32 index, u64 *data)
1709 return kvm_get_msr_ignored_check(vcpu, index, data, false);
1713 int kvm_set_msr(struct kvm_vcpu *vcpu, u32 index, u64 data)
1715 return kvm_set_msr_ignored_check(vcpu, index, data, false);
1754 static int kvm_msr_user_space(struct kvm_vcpu *vcpu, u32 index,
1769 vcpu->run->msr.index = index;
1776 static int kvm_get_msr_user_space(struct kvm_vcpu *vcpu, u32 index, int r)
1778 return kvm_msr_user_space(vcpu, index, KVM_EXIT_X86_RDMSR, 0,
1782 static int kvm_set_msr_user_space(struct kvm_vcpu *vcpu, u32 index, u64 data, int r)
1784 return kvm_msr_user_space(vcpu, index, KVM_EXIT_X86_WRMSR, data,
1925 static int do_get_msr(struct kvm_vcpu *vcpu, unsigned index, u64 *data)
1927 return kvm_get_msr_ignored_check(vcpu, index, data, true);
1930 static int do_set_msr(struct kvm_vcpu *vcpu, unsigned index, u64 *data)
1932 return kvm_set_msr_ignored_check(vcpu, index, *data, true);
2877 u32 msr = msr_info->index;
3128 u32 msr = msr_info->index;
3152 struct kvm_msr_entry msr_ent = {.index = msr, .data = 0};
3474 switch (msr_info->index) {
3512 if (kvm_pmu_is_valid_msr(vcpu, msr_info->index))
3552 return kvm_mtrr_get_msr(vcpu, msr_info->index, &msr_info->data);
3574 return kvm_x2apic_msr_read(vcpu, msr_info->index, &msr_info->data);
3667 return get_msr_mce(vcpu, msr_info->index, &msr_info->data,
3697 msr_info->index, &msr_info->data,
3735 if (kvm_pmu_is_valid_msr(vcpu, msr_info->index))
3751 unsigned index, u64 *data))
3756 if (do_msr(vcpu, entries[i].index, &entries[i].data))
3769 unsigned index, u64 *data),
4671 * CPUID leaf 0xD, index 0, EDX:EAX. This is for compatibility
6033 msr.index = msr_based_features_all[i];
7093 static int emulator_set_xcr(struct x86_emulate_ctxt *ctxt, u32 index, u64 xcr)
7095 return __kvm_set_xcr(emul_to_vcpu(ctxt), index, xcr);