提交 e9f85cde 编写于 作者: Z Zhang Xiantao 提交者: Avi Kivity

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: NZhang Xiantao <xiantao.zhang@intel.com>
Acked-by: NCarsten Otte <cotte@de.ibm.com>
Signed-off-by: NAvi Kivity <avi@qumranet.com>
上级 83ff3b9d
...@@ -408,20 +408,6 @@ int kvm_is_error_hva(unsigned long addr) ...@@ -408,20 +408,6 @@ int kvm_is_error_hva(unsigned long addr)
} }
EXPORT_SYMBOL_GPL(kvm_is_error_hva); EXPORT_SYMBOL_GPL(kvm_is_error_hva);
gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn)
{
int i;
struct kvm_mem_alias *alias;
for (i = 0; i < kvm->naliases; ++i) {
alias = &kvm->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) static struct kvm_memory_slot *__gfn_to_memslot(struct kvm *kvm, gfn_t gfn)
{ {
int i; int i;
......
...@@ -1119,6 +1119,20 @@ static int kvm_vm_ioctl_get_nr_mmu_pages(struct kvm *kvm) ...@@ -1119,6 +1119,20 @@ static int kvm_vm_ioctl_get_nr_mmu_pages(struct kvm *kvm)
return kvm->n_alloc_mmu_pages; return kvm->n_alloc_mmu_pages;
} }
gfn_t unalias_gfn(struct kvm *kvm, gfn_t gfn)
{
int i;
struct kvm_mem_alias *alias;
for (i = 0; i < kvm->naliases; ++i) {
alias = &kvm->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 * 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 * another portion. This is useful for memory windows, for example the PC
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册