diff options
author | Takuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp> | 2012-07-02 17:54:30 +0900 |
---|---|---|
committer | Marcelo Tosatti <mtosatti@redhat.com> | 2012-07-18 16:55:04 -0300 |
commit | d19a748b1c42b133e9263e9023c1d162efa6f4ad (patch) | |
tree | ab8885d5e02b4a25adb9a8b72d16fc0620c9323c /include/linux/kvm_host.h | |
parent | 9594a4986192f99c01a7c0a1779b5ac0eff8e208 (diff) | |
download | linux-3.10-d19a748b1c42b133e9263e9023c1d162efa6f4ad.tar.gz linux-3.10-d19a748b1c42b133e9263e9023c1d162efa6f4ad.tar.bz2 linux-3.10-d19a748b1c42b133e9263e9023c1d162efa6f4ad.zip |
KVM: Introduce hva_to_gfn_memslot() for kvm_handle_hva()
This restricts hva handling in mmu code and makes it easier to extend
kvm_handle_hva() so that it can treat a range of addresses later in this
patch series.
Signed-off-by: Takuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>
Cc: Alexander Graf <agraf@suse.de>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'include/linux/kvm_host.h')
-rw-r--r-- | include/linux/kvm_host.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index e3c86f8c86c..6f6c18a03c5 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h @@ -740,6 +740,14 @@ static inline gfn_t gfn_to_index(gfn_t gfn, gfn_t base_gfn, int level) (base_gfn >> KVM_HPAGE_GFN_SHIFT(level)); } +static inline gfn_t +hva_to_gfn_memslot(unsigned long hva, struct kvm_memory_slot *slot) +{ + gfn_t gfn_offset = (hva - slot->userspace_addr) >> PAGE_SHIFT; + + return slot->base_gfn + gfn_offset; +} + static inline unsigned long gfn_to_hva_memslot(struct kvm_memory_slot *slot, gfn_t gfn) { |