Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 329843
b: refs/heads/master
c: 9c5b117
h: refs/heads/master
i:
  329841: 247aa2d
  329839: 1b6c3f6
v: v3
  • Loading branch information
Xiao Guangrong authored and Avi Kivity committed Aug 6, 2012
1 parent b622f0a commit 7d7783c
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 32cad84f44d186654492f1a50a1424c8906ccbd9
refs/heads/master: 9c5b11728344e1085593f494ddc8838497e7ffde
24 changes: 15 additions & 9 deletions trunk/include/linux/kvm_host.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,28 +49,34 @@
#define KVM_MAX_MMIO_FRAGMENTS \
(KVM_MMIO_SIZE / KVM_USER_MMIO_SIZE + KVM_EXTRA_MMIO_FRAGMENTS)

#define KVM_PFN_ERR_FAULT (-EFAULT)
#define KVM_PFN_ERR_HWPOISON (-EHWPOISON)
#define KVM_PFN_ERR_BAD (-ENOENT)
/*
* For the normal pfn, the highest 12 bits should be zero,
* so we can mask these bits to indicate the error.
*/
#define KVM_PFN_ERR_MASK (0xfffULL << 52)

#define KVM_PFN_ERR_FAULT (KVM_PFN_ERR_MASK)
#define KVM_PFN_ERR_HWPOISON (KVM_PFN_ERR_MASK + 1)
#define KVM_PFN_ERR_BAD (KVM_PFN_ERR_MASK + 2)

static inline int is_error_pfn(pfn_t pfn)
static inline bool is_error_pfn(pfn_t pfn)
{
return IS_ERR_VALUE(pfn);
return !!(pfn & KVM_PFN_ERR_MASK);
}

static inline int is_noslot_pfn(pfn_t pfn)
static inline bool is_noslot_pfn(pfn_t pfn)
{
return pfn == -ENOENT;
return pfn == KVM_PFN_ERR_BAD;
}

static inline int is_invalid_pfn(pfn_t pfn)
static inline bool is_invalid_pfn(pfn_t pfn)
{
return !is_noslot_pfn(pfn) && is_error_pfn(pfn);
}

#define KVM_ERR_PTR_BAD_PAGE (ERR_PTR(-ENOENT))

static inline int is_error_page(struct page *page)
static inline bool is_error_page(struct page *page)
{
return IS_ERR(page);
}
Expand Down

0 comments on commit 7d7783c

Please sign in to comment.