/openbmc/linux/arch/x86/kvm/vmx/ |
H A D | nested.h | 100 return vmx_misc_cr3_count(to_vmx(vcpu)->nested.msrs.misc_low); in nested_cpu_vmx_misc_cr3_count() 110 return to_vmx(vcpu)->nested.msrs.misc_low & in nested_cpu_has_vmwrite_any_field() 121 return to_vmx(vcpu)->nested.msrs.procbased_ctls_high & in nested_cpu_supports_monitor_trap_flag() 127 return to_vmx(vcpu)->nested.msrs.secondary_ctls_high & in nested_cpu_has_vmx_shadow_vmcs() 258 u64 fixed0 = to_vmx(vcpu)->nested.msrs.cr0_fixed0; in nested_guest_cr0_valid() 259 u64 fixed1 = to_vmx(vcpu)->nested.msrs.cr0_fixed1; in nested_guest_cr0_valid() 262 if (to_vmx(vcpu)->nested.msrs.secondary_ctls_high & in nested_guest_cr0_valid() 272 u64 fixed0 = to_vmx(vcpu)->nested.msrs.cr0_fixed0; in nested_host_cr0_valid() 273 u64 fixed1 = to_vmx(vcpu)->nested.msrs.cr0_fixed1; in nested_host_cr0_valid() 280 u64 fixed0 = to_vmx(vcpu)->nested.msrs.cr4_fixed0; in nested_cr4_valid() [all …]
|
H A D | nested.c | 1437 *pdata = msrs->basic; in vmx_get_vmx_msr() 1458 msrs->exit_ctls_low, in vmx_get_vmx_msr() 1466 msrs->entry_ctls_low, in vmx_get_vmx_msr() 1473 msrs->misc_low, in vmx_get_vmx_msr() 1474 msrs->misc_high); in vmx_get_vmx_msr() 6784 msrs->exit_ctls_low = in nested_vmx_setup_exit_ctls() 6807 msrs->entry_ctls_low = in nested_vmx_setup_entry_ctls() 6893 msrs->ept_caps = in nested_vmx_setup_secondary_ctls() 6947 msrs->misc_low |= in nested_vmx_setup_misc_data() 6952 msrs->misc_high = 0; in nested_vmx_setup_misc_data() [all …]
|
H A D | vmx.c | 4561 vmx->nested.msrs.secondary_ctls_high |= control; in vmx_adjust_secondary_exec_control() 4838 memcpy(&vmx->nested.msrs, &vmcs_config.nested, sizeof(vmx->nested.msrs)); in __vmx_vcpu_reset() 7140 struct perf_guest_switch_msr *msrs; in atomic_switch_perf_msrs() local 7149 if (!msrs) in atomic_switch_perf_msrs() 7153 if (msrs[i].host == msrs[i].guest) in atomic_switch_perf_msrs() 7154 clear_atomic_switch_msr(vmx, msrs[i].msr); in atomic_switch_perf_msrs() 7156 add_atomic_switch_msr(vmx, msrs[i].msr, msrs[i].guest, in atomic_switch_perf_msrs() 7157 msrs[i].host, false); in atomic_switch_perf_msrs() 7660 vmx->nested.msrs.cr0_fixed1 = 0xffffffff; in nested_vmx_cr_fixed1_bits_update() 7661 vmx->nested.msrs.cr4_fixed1 = X86_CR4_PCE; in nested_vmx_cr_fixed1_bits_update() [all …]
|
H A D | vmx.h | 234 struct nested_vmx_msrs msrs; member
|
/openbmc/linux/arch/x86/lib/ |
H A D | msr.c | 11 struct msr *msrs = NULL; in msrs_alloc() local 13 msrs = alloc_percpu(struct msr); in msrs_alloc() 14 if (!msrs) { in msrs_alloc() 19 return msrs; in msrs_alloc() 23 void msrs_free(struct msr *msrs) in msrs_free() argument 25 free_percpu(msrs); in msrs_free()
|
H A D | msr-smp.c | 14 if (rv->msrs) in __rdmsr_on_cpu() 15 reg = per_cpu_ptr(rv->msrs, this_cpu); in __rdmsr_on_cpu() 28 if (rv->msrs) in __wrmsr_on_cpu() 29 reg = per_cpu_ptr(rv->msrs, this_cpu); in __wrmsr_on_cpu() 100 struct msr *msrs, in __rwmsr_on_cpus() argument 108 rv.msrs = msrs; in __rwmsr_on_cpus() 127 void rdmsr_on_cpus(const struct cpumask *mask, u32 msr_no, struct msr *msrs) in rdmsr_on_cpus() argument 129 __rwmsr_on_cpus(mask, msr_no, msrs, __rdmsr_on_cpu); in rdmsr_on_cpus() 141 void wrmsr_on_cpus(const struct cpumask *mask, u32 msr_no, struct msr *msrs) in wrmsr_on_cpus() argument 143 __rwmsr_on_cpus(mask, msr_no, msrs, __wrmsr_on_cpu); in wrmsr_on_cpus()
|
/openbmc/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]
|
/openbmc/linux/arch/x86/include/asm/ |
H A D | msr.h | 18 struct msr *msrs; member 309 void msrs_free(struct msr *msrs); 318 void rdmsr_on_cpus(const struct cpumask *mask, u32 msr_no, struct msr *msrs); 319 void wrmsr_on_cpus(const struct cpumask *mask, u32 msr_no, struct msr *msrs); 348 struct msr *msrs) in rdmsr_on_cpus() argument 350 rdmsr_on_cpu(0, msr_no, &(msrs[0].l), &(msrs[0].h)); in rdmsr_on_cpus() 353 struct msr *msrs) in wrmsr_on_cpus() argument 355 wrmsr_on_cpu(0, msr_no, msrs[0].l, msrs[0].h); in wrmsr_on_cpus()
|
/openbmc/qemu/target/i386/kvm/ |
H A D | kvm.c | 2960 struct kvm_msr_entry *entry = &msrs->entries[msrs->nmsrs]; in kvm_msr_entry_add() 2967 msrs->nmsrs++; in kvm_msr_entry_add() 3988 env->pat = msrs[i].data; in kvm_get_msrs() 3991 env->star = msrs[i].data; in kvm_get_msrs() 3995 env->cstar = msrs[i].data; in kvm_get_msrs() 4001 env->fmask = msrs[i].data; in kvm_get_msrs() 4004 env->lstar = msrs[i].data; in kvm_get_msrs() 4008 env->tsc = msrs[i].data; in kvm_get_msrs() 4053 env->xss = msrs[i].data; in kvm_get_msrs() 4059 env->pkrs = msrs[i].data; in kvm_get_msrs() [all …]
|
/openbmc/qemu/target/i386/nvmm/ |
H A D | nvmm-all.c | 168 state->msrs[NVMM_X64_MSR_EFER] = env->efer; in nvmm_set_registers() 169 state->msrs[NVMM_X64_MSR_STAR] = env->star; in nvmm_set_registers() 171 state->msrs[NVMM_X64_MSR_LSTAR] = env->lstar; in nvmm_set_registers() 172 state->msrs[NVMM_X64_MSR_CSTAR] = env->cstar; in nvmm_set_registers() 173 state->msrs[NVMM_X64_MSR_SFMASK] = env->fmask; in nvmm_set_registers() 179 state->msrs[NVMM_X64_MSR_PAT] = env->pat; in nvmm_set_registers() 180 state->msrs[NVMM_X64_MSR_TSC] = env->tsc; in nvmm_set_registers() 323 env->efer = state->msrs[NVMM_X64_MSR_EFER]; in nvmm_get_registers() 324 env->star = state->msrs[NVMM_X64_MSR_STAR]; in nvmm_get_registers() 334 env->pat = state->msrs[NVMM_X64_MSR_PAT]; in nvmm_get_registers() [all …]
|
/openbmc/linux/tools/testing/selftests/kvm/include/x86_64/ |
H A D | processor.h | 389 struct kvm_msrs msrs; member 809 struct kvm_msrs *msrs) in vcpu_msrs_get() argument 811 int r = __vcpu_ioctl(vcpu, KVM_GET_MSRS, msrs); in vcpu_msrs_get() 813 TEST_ASSERT(r == msrs->nmsrs, in vcpu_msrs_get() 815 r, r < 0 || r >= msrs->nmsrs ? -1 : msrs->entries[r].index); in vcpu_msrs_get() 817 static inline void vcpu_msrs_set(struct kvm_vcpu *vcpu, struct kvm_msrs *msrs) in vcpu_msrs_set() argument 819 int r = __vcpu_ioctl(vcpu, KVM_SET_MSRS, msrs); in vcpu_msrs_set() 821 TEST_ASSERT(r == msrs->nmsrs, in vcpu_msrs_set() 823 r, r < 0 || r >= msrs->nmsrs ? -1 : msrs->entries[r].index); in vcpu_msrs_set()
|
/openbmc/linux/drivers/platform/x86/intel/ifs/ |
H A D | runtest.c | 138 u64 *msrs = data; in doscan() local 152 wrmsrl(MSR_ACTIVATE_SCAN, msrs[0]); in doscan() 156 rdmsrl(MSR_SCAN_STATUS, msrs[1]); in doscan()
|
/openbmc/u-boot/arch/x86/include/asm/ |
H A D | msr.h | 39 struct msr *msrs; member 257 void msrs_free(struct msr *msrs);
|
/openbmc/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
|
/openbmc/linux/arch/x86/kernel/cpu/mce/ |
H A D | amd.c | 645 u32 msrs[NR_BLOCKS]; in disable_err_thresholding() local 648 msrs[0] = 0x00000413; /* MC4_MISC0 */ in disable_err_thresholding() 649 msrs[1] = 0xc0000408; /* MC4_MISC1 */ in disable_err_thresholding() 657 msrs[0] = MSR_AMD64_SMCA_MCx_MISC(bank); in disable_err_thresholding() 672 msr_clear_bit(msrs[i], 62); in disable_err_thresholding()
|
/openbmc/linux/tools/testing/selftests/kvm/lib/x86_64/ |
H A D | processor.c | 975 state = malloc(sizeof(*state) + msr_list->nmsrs * sizeof(state->msrs.entries[0])); in vcpu_save_state() 999 state->msrs.nmsrs = msr_list->nmsrs; in vcpu_save_state() 1001 state->msrs.entries[i].index = msr_list->indices[i]; in vcpu_save_state() 1002 vcpu_msrs_get(vcpu, &state->msrs); in vcpu_save_state() 1012 vcpu_msrs_set(vcpu, &state->msrs); in vcpu_load_state()
|
/openbmc/linux/drivers/edac/ |
H A D | amd64_edac.c | 14 static struct msr __percpu *msrs; variable 3461 rdmsr_on_cpus(mask, MSR_IA32_MCG_CTL, msrs); in nb_mce_bank_enabled_on_node() 3464 struct msr *reg = per_cpu_ptr(msrs, cpu); in nb_mce_bank_enabled_on_node() 3493 rdmsr_on_cpus(cmask, MSR_IA32_MCG_CTL, msrs); in toggle_ecc_err_reporting() 3497 struct msr *reg = per_cpu_ptr(msrs, cpu); in toggle_ecc_err_reporting() 4394 msrs = msrs_alloc(); in amd64_edac_init() 4395 if (!msrs) in amd64_edac_init() 4431 msrs_free(msrs); in amd64_edac_init() 4432 msrs = NULL; in amd64_edac_init() 4462 msrs_free(msrs); in amd64_edac_exit() [all …]
|
/openbmc/linux/arch/x86/kvm/ |
H A D | x86.c | 375 if (msrs->registered) { in kvm_on_user_return() 376 msrs->registered = false; in kvm_on_user_return() 381 values = &msrs->values[slot]; in kvm_on_user_return() 437 msrs->values[i].host = value; in kvm_user_return_msr_cpu_online() 438 msrs->values[i].curr = value; in kvm_user_return_msr_cpu_online() 455 msrs->values[slot].curr = value; in kvm_set_user_return_msr() 456 if (!msrs->registered) { in kvm_set_user_return_msr() 459 msrs->registered = true; in kvm_set_user_return_msr() 470 if (msrs->registered) in drop_user_return_notifiers() 4391 struct kvm_msrs msrs; in msr_io() local [all …]
|
/openbmc/linux/Documentation/virt/kvm/ |
H A D | api.rst | 208 __u32 nmsrs; /* number of msrs in entries */ 213 kvm adjusts nmsrs to reflect the actual number of msrs and fills in the 216 KVM_GET_MSR_INDEX_LIST returns the guest msrs that are supported. The list 615 :Returns: number of msrs successfully returned; 631 __u32 nmsrs; /* number of msrs in entries */ 655 :Returns: number of msrs successfully set (see below), -1 on error 4096 __u32 nmsrs; /* number of msrs in bitmap */
|