Home
last modified time | relevance | path

Searched refs:msrs (Results 1 – 12 of 12) sorted by relevance

/linux/arch/x86/kvm/vmx/
H A Dnested.h52 int vmx_get_vmx_msr(struct nested_vmx_msrs *msrs, u32 msr_index, u64 *pdata);
125 return vmx_misc_cr3_count(to_vmx(vcpu)->nested.msrs.misc_low); in nested_cpu_vmx_misc_cr3_count()
135 return to_vmx(vcpu)->nested.msrs.misc_low & in nested_cpu_has_vmwrite_any_field()
141 return to_vmx(vcpu)->nested.msrs.misc_low & VMX_MISC_ZERO_LEN_INS; in nested_cpu_has_zero_length_injection()
146 return to_vmx(vcpu)->nested.msrs.procbased_ctls_high & in nested_cpu_supports_monitor_trap_flag()
152 return to_vmx(vcpu)->nested.msrs.secondary_ctls_high & in nested_cpu_has_vmx_shadow_vmcs()
283 u64 fixed0 = to_vmx(vcpu)->nested.msrs.cr0_fixed0; in nested_guest_cr0_valid()
284 u64 fixed1 = to_vmx(vcpu)->nested.msrs.cr0_fixed1; in nested_guest_cr0_valid()
287 if (to_vmx(vcpu)->nested.msrs.secondary_ctls_high & in nested_guest_cr0_valid()
297 u64 fixed0 = to_vmx(vcpu)->nested.msrs.cr0_fixed0; in nested_host_cr0_valid()
[all …]
H A Dnested.c471 bool execonly = vmx->nested.msrs.ept_caps & VMX_EPT_EXECUTE_ONLY_BIT; in nested_ept_new_eptp()
472 int ept_lpage_level = ept_caps_to_lpage_level(vmx->nested.msrs.ept_caps); in nested_ept_new_eptp()
895 u64 vmx_misc = vmx_control_msr(vmx->nested.msrs.misc_low, in nested_vmx_max_atomic_switch_msrs()
896 vmx->nested.msrs.misc_high); in nested_vmx_max_atomic_switch_msrs()
1327 vmx->nested.msrs.basic = data; in vmx_restore_vmx_basic()
1331 static void vmx_get_control_msr(struct nested_vmx_msrs *msrs, u32 msr_index, in vmx_get_control_msr() argument
1336 *low = &msrs->pinbased_ctls_low; in vmx_get_control_msr()
1337 *high = &msrs->pinbased_ctls_high; in vmx_get_control_msr()
1340 *low = &msrs->procbased_ctls_low; in vmx_get_control_msr()
1341 *high = &msrs->procbased_ctls_high; in vmx_get_control_msr()
[all …]
H A Dvmx.c2198 if (vmx_get_vmx_msr(&vmx->nested.msrs, msr_info->index, in vmx_get_msr()
2419 ((vmx->nested.msrs.entry_ctls_high & VM_ENTRY_LOAD_BNDCFGS) || in vmx_set_msr()
2420 (vmx->nested.msrs.exit_ctls_high & VM_EXIT_CLEAR_BNDCFGS))) in vmx_set_msr()
4785 vmx->nested.msrs.secondary_ctls_high |= control; in vmx_adjust_secondary_exec_control()
4787 vmx->nested.msrs.secondary_ctls_high &= ~control; in vmx_adjust_secondary_exec_control()
5067 memcpy(&vmx->nested.msrs, &vmcs_config.nested, sizeof(vmx->nested.msrs)); in __vmx_vcpu_reset()
7419 struct perf_guest_switch_msr *msrs; in atomic_switch_perf_msrs() local
7430 msrs = perf_guest_get_msrs(&nr_msrs, (void *)pmu); in atomic_switch_perf_msrs()
7431 if (!msrs) in atomic_switch_perf_msrs()
7435 if (msrs[i].host == msrs[i].guest) in atomic_switch_perf_msrs()
[all …]
/linux/tools/testing/selftests/kvm/x86/
H A Dmsrs_test.c72 static struct kvm_msr msrs[128]; variable
194 const struct kvm_msr *msr = &msrs[READ_ONCE(idx)]; in guest_main()
253 bool has_reg = vcpu_cpuid_has(vcpu, msrs[idx].feature); in host_test_kvm_reg()
254 u64 reset_val = msrs[idx].reset_val; in host_test_kvm_reg()
255 u64 write_val = msrs[idx].write_val; in host_test_kvm_reg()
256 u64 rsvd_val = msrs[idx].rsvd_val; in host_test_kvm_reg()
257 u32 reg = msrs[idx].index; in host_test_kvm_reg()
290 u64 reset_val = msrs[idx].reset_val; in host_test_msr()
291 u32 msr = msrs[idx].index; in host_test_msr()
294 if (!kvm_cpu_has(msrs[idx].feature)) in host_test_msr()
[all …]
/linux/tools/testing/selftests/kvm/include/x86/
H A Dprocessor.h425 struct kvm_msrs msrs; member
898 struct kvm_msrs *msrs) in vcpu_msrs_get() argument
900 int r = __vcpu_ioctl(vcpu, KVM_GET_MSRS, msrs); in vcpu_msrs_get()
902 TEST_ASSERT(r == msrs->nmsrs, in vcpu_msrs_get()
904 r, r < 0 || r >= msrs->nmsrs ? -1 : msrs->entries[r].index); in vcpu_msrs_get()
906 static inline void vcpu_msrs_set(struct kvm_vcpu *vcpu, struct kvm_msrs *msrs) in vcpu_msrs_set() argument
908 int r = __vcpu_ioctl(vcpu, KVM_SET_MSRS, msrs); in vcpu_msrs_set()
910 TEST_ASSERT(r == msrs->nmsrs, in vcpu_msrs_set()
912 r, r < 0 || r >= msrs->nmsrs ? -1 : msrs->entries[r].index); in vcpu_msrs_set()
/linux/Documentation/virt/kvm/x86/
H A Dcpuid.rst44 KVM_FEATURE_CLOCKSOURCE 0 kvmclock available at msrs
52 KVM_FEATURE_CLOCKSOURCE2 3 kvmclock available at msrs
/linux/arch/x86/kernel/cpu/mce/
H A Damd.c633 u32 msrs[NR_BLOCKS]; in disable_err_thresholding() local
636 msrs[0] = 0x00000413; /* MC4_MISC0 */ in disable_err_thresholding()
637 msrs[1] = 0xc0000408; /* MC4_MISC1 */ in disable_err_thresholding()
645 msrs[0] = MSR_AMD64_SMCA_MCx_MISC(bank); in disable_err_thresholding()
660 msr_clear_bit(msrs[i], 62); in disable_err_thresholding()
/linux/drivers/edac/
H A Damd64_edac.c17 static struct msr __percpu *msrs; variable
3218 rdmsr_on_cpus(mask, MSR_IA32_MCG_CTL, msrs); in nb_mce_bank_enabled_on_node()
3221 struct msr *reg = per_cpu_ptr(msrs, cpu); in nb_mce_bank_enabled_on_node()
3249 rdmsr_on_cpus(cmask, MSR_IA32_MCG_CTL, msrs); in toggle_ecc_err_reporting()
3253 struct msr *reg = per_cpu_ptr(msrs, cpu); in toggle_ecc_err_reporting()
3268 wrmsr_on_cpus(cmask, MSR_IA32_MCG_CTL, msrs); in toggle_ecc_err_reporting()
4153 msrs = msrs_alloc(); in amd64_edac_init()
4154 if (!msrs) in amd64_edac_init()
4190 msrs_free(msrs); in amd64_edac_init()
4191 msrs = NULL; in amd64_edac_init()
[all …]
/linux/arch/arm64/boot/dts/qcom/
H A Dtalos.dtsi2331 qcom,cmb-msrs-num = <32>;
2351 qcom,cmb-msrs-num = <32>;
2370 qcom,cmb-msrs-num = <32>;
2372 qcom,dsb-msrs-num = <32>;
2391 qcom,dsb-msrs-num = <32>;
2442 qcom,cmb-msrs-num = <32>;
2462 qcom,cmb-msrs-num = <32>;
2464 qcom,dsb-msrs-num = <32>;
2484 qcom,dsb-msrs-num = <32>;
2527 qcom,dsb-msrs-num = <32>;
[all …]
/linux/tools/testing/selftests/kvm/lib/x86/
H A Dprocessor.c1245 state = malloc(sizeof(*state) + msr_list->nmsrs * sizeof(state->msrs.entries[0])); in vcpu_save_state()
1269 state->msrs.nmsrs = msr_list->nmsrs; in vcpu_save_state()
1271 state->msrs.entries[i].index = msr_list->indices[i]; in vcpu_save_state()
1272 vcpu_msrs_get(vcpu, &state->msrs); in vcpu_save_state()
1282 vcpu_msrs_set(vcpu, &state->msrs); in vcpu_load_state()
/linux/arch/x86/kvm/
H A Dx86.c594 struct kvm_user_return_msrs *msrs in kvm_on_user_return() local
598 msrs->registered = false; in kvm_on_user_return()
602 values = &msrs->values[slot]; in kvm_on_user_return()
651 struct kvm_user_return_msrs *msrs = this_cpu_ptr(&user_return_msrs); in kvm_user_return_msr_cpu_online() local
657 msrs->values[i].host = value; in kvm_user_return_msr_cpu_online()
658 msrs->values[i].curr = value; in kvm_user_return_msr_cpu_online()
662 static void kvm_user_return_register_notifier(struct kvm_user_return_msrs *msrs) in kvm_user_return_register_notifier() argument
664 if (!msrs->registered) { in kvm_user_return_register_notifier()
665 msrs->urn.on_user_return = kvm_on_user_return; in kvm_user_return_register_notifier()
666 user_return_notifier_register(&msrs->urn); in kvm_user_return_register_notifier()
[all …]
/linux/Documentation/virt/kvm/
H A Dapi.rst238 __u32 nmsrs; /* number of msrs in entries */
243 kvm adjusts nmsrs to reflect the actual number of msrs and fills in the
246 KVM_GET_MSR_INDEX_LIST returns the guest msrs that are supported. The list
650 :Returns: number of msrs successfully returned;
666 __u32 nmsrs; /* number of msrs in entries */
690 :Returns: number of msrs successfully set (see below), -1 on error
4220 __u32 nmsrs; /* number of msrs in bitmap */