16 :
"=a" (lo),
"=d" (hi)
34 for ( i = 0; i < t->
nr_vals; ++i )
43 xtf_failure(
"Fail: MSR %08x, real write, real read\n"
53 xtf_failure(
"Fail: MSR %08x, real write, emul read\n"
61 for ( i = 0; i < t->
nr_vals; ++i )
70 xtf_failure(
"Fail: MSR %08x, emul write, real read\n"
77 xtf_failure(
"Fail: MSR %08x, emul write, emul read\n"
#define _ASM_XEN_FEP
Xen Forced Emulation Prefix.
void xtf_msr_consistency_test(const struct xtf_msr_consistency_test_data *t)
Run consistency tests as described by t.
static void force_wrmsr(uint32_t idx, uint64_t val)
static uint64_t force_rdmsr(uint32_t idx)
bool xtf_has_fep
Boolean indicating whether generic Force Emulation Prefix support is available for the test to use.
Model Specific Register mnemonics and bit definitions.
static uint64_t rdmsr(uint32_t idx)
Thin wrapper around an rdmsr instruction.
static void wrmsr(uint32_t idx, uint64_t val)
Thin wrapper around an wrmsr instruction.
void xtf_failure(const char *fmt,...)
Report a test failure.
API for reporting test status.
const struct xtf_msr_consistency_test_data::xtf_msr_consistency_test_vals * vals