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>
This commit is contained in:
Xiao Guangrong 2012-08-03 15:39:59 +08:00 committed by Avi Kivity
parent 950e95097b
commit 83f09228d0
2 changed files with 16 additions and 21 deletions

View File

@ -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,

View File

@ -928,24 +928,6 @@ int is_error_page(struct page *page)
}
EXPORT_SYMBOL_GPL(is_error_page);
int is_error_pfn(pfn_t pfn)
{
return IS_ERR_VALUE(pfn);
}
EXPORT_SYMBOL_GPL(is_error_pfn);
int is_noslot_pfn(pfn_t pfn)
{
return pfn == -ENOENT;
}
EXPORT_SYMBOL_GPL(is_noslot_pfn);
int is_invalid_pfn(pfn_t pfn)
{
return !is_noslot_pfn(pfn) && is_error_pfn(pfn);
}
EXPORT_SYMBOL_GPL(is_invalid_pfn);
struct page *get_bad_page(void)
{
return ERR_PTR(-ENOENT);