| /linux/arch/x86/kvm/vmx/ |
| H A D | nested.h | 52 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 D | nested.c | 471 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 D | vmx.c | 2198 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 …]
|
| H A D | vmx.h | 186 struct nested_vmx_msrs msrs; member
|
| /linux/tools/testing/selftests/kvm/x86/ |
| H A D | msrs_test.c | 72 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/drivers/platform/x86/intel/ifs/ |
| H A D | load.c | 122 const struct ifs_test_msrs *msrs; in copy_hashes_authenticate_chunks() local 129 msrs = ifs_get_test_msrs(dev); in copy_hashes_authenticate_chunks() 131 wrmsrq(msrs->copy_hashes, ifs_hash_ptr); in copy_hashes_authenticate_chunks() 132 rdmsrq(msrs->copy_hashes_status, hashes_status.data); in copy_hashes_authenticate_chunks() 153 wrmsrq(msrs->copy_chunks, linear_addr); in copy_hashes_authenticate_chunks() 154 rdmsrq(msrs->copy_chunks_status, chunk_status.data); in copy_hashes_authenticate_chunks() 186 const struct ifs_test_msrs *msrs; in copy_hashes_authenticate_chunks_gen2() local 196 msrs = ifs_get_test_msrs(dev); in copy_hashes_authenticate_chunks_gen2() 199 wrmsrq(msrs->copy_hashes, ifs_hash_ptr); in copy_hashes_authenticate_chunks_gen2() 200 rdmsrq(msrs->copy_hashes_status, hashes_status.data); in copy_hashes_authenticate_chunks_gen2() [all …]
|
| /linux/arch/x86/lib/ |
| H A D | msr-smp.c | 13 if (rv->msrs) in __rdmsr_on_cpu() 14 reg = this_cpu_ptr(rv->msrs); in __rdmsr_on_cpu() 26 if (rv->msrs) in __wrmsr_on_cpu() 27 reg = this_cpu_ptr(rv->msrs); in __wrmsr_on_cpu() 98 struct msr __percpu *msrs, in __rwmsr_on_cpus() argument 106 rv.msrs = msrs; in __rwmsr_on_cpus() 125 void rdmsr_on_cpus(const struct cpumask *mask, u32 msr_no, struct msr __percpu *msrs) in rdmsr_on_cpus() argument 127 __rwmsr_on_cpus(mask, msr_no, msrs, __rdmsr_on_cpu); in rdmsr_on_cpus() 139 void wrmsr_on_cpus(const struct cpumask *mask, u32 msr_no, struct msr __percpu *msrs) in wrmsr_on_cpus() argument 141 __rwmsr_on_cpus(mask, msr_no, msrs, __wrmsr_on_cpu); in wrmsr_on_cpus()
|
| H A D | msr.c | 12 struct msr __percpu *msrs = NULL; in msrs_alloc() local 14 msrs = alloc_percpu(struct msr); in msrs_alloc() 15 if (!msrs) { in msrs_alloc() 20 return msrs; in msrs_alloc() 24 void msrs_free(struct msr __percpu *msrs) in msrs_free() argument 26 free_percpu(msrs); in msrs_free()
|
| /linux/Documentation/trace/postprocess/ |
| H A D | decode_msr.py | 7 msrs = dict() variable 13 msrs[int(m.group(2), 16)] = m.group(1) 26 if num in msrs: 27 r = msrs[num]
|
| /linux/arch/x86/include/asm/ |
| H A D | msr.h | 21 struct msr __percpu *msrs; member 254 void msrs_free(struct msr __percpu *msrs); 263 void rdmsr_on_cpus(const struct cpumask *mask, u32 msr_no, struct msr __percpu *msrs); 264 void wrmsr_on_cpus(const struct cpumask *mask, u32 msr_no, struct msr __percpu *msrs); 293 struct msr __percpu *msrs) in rdmsr_on_cpus() argument 295 rdmsr_on_cpu(0, msr_no, raw_cpu_ptr(&msrs->l), raw_cpu_ptr(&msrs->h)); in rdmsr_on_cpus() 298 struct msr __percpu *msrs) in wrmsr_on_cpus() argument 300 wrmsr_on_cpu(0, msr_no, raw_cpu_read(msrs->l), raw_cpu_read(msrs->h)); in wrmsr_on_cpus()
|
| /linux/tools/testing/selftests/kvm/include/x86/ |
| H A D | processor.h | 425 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 D | cpuid.rst | 44 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 D | amd.c | 633 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/arch/arm64/boot/dts/qcom/ |
| H A D | sm8750.dtsi | 3634 qcom,cmb-msrs-num = <32>; 3698 qcom,dsb-msrs-num = <32>; 3785 qcom,dsb-msrs-num = <32>; 3803 qcom,cmb-msrs-num = <32>; 3822 qcom,cmb-msrs-num = <32>; 3841 qcom,cmb-msrs-num = <32>; 3860 qcom,cmb-msrs-num = <32>; 3924 qcom,dsb-msrs-num = <32>; 4019 qcom,cmb-msrs-num = <32>; 4020 qcom,dsb-msrs-num = <32>; [all …]
|
| H A D | talos.dtsi | 2331 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 …]
|
| H A D | hamoa.dtsi | 6801 qcom,cmb-msrs-num = <32>; 6858 qcom,cmb-msrs-num = <32>; 6996 qcom,cmb-msrs-num = <32>; 7015 qcom,dsb-msrs-num = <32>; 7034 qcom,cmb-msrs-num = <32>; 7053 qcom,dsb-msrs-num = <32>; 7104 qcom,dsb-msrs-num = <32>; 7124 qcom,dsb-msrs-num = <32>; 7144 qcom,cmb-msrs-num = <32>; 7378 qcom,cmb-msrs-num = <32>; [all …]
|
| H A D | monaco.dtsi | 2974 qcom,cmb-msrs-num = <32>; 3236 qcom,cmb-msrs-num = <32>; 3255 qcom,cmb-msrs-num = <32>; 3257 qcom,dsb-msrs-num = <32>; 3276 qcom,dsb-msrs-num = <32>; 3369 qcom,dsb-msrs-num = <32>; 3412 qcom,dsb-msrs-num = <32>; 3484 qcom,dsb-msrs-num = <32>; 3736 qcom,cmb-msrs-num = <32>; 3755 qcom,cmb-msrs-num = <32>; [all …]
|
| H A D | lemans.dtsi | 2852 qcom,cmb-msrs-num = <32>; 2911 qcom,cmb-msrs-num = <32>; 3379 qcom,cmb-msrs-num = <32>; 3399 qcom,cmb-msrs-num = <32>; 3419 qcom,cmb-msrs-num = <32>; 3439 qcom,cmb-msrs-num = <32>; 3459 qcom,dsb-msrs-num = <32>; 3800 qcom,cmb-msrs-num = <32>; 3820 qcom,dsb-msrs-num = <32>; 3902 qcom,cmb-msrs-num = <32>; [all …]
|
| H A D | kodiak.dtsi | 3412 qcom,cmb-msrs-num = <32>; 3758 qcom,cmb-msrs-num = <32>; 3777 qcom,cmb-msrs-num = <32>; 3796 qcom,cmb-msrs-num = <32>; 3815 qcom,cmb-msrs-num = <32>; 3834 qcom,dsb-msrs-num = <32>;
|
| /linux/drivers/edac/ |
| H A D | amd64_edac.c | 17 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/tools/testing/selftests/kvm/lib/x86/ |
| H A D | processor.c | 1245 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 D | x86.c | 594 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 D | api.rst | 238 __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 */
|