|
@@ -773,6 +773,12 @@ __gfn_to_memslot(struct kvm_memslots *slots, gfn_t gfn)
|
|
|
return search_memslots(slots, gfn);
|
|
|
}
|
|
|
|
|
|
+static inline unsigned long
|
|
|
+__gfn_to_hva_memslot(struct kvm_memory_slot *slot, gfn_t gfn)
|
|
|
+{
|
|
|
+ return slot->userspace_addr + (gfn - slot->base_gfn) * PAGE_SIZE;
|
|
|
+}
|
|
|
+
|
|
|
static inline int memslot_id(struct kvm *kvm, gfn_t gfn)
|
|
|
{
|
|
|
return gfn_to_memslot(kvm, gfn)->id;
|