Lines Matching refs:val
103 static int bank_mce_rdmsr(const struct vcpu *v, uint32_t msr, uint64_t *val) in bank_mce_rdmsr() argument
108 *val = 0; in bank_mce_rdmsr()
114 *val = ~0UL; in bank_mce_rdmsr()
116 v, bank, *val); in bank_mce_rdmsr()
122 *val = v->arch.vmce.bank[bank].mci_status; in bank_mce_rdmsr()
123 if ( *val ) in bank_mce_rdmsr()
125 v, bank, *val); in bank_mce_rdmsr()
132 *val = v->arch.vmce.bank[bank].mci_addr; in bank_mce_rdmsr()
133 if ( *val ) in bank_mce_rdmsr()
135 v, bank, *val); in bank_mce_rdmsr()
142 *val = v->arch.vmce.bank[bank].mci_misc; in bank_mce_rdmsr()
143 if ( *val ) in bank_mce_rdmsr()
145 v, bank, *val); in bank_mce_rdmsr()
153 ret = vmce_intel_rdmsr(v, msr, val); in bank_mce_rdmsr()
157 ret = vmce_amd_rdmsr(v, msr, val); in bank_mce_rdmsr()
175 int vmce_rdmsr(uint32_t msr, uint64_t *val) in vmce_rdmsr() argument
180 *val = 0; in vmce_rdmsr()
187 *val = cur->arch.vmce.mcg_status; in vmce_rdmsr()
188 if ( *val ) in vmce_rdmsr()
190 "MCE: %pv: rd MCG_STATUS %#"PRIx64"\n", cur, *val); in vmce_rdmsr()
194 *val = cur->arch.vmce.mcg_cap; in vmce_rdmsr()
195 mce_printk(MCE_VERBOSE, "MCE: %pv: rd MCG_CAP %#"PRIx64"\n", cur, *val); in vmce_rdmsr()
200 *val = ~0ULL; in vmce_rdmsr()
201 mce_printk(MCE_VERBOSE, "MCE: %pv: rd MCG_CTL %#"PRIx64"\n", cur, *val); in vmce_rdmsr()
212 *val = cur->arch.vmce.mcg_ext_ctl; in vmce_rdmsr()
214 cur, *val); in vmce_rdmsr()
225 ret = mce_bank_msr(cur, msr) ? bank_mce_rdmsr(cur, msr, val) : 0; in vmce_rdmsr()
238 static int bank_mce_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val) in bank_mce_wrmsr() argument
254 v, bank, val); in bank_mce_wrmsr()
255 if ( val ) in bank_mce_wrmsr()
258 v->arch.vmce.bank[bank].mci_status = val; in bank_mce_wrmsr()
263 v, bank, val); in bank_mce_wrmsr()
264 if ( val ) in bank_mce_wrmsr()
267 v->arch.vmce.bank[bank].mci_addr = val; in bank_mce_wrmsr()
272 v, bank, val); in bank_mce_wrmsr()
273 if ( val ) in bank_mce_wrmsr()
276 v->arch.vmce.bank[bank].mci_misc = val; in bank_mce_wrmsr()
283 ret = vmce_intel_wrmsr(v, msr, val); in bank_mce_wrmsr()
287 ret = vmce_amd_wrmsr(v, msr, val); in bank_mce_wrmsr()
305 int vmce_wrmsr(uint32_t msr, uint64_t val) in vmce_wrmsr() argument
319 cur->arch.vmce.mcg_status = val; in vmce_wrmsr()
321 cur, val); in vmce_wrmsr()
335 !(val & ~MCG_EXT_CTL_LMCE_EN) ) in vmce_wrmsr()
336 cur->arch.vmce.mcg_ext_ctl = val; in vmce_wrmsr()
340 cur, val, (ret == -1) ? ", not supported" : ""); in vmce_wrmsr()
344 ret = mce_bank_msr(cur, msr) ? bank_mce_wrmsr(cur, msr, val) : 0; in vmce_wrmsr()