From: Zhang Xiantao <[EMAIL PROTECTED]>
Date: Tue, 20 Nov 2007 22:54:22 +0800
Subject: [PATCH] KVM Portability: Moving out kvm_mem_alias, and
unalias_gfn definitions from common code.
Signed-off-by: Zhang Xiantao <[EMAIL PROTECTED]>
---
 drivers/kvm/kvm.h      |    6 ------
 drivers/kvm/kvm_main.c |   15 ---------------
 drivers/kvm/x86.c      |   15 +++++++++++++++
 drivers/kvm/x86.h      |    6 ++++++
 4 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h
index 476150c..c7fdcd6 100644
--- a/drivers/kvm/kvm.h
+++ b/drivers/kvm/kvm.h
@@ -277,12 +277,6 @@ void kvm_io_bus_register_dev(struct kvm_io_bus
*bus,
        struct kvm_vcpu_stat stat;                      \
        KVM_VCPU_MMIO
 
-struct kvm_mem_alias {
-       gfn_t base_gfn;
-       unsigned long npages;
-       gfn_t target_gfn;
-};
-
 struct kvm_memory_slot {
        gfn_t base_gfn;
        unsigned long npages;
diff --git a/drivers/kvm/kvm_main.c b/drivers/kvm/kvm_main.c
index 2490e06..33a1354 100644
--- a/drivers/kvm/kvm_main.c
+++ b/drivers/kvm/kvm_main.c
@@ -400,21 +400,6 @@ int kvm_is_error_hva(unsigned long addr)
 }
 EXPORT_SYMBOL_GPL(kvm_is_error_hva);
 
-gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn)
-{
-       int i;
-       struct kvm_mem_alias *alias;
-       struct kvm_x86 *kvm_x86 = to_kvm_x86(kvm);
-
-       for (i = 0; i < kvm_x86->naliases; ++i) {
-               alias = &kvm_x86->aliases[i];
-               if (gfn >= alias->base_gfn
-                   && gfn < alias->base_gfn + alias->npages)
-                       return alias->target_gfn + gfn -
alias->base_gfn;
-       }
-       return gfn;
-}
-
 static struct kvm_memory_slot *__gfn_to_memslot(struct kvm *kvm, gfn_t
gfn)
 {
        int i;
diff --git a/drivers/kvm/x86.c b/drivers/kvm/x86.c
index 15b43f5..13db394 100644
--- a/drivers/kvm/x86.c
+++ b/drivers/kvm/x86.c
@@ -833,6 +833,21 @@ static int kvm_vm_ioctl_get_nr_mmu_pages(struct kvm
*kvm)
        return kvm->n_alloc_mmu_pages;
 }
 
+gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn)
+{
+       int i;
+       struct kvm_mem_alias *alias;
+       struct kvm_x86 *kvm_x86 = to_kvm_x86(kvm);
+
+       for (i = 0; i < kvm_x86->naliases; ++i) {
+               alias = &kvm_x86->aliases[i];
+               if (gfn >= alias->base_gfn
+                   && gfn < alias->base_gfn + alias->npages)
+                       return alias->target_gfn + gfn -
alias->base_gfn;
+       }
+       return gfn;
+}
+
 /*
  * Set a new alias region.  Aliases map a portion of physical memory
into
  * another portion.  This is useful for memory windows, for example the
PC
diff --git a/drivers/kvm/x86.h b/drivers/kvm/x86.h
index e5db023..f792bb9 100644
--- a/drivers/kvm/x86.h
+++ b/drivers/kvm/x86.h
@@ -156,6 +156,12 @@ struct kvm_vcpu {
        struct x86_emulate_ctxt emulate_ctxt;
 };
 
+struct kvm_mem_alias {
+       gfn_t base_gfn;
+       unsigned long npages;
+       gfn_t target_gfn;
+};
+
 struct kvm_x86 {
        struct kvm kvm;
        int naliases;
-- 
1.5.1.2

Attachment: 0003-KVM-Portability-Moving-out-kvm_mem_alias-and-unali.patch
Description: 0003-KVM-Portability-Moving-out-kvm_mem_alias-and-unali.patch

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to