On 03/06/2011 08:28 PM, Avi Kivity wrote:
>> static int mapping_level(struct kvm_vcpu *vcpu, gfn_t large_gfn)
>> @@ -2155,9 +2166,8 @@ pte_prefetch_gfn_to_memslot(struct kvm_vcpu *vcpu,
>> gfn_t gfn, bool no_dirty_log)
>> {
>> struct kvm_memory_slot *slot;
>>
>> - slot = gfn_to_memslot(vcpu->kvm, gfn);
>> - if (!slot || slot->flags& KVM_MEMSLOT_INVALID ||
>> - (no_dirty_log&& slot->dirty_bitmap))
>> + slot = gfn_to_memslot_dirty_bitmap(vcpu, gfn, no_dirty_log);
>> + if (slot&& slot->flags& KVM_MEMSLOT_INVALID)
>> slot = NULL;
>>
>> return slot;
>
> For a unification this adds a lot of code... I think the result is more
> complicated than the starting point.
>
After more thinking, i think we can move 'slot->flags& KVM_MEMSLOT_INVALID'
into the common function, since the later gva_to_pfn also can filter this out.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html