Lines Matching refs:msr

153     const char *name, u32 ctl_min, u32 ctl_opt, u32 msr, bool_t *mismatch)  in adjust_vmx_controls()  argument
157 rdmsr(msr, vmx_msr_low, vmx_msr_high); in adjust_vmx_controls()
316 uint32_t must_be_one, must_be_zero, msr = MSR_IA32_VMX_PROCBASED_CTLS; in vmx_init_vmcs_config() local
318 msr = MSR_IA32_VMX_TRUE_PROCBASED_CTLS; in vmx_init_vmcs_config()
319 rdmsr(msr, must_be_one, must_be_zero); in vmx_init_vmcs_config()
823 void vmx_clear_msr_intercept(struct vcpu *v, unsigned int msr, in vmx_clear_msr_intercept() argument
833 if ( unlikely(monitored_msr(d, msr)) ) in vmx_clear_msr_intercept()
836 if ( msr <= 0x1fff ) in vmx_clear_msr_intercept()
839 clear_bit(msr, msr_bitmap->read_low); in vmx_clear_msr_intercept()
841 clear_bit(msr, msr_bitmap->write_low); in vmx_clear_msr_intercept()
843 else if ( (msr >= 0xc0000000) && (msr <= 0xc0001fff) ) in vmx_clear_msr_intercept()
845 msr &= 0x1fff; in vmx_clear_msr_intercept()
847 clear_bit(msr, msr_bitmap->read_high); in vmx_clear_msr_intercept()
849 clear_bit(msr, msr_bitmap->write_high); in vmx_clear_msr_intercept()
855 void vmx_set_msr_intercept(struct vcpu *v, unsigned int msr, in vmx_set_msr_intercept() argument
864 if ( msr <= 0x1fff ) in vmx_set_msr_intercept()
867 set_bit(msr, msr_bitmap->read_low); in vmx_set_msr_intercept()
869 set_bit(msr, msr_bitmap->write_low); in vmx_set_msr_intercept()
871 else if ( (msr >= 0xc0000000) && (msr <= 0xc0001fff) ) in vmx_set_msr_intercept()
873 msr &= 0x1fff; in vmx_set_msr_intercept()
875 set_bit(msr, msr_bitmap->read_high); in vmx_set_msr_intercept()
877 set_bit(msr, msr_bitmap->write_high); in vmx_set_msr_intercept()
884 unsigned int msr, bool is_write) in vmx_msr_is_intercepted() argument
886 if ( msr <= 0x1fff ) in vmx_msr_is_intercepted()
887 return test_bit(msr, is_write ? msr_bitmap->write_low in vmx_msr_is_intercepted()
889 else if ( (msr >= 0xc0000000) && (msr <= 0xc0001fff) ) in vmx_msr_is_intercepted()
890 return test_bit(msr & 0x1fff, is_write ? msr_bitmap->write_high in vmx_msr_is_intercepted()
1284 const u32 *msr = key; in vmx_msr_entry_key_cmp() local
1287 if ( *msr > entry->index ) in vmx_msr_entry_key_cmp()
1289 if ( *msr < entry->index ) in vmx_msr_entry_key_cmp()
1295 struct vmx_msr_entry *vmx_find_msr(u32 msr, int type) in vmx_find_msr() argument
1316 return bsearch(&msr, msr_area, msr_count, sizeof(struct vmx_msr_entry), in vmx_find_msr()
1320 int vmx_read_guest_msr(u32 msr, u64 *val) in vmx_read_guest_msr() argument
1324 if ( (ent = vmx_find_msr(msr, VMX_GUEST_MSR)) != NULL ) in vmx_read_guest_msr()
1333 int vmx_write_guest_msr(u32 msr, u64 val) in vmx_write_guest_msr() argument
1337 if ( (ent = vmx_find_msr(msr, VMX_GUEST_MSR)) != NULL ) in vmx_write_guest_msr()
1346 int vmx_add_msr(u32 msr, int type) in vmx_add_msr() argument
1378 for ( idx = 0; idx < *msr_count && (*msr_area)[idx].index <= msr; idx++ ) in vmx_add_msr()
1379 if ( (*msr_area)[idx].index == msr ) in vmx_add_msr()
1389 msr_area_elem->index = msr; in vmx_add_msr()
1402 rdmsrl(msr, msr_area_elem->data); in vmx_add_msr()