Lines Matching refs:mtrr_state
106 static bool mtrr_is_enabled(struct kvm_mtrr *mtrr_state) in mtrr_is_enabled() argument
108 return !!(mtrr_state->deftype & IA32_MTRR_DEF_TYPE_E); in mtrr_is_enabled()
111 static bool fixed_mtrr_is_enabled(struct kvm_mtrr *mtrr_state) in fixed_mtrr_is_enabled() argument
113 return !!(mtrr_state->deftype & IA32_MTRR_DEF_TYPE_FE); in fixed_mtrr_is_enabled()
116 static u8 mtrr_default_type(struct kvm_mtrr *mtrr_state) in mtrr_default_type() argument
118 return mtrr_state->deftype & IA32_MTRR_DEF_TYPE_TYPE_MASK; in mtrr_default_type()
318 struct kvm_mtrr *mtrr_state = &vcpu->arch.mtrr_state; in update_mtrr() local
326 if (!mtrr_is_enabled(mtrr_state) && msr != MSR_MTRRdefType) in update_mtrr()
331 if (!fixed_mtrr_is_enabled(mtrr_state)) in update_mtrr()
339 var_mtrr_range(&mtrr_state->var_ranges[index], &start, &end); in update_mtrr()
352 struct kvm_mtrr *mtrr_state = &vcpu->arch.mtrr_state; in set_var_mtrr_msr() local
358 cur = &mtrr_state->var_ranges[index]; in set_var_mtrr_msr()
362 list_del(&mtrr_state->var_ranges[index].node); in set_var_mtrr_msr()
375 list_for_each_entry(tmp, &mtrr_state->head, node) in set_var_mtrr_msr()
391 *(u64 *)&vcpu->arch.mtrr_state.fixed_ranges[index] = data; in kvm_mtrr_set_msr()
393 vcpu->arch.mtrr_state.deftype = data; in kvm_mtrr_set_msr()
424 *pdata = *(u64 *)&vcpu->arch.mtrr_state.fixed_ranges[index]; in kvm_mtrr_get_msr()
426 *pdata = vcpu->arch.mtrr_state.deftype; in kvm_mtrr_get_msr()
435 *pdata = vcpu->arch.mtrr_state.var_ranges[index].base; in kvm_mtrr_get_msr()
437 *pdata = vcpu->arch.mtrr_state.var_ranges[index].mask; in kvm_mtrr_get_msr()
447 INIT_LIST_HEAD(&vcpu->arch.mtrr_state.head); in kvm_vcpu_mtrr_init()
452 struct kvm_mtrr *mtrr_state; member
486 if (!fixed_mtrr_is_enabled(iter->mtrr_state)) in mtrr_lookup_fixed_start()
526 struct kvm_mtrr *mtrr_state = iter->mtrr_state; in __mtrr_lookup_var_next() local
528 list_for_each_entry_continue(iter->range, &mtrr_state->head, node) in __mtrr_lookup_var_next()
538 struct kvm_mtrr *mtrr_state = iter->mtrr_state; in mtrr_lookup_var_start() local
542 iter->range = list_prepare_entry(iter->range, &mtrr_state->head, node); in mtrr_lookup_var_start()
559 if (iter->index >= ARRAY_SIZE(iter->mtrr_state->fixed_ranges)) in mtrr_lookup_fixed_next()
574 if (!mtrr_is_enabled(iter->mtrr_state)) { in mtrr_lookup_start()
584 struct kvm_mtrr *mtrr_state, u64 start, u64 end) in mtrr_lookup_init() argument
586 iter->mtrr_state = mtrr_state; in mtrr_lookup_init()
600 iter->mem_type = iter->mtrr_state->fixed_ranges[iter->index]; in mtrr_lookup_okay()
626 struct kvm_mtrr *mtrr_state = &vcpu->arch.mtrr_state; in kvm_mtrr_get_guest_memory_type() local
636 mtrr_for_each_mem_type(&iter, mtrr_state, start, end) { in kvm_mtrr_get_guest_memory_type()
688 return mtrr_default_type(mtrr_state); in kvm_mtrr_get_guest_memory_type()
703 struct kvm_mtrr *mtrr_state = &vcpu->arch.mtrr_state; in kvm_mtrr_check_gfn_range_consistency() local
710 mtrr_for_each_mem_type(&iter, mtrr_state, start, end) { in kvm_mtrr_check_gfn_range_consistency()
729 return type == mtrr_default_type(mtrr_state); in kvm_mtrr_check_gfn_range_consistency()