From: Takuya Yoshikawa <yoshikawa.takuya@xxxxxxxxxxxxx> This will be used later. Signed-off-by: Takuya Yoshikawa <yoshikawa.takuya@xxxxxxxxxxxxx> --- include/linux/kvm_host.h | 5 +++++ virt/kvm/kvm_main.c | 6 ++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index 0bc3d37..9101698 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h @@ -612,6 +612,11 @@ static inline unsigned long gfn_to_hva_memslot(struct kvm_memory_slot *slot, return slot->userspace_addr + (gfn - slot->base_gfn) * PAGE_SIZE; } +static inline bool gfn_in_memslot(struct kvm_memory_slot *slot, gfn_t gfn) +{ + return (gfn >= slot->base_gfn) && (gfn < slot->base_gfn + slot->npages); +} + static inline gpa_t gfn_to_gpa(gfn_t gfn) { return (gpa_t)gfn << PAGE_SHIFT; diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 5814645..6df199d 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -940,8 +940,7 @@ static struct kvm_memory_slot *__gfn_to_memslot(struct kvm_memslots *slots, for (i = 0; i < slots->nmemslots; ++i) { struct kvm_memory_slot *memslot = &slots->memslots[i]; - if (gfn >= memslot->base_gfn - && gfn < memslot->base_gfn + memslot->npages) + if (gfn_in_memslot(memslot, gfn)) return memslot; } return NULL; @@ -964,8 +963,7 @@ int kvm_is_visible_gfn(struct kvm *kvm, gfn_t gfn) if (memslot->flags & KVM_MEMSLOT_INVALID) continue; - if (gfn >= memslot->base_gfn - && gfn < memslot->base_gfn + memslot->npages) + if (gfn_in_memslot(memslot, gfn)) return 1; } return 0; -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html