aboutsummaryrefslogtreecommitdiffstats
path: root/virt
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2015-05-19 10:09:04 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2015-05-28 04:43:34 -0400
commite37afc6ee5a6af9b334e2f214ec795e8bfaaaba5 (patch)
tree06c46bed8ef09cdbaf0d6c3bd1c81f17e6aa2f2c /virt
parentd9ef13c2b3983de8dd1373ef670799dbb6498122 (diff)
KVM: remove __gfn_to_pfn
Most of the function that wrap it can be rewritten without it, except for gfn_to_pfn_prot. Just inline it into gfn_to_pfn_prot, and rewrite the other function on top of gfn_to_pfn_memslot*. Reviewed-by: Radim Krcmar <rkrcmar@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'virt')
-rw-r--r--virt/kvm/kvm_main.c39
1 files changed, 15 insertions, 24 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index c57f44216a4e..53e66ef8b75e 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -1387,33 +1387,11 @@ pfn_t __gfn_to_pfn_memslot(struct kvm_memory_slot *slot, gfn_t gfn, bool atomic,
1387} 1387}
1388EXPORT_SYMBOL_GPL(__gfn_to_pfn_memslot); 1388EXPORT_SYMBOL_GPL(__gfn_to_pfn_memslot);
1389 1389
1390static pfn_t __gfn_to_pfn(struct kvm *kvm, gfn_t gfn, bool atomic,
1391 bool write_fault, bool *writable)
1392{
1393 struct kvm_memory_slot *slot;
1394
1395 slot = gfn_to_memslot(kvm, gfn);
1396
1397 return __gfn_to_pfn_memslot(slot, gfn, atomic, NULL, write_fault,
1398 writable);
1399}
1400
1401pfn_t gfn_to_pfn_atomic(struct kvm *kvm, gfn_t gfn)
1402{
1403 return __gfn_to_pfn(kvm, gfn, true, true, NULL);
1404}
1405EXPORT_SYMBOL_GPL(gfn_to_pfn_atomic);
1406
1407pfn_t gfn_to_pfn(struct kvm *kvm, gfn_t gfn)
1408{
1409 return __gfn_to_pfn(kvm, gfn, false, true, NULL);
1410}
1411EXPORT_SYMBOL_GPL(gfn_to_pfn);
1412
1413pfn_t gfn_to_pfn_prot(struct kvm *kvm, gfn_t gfn, bool write_fault, 1390pfn_t gfn_to_pfn_prot(struct kvm *kvm, gfn_t gfn, bool write_fault,
1414 bool *writable) 1391 bool *writable)
1415{ 1392{
1416 return __gfn_to_pfn(kvm, gfn, false, write_fault, writable); 1393 return __gfn_to_pfn_memslot(gfn_to_memslot(kvm, gfn), gfn, false, NULL,
1394 write_fault, writable);
1417} 1395}
1418EXPORT_SYMBOL_GPL(gfn_to_pfn_prot); 1396EXPORT_SYMBOL_GPL(gfn_to_pfn_prot);
1419 1397
@@ -1421,6 +1399,7 @@ pfn_t gfn_to_pfn_memslot(struct kvm_memory_slot *slot, gfn_t gfn)
1421{ 1399{
1422 return __gfn_to_pfn_memslot(slot, gfn, false, NULL, true, NULL); 1400 return __gfn_to_pfn_memslot(slot, gfn, false, NULL, true, NULL);
1423} 1401}
1402EXPORT_SYMBOL_GPL(gfn_to_pfn_memslot);
1424 1403
1425pfn_t gfn_to_pfn_memslot_atomic(struct kvm_memory_slot *slot, gfn_t gfn) 1404pfn_t gfn_to_pfn_memslot_atomic(struct kvm_memory_slot *slot, gfn_t gfn)
1426{ 1405{
@@ -1428,6 +1407,18 @@ pfn_t gfn_to_pfn_memslot_atomic(struct kvm_memory_slot *slot, gfn_t gfn)
1428} 1407}
1429EXPORT_SYMBOL_GPL(gfn_to_pfn_memslot_atomic); 1408EXPORT_SYMBOL_GPL(gfn_to_pfn_memslot_atomic);
1430 1409
1410pfn_t gfn_to_pfn_atomic(struct kvm *kvm, gfn_t gfn)
1411{
1412 return gfn_to_pfn_memslot_atomic(gfn_to_memslot(kvm, gfn), gfn);
1413}
1414EXPORT_SYMBOL_GPL(gfn_to_pfn_atomic);
1415
1416pfn_t gfn_to_pfn(struct kvm *kvm, gfn_t gfn)
1417{
1418 return gfn_to_pfn_memslot(gfn_to_memslot(kvm, gfn), gfn);
1419}
1420EXPORT_SYMBOL_GPL(gfn_to_pfn);
1421
1431int gfn_to_page_many_atomic(struct kvm_memory_slot *slot, gfn_t gfn, 1422int gfn_to_page_many_atomic(struct kvm_memory_slot *slot, gfn_t gfn,
1432 struct page **pages, int nr_pages) 1423 struct page **pages, int nr_pages)
1433{ 1424{