KVM: Move gfn_to_memslot() to kvm_host.h
authorPaul Mackerras <paulus@samba.org>
Thu, 12 Jan 2012 20:09:51 +0000 (20:09 +0000)
committerAvi Kivity <avi@redhat.com>
Mon, 5 Mar 2012 12:57:22 +0000 (14:57 +0200)
commit9d4cba7f93c52d4121ab9c6f289e582d368a6979
tree482c7d42dcf6921cf82cd54c51c5d0f07b64b748
parent1a18a69b762374c423305772500f36eb8984ca52
KVM: Move gfn_to_memslot() to kvm_host.h

This moves __gfn_to_memslot() and search_memslots() from kvm_main.c to
kvm_host.h to reduce the code duplication caused by the need for
non-modular code in arch/powerpc/kvm/book3s_hv_rm_mmu.c to call
gfn_to_memslot() in real mode.

Rather than putting gfn_to_memslot() itself in a header, which would
lead to increased code size, this puts __gfn_to_memslot() in a header.
Then, the non-modular uses of gfn_to_memslot() are changed to call
__gfn_to_memslot() instead.  This way there is only one place in the
source code that needs to be changed should the gfn_to_memslot()
implementation need to be modified.

On powerpc, the Book3S HV style of KVM has code that is called from
real mode which needs to call gfn_to_memslot() and thus needs this.
(Module code is allocated in the vmalloc region, which can't be
accessed in real mode.)

With this, we can remove builtin_gfn_to_memslot() from book3s_hv_rm_mmu.c.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Acked-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/powerpc/kvm/book3s_hv_rm_mmu.c
include/linux/kvm_host.h
virt/kvm/kvm_main.c