Lines Matching refs:msr_bitmap

826     struct vmx_msr_bitmap *msr_bitmap = v->arch.hvm_vmx.msr_bitmap;  in vmx_clear_msr_intercept()  local
830 if ( msr_bitmap == NULL ) 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()
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()
858 struct vmx_msr_bitmap *msr_bitmap = v->arch.hvm_vmx.msr_bitmap; in vmx_set_msr_intercept() local
861 if ( msr_bitmap == NULL ) 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()
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()
883 bool vmx_msr_is_intercepted(struct vmx_msr_bitmap *msr_bitmap, in vmx_msr_is_intercepted() argument
887 return test_bit(msr, is_write ? msr_bitmap->write_low in vmx_msr_is_intercepted()
888 : msr_bitmap->read_low); in vmx_msr_is_intercepted()
890 return test_bit(msr & 0x1fff, is_write ? msr_bitmap->write_high in vmx_msr_is_intercepted()
891 : msr_bitmap->read_high); in vmx_msr_is_intercepted()
1085 struct vmx_msr_bitmap *msr_bitmap = alloc_xenheap_page(); in construct_vmcs() local
1087 if ( msr_bitmap == NULL ) in construct_vmcs()
1093 memset(msr_bitmap, ~0, PAGE_SIZE); in construct_vmcs()
1094 v->arch.hvm_vmx.msr_bitmap = msr_bitmap; in construct_vmcs()
1095 __vmwrite(MSR_BITMAP, virt_to_maddr(msr_bitmap)); in construct_vmcs()
1660 free_xenheap_page(v->arch.hvm_vmx.msr_bitmap); in vmx_destroy_vmcs()