aboutsummaryrefslogtreecommitdiffstats
path: root/virt/kvm
diff options
context:
space:
mode:
authorXiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>2012-08-03 03:37:54 -0400
committerAvi Kivity <avi@redhat.com>2012-08-06 09:04:50 -0400
commit6c8ee57be9350c5c2cafdd6a99d0462d528676e2 (patch)
treeb2ce398a6613895bc94b975ab00f787baf830b2d /virt/kvm
parent16b854c889673d988285719bc020543a730f9ac6 (diff)
KVM: introduce KVM_PFN_ERR_FAULT
After that, the exported and un-inline function, get_fault_pfn, can be removed Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'virt/kvm')
-rw-r--r--virt/kvm/kvm_main.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 14ec567816ab..ef0491645a10 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -939,12 +939,6 @@ static pfn_t get_bad_pfn(void)
939 return -ENOENT; 939 return -ENOENT;
940} 940}
941 941
942pfn_t get_fault_pfn(void)
943{
944 return -EFAULT;
945}
946EXPORT_SYMBOL_GPL(get_fault_pfn);
947
948static pfn_t get_hwpoison_pfn(void) 942static pfn_t get_hwpoison_pfn(void)
949{ 943{
950 return -EHWPOISON; 944 return -EHWPOISON;
@@ -1115,7 +1109,7 @@ static pfn_t hva_to_pfn(unsigned long addr, bool atomic, bool *async,
1115 struct vm_area_struct *vma; 1109 struct vm_area_struct *vma;
1116 1110
1117 if (atomic) 1111 if (atomic)
1118 return get_fault_pfn(); 1112 return KVM_PFN_ERR_FAULT;
1119 1113
1120 down_read(&current->mm->mmap_sem); 1114 down_read(&current->mm->mmap_sem);
1121 if (npages == -EHWPOISON || 1115 if (npages == -EHWPOISON ||
@@ -1127,7 +1121,7 @@ static pfn_t hva_to_pfn(unsigned long addr, bool atomic, bool *async,
1127 vma = find_vma_intersection(current->mm, addr, addr+1); 1121 vma = find_vma_intersection(current->mm, addr, addr+1);
1128 1122
1129 if (vma == NULL) 1123 if (vma == NULL)
1130 pfn = get_fault_pfn(); 1124 pfn = KVM_PFN_ERR_FAULT;
1131 else if ((vma->vm_flags & VM_PFNMAP)) { 1125 else if ((vma->vm_flags & VM_PFNMAP)) {
1132 pfn = ((addr - vma->vm_start) >> PAGE_SHIFT) + 1126 pfn = ((addr - vma->vm_start) >> PAGE_SHIFT) +
1133 vma->vm_pgoff; 1127 vma->vm_pgoff;
@@ -1135,7 +1129,7 @@ static pfn_t hva_to_pfn(unsigned long addr, bool atomic, bool *async,
1135 } else { 1129 } else {
1136 if (async && (vma->vm_flags & VM_WRITE)) 1130 if (async && (vma->vm_flags & VM_WRITE))
1137 *async = true; 1131 *async = true;
1138 pfn = get_fault_pfn(); 1132 pfn = KVM_PFN_ERR_FAULT;
1139 } 1133 }
1140 up_read(&current->mm->mmap_sem); 1134 up_read(&current->mm->mmap_sem);
1141 } else 1135 } else