summaryrefslogtreecommitdiff
path: root/include/linux/kvm_host.h
diff options
context:
space:
mode:
authorXiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>2012-08-03 15:39:59 +0800
committerAvi Kivity <avi@redhat.com>2012-08-06 16:04:53 +0300
commit83f09228d068911ac8797ae8d6febef886698936 (patch)
treec4bfc135604c56f91594c44d56dcf03632d0a3e5 /include/linux/kvm_host.h
parent950e95097b1c6573ef5e21061ccb56964278c45b (diff)
downloadlwn-83f09228d068911ac8797ae8d6febef886698936.tar.gz
lwn-83f09228d068911ac8797ae8d6febef886698936.zip
KVM: inline is_*_pfn functions
These functions are exported and can not inline, move them to kvm_host.h to eliminate the overload of function call Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'include/linux/kvm_host.h')
-rw-r--r--include/linux/kvm_host.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index b2cf3109822e..19d91ceaf5e6 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -21,6 +21,7 @@
#include <linux/slab.h>
#include <linux/rcupdate.h>
#include <linux/ratelimit.h>
+#include <linux/err.h>
#include <asm/signal.h>
#include <linux/kvm.h>
@@ -52,6 +53,21 @@
#define KVM_PFN_ERR_HWPOISON (-EHWPOISON)
#define KVM_PFN_ERR_BAD (-ENOENT)
+static inline int is_error_pfn(pfn_t pfn)
+{
+ return IS_ERR_VALUE(pfn);
+}
+
+static inline int is_noslot_pfn(pfn_t pfn)
+{
+ return pfn == -ENOENT;
+}
+
+static inline int is_invalid_pfn(pfn_t pfn)
+{
+ return !is_noslot_pfn(pfn) && is_error_pfn(pfn);
+}
+
/*
* vcpu->requests bit members
*/
@@ -396,9 +412,6 @@ id_to_memslot(struct kvm_memslots *slots, int id)
extern struct page *bad_page;
int is_error_page(struct page *page);
-int is_error_pfn(pfn_t pfn);
-int is_noslot_pfn(pfn_t pfn);
-int is_invalid_pfn(pfn_t pfn);
int kvm_is_error_hva(unsigned long addr);
int kvm_set_memory_region(struct kvm *kvm,
struct kvm_userspace_memory_region *mem,