diff options
author | Zhang Xiantao <xiantao.zhang@intel.com> | 2007-11-21 22:20:33 -0500 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-01-30 10:53:14 -0500 |
commit | e9f85cde99fa011db256f6683ba81d155e0d3f57 (patch) | |
tree | 778409f784f030687166c660c2dd9425d032ec1f | |
parent | 83ff3b9d4a0ade8f8eb9757fd4b36c501ba161e4 (diff) |
KVM: Portability: Move unalias_gfn to arch dependent file
Non-x86 archs don't need this mechanism. Move it to arch, and
keep its interface in common.
Signed-off-by: Zhang Xiantao <xiantao.zhang@intel.com>
Acked-by: Carsten Otte <cotte@de.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
-rw-r--r-- | drivers/kvm/kvm_main.c | 14 | ||||
-rw-r--r-- | drivers/kvm/x86.c | 14 |
2 files changed, 14 insertions, 14 deletions
diff --git a/drivers/kvm/kvm_main.c b/drivers/kvm/kvm_main.c index 0efd759e585f..721e660023f6 100644 --- a/drivers/kvm/kvm_main.c +++ b/drivers/kvm/kvm_main.c | |||
@@ -408,20 +408,6 @@ int kvm_is_error_hva(unsigned long addr) | |||
408 | } | 408 | } |
409 | EXPORT_SYMBOL_GPL(kvm_is_error_hva); | 409 | EXPORT_SYMBOL_GPL(kvm_is_error_hva); |
410 | 410 | ||
411 | gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn) | ||
412 | { | ||
413 | int i; | ||
414 | struct kvm_mem_alias *alias; | ||
415 | |||
416 | for (i = 0; i < kvm->naliases; ++i) { | ||
417 | alias = &kvm->aliases[i]; | ||
418 | if (gfn >= alias->base_gfn | ||
419 | && gfn < alias->base_gfn + alias->npages) | ||
420 | return alias->target_gfn + gfn - alias->base_gfn; | ||
421 | } | ||
422 | return gfn; | ||
423 | } | ||
424 | |||
425 | static struct kvm_memory_slot *__gfn_to_memslot(struct kvm *kvm, gfn_t gfn) | 411 | static struct kvm_memory_slot *__gfn_to_memslot(struct kvm *kvm, gfn_t gfn) |
426 | { | 412 | { |
427 | int i; | 413 | int i; |
diff --git a/drivers/kvm/x86.c b/drivers/kvm/x86.c index 7237cb25f77d..2be59364a49d 100644 --- a/drivers/kvm/x86.c +++ b/drivers/kvm/x86.c | |||
@@ -1119,6 +1119,20 @@ static int kvm_vm_ioctl_get_nr_mmu_pages(struct kvm *kvm) | |||
1119 | return kvm->n_alloc_mmu_pages; | 1119 | return kvm->n_alloc_mmu_pages; |
1120 | } | 1120 | } |
1121 | 1121 | ||
1122 | gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn) | ||
1123 | { | ||
1124 | int i; | ||
1125 | struct kvm_mem_alias *alias; | ||
1126 | |||
1127 | for (i = 0; i < kvm->naliases; ++i) { | ||
1128 | alias = &kvm->aliases[i]; | ||
1129 | if (gfn >= alias->base_gfn | ||
1130 | && gfn < alias->base_gfn + alias->npages) | ||
1131 | return alias->target_gfn + gfn - alias->base_gfn; | ||
1132 | } | ||
1133 | return gfn; | ||
1134 | } | ||
1135 | |||
1122 | /* | 1136 | /* |
1123 | * Set a new alias region. Aliases map a portion of physical memory into | 1137 | * Set a new alias region. Aliases map a portion of physical memory into |
1124 | * another portion. This is useful for memory windows, for example the PC | 1138 | * another portion. This is useful for memory windows, for example the PC |