aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/mm.h
diff options
context:
space:
mode:
authorTim Deegan <Tim.Deegan@citrix.com>2010-09-01 11:23:47 +0100
committerTim Deegan <Tim.Deegan@citrix.com>2010-09-01 11:23:47 +0100
commitc385d270797442a05bdbcd4791834f042df7c137 (patch)
tree060011b40bdb60f94f8598eeec0570ae2b02a113 /xen/include/asm-x86/mm.h
parentf7d0b9960f3a159e5bd88309002cde7c8410e25b (diff)
downloadxen-c385d270797442a05bdbcd4791834f042df7c137.tar.gz
xen-c385d270797442a05bdbcd4791834f042df7c137.tar.bz2
xen-c385d270797442a05bdbcd4791834f042df7c137.zip
x86 shadow: for multi-page shadows, explicitly track the first page
(where the refcounts are) and check that none of the routines that do refcounting ever see the second, third or fourth page. This is just stating and enforcing an existing implicit requirement. Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Diffstat (limited to 'xen/include/asm-x86/mm.h')
-rw-r--r--xen/include/asm-x86/mm.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h
index 2005b7be95..a729475a2e 100644
--- a/xen/include/asm-x86/mm.h
+++ b/xen/include/asm-x86/mm.h
@@ -63,7 +63,8 @@ struct page_info
struct {
unsigned long type:5; /* What kind of shadow is this? */
unsigned long pinned:1; /* Is the shadow pinned? */
- unsigned long count:26; /* Reference count */
+ unsigned long head:1; /* Is this the first page of the shadow? */
+ unsigned long count:25; /* Reference count */
} sh;
/* Page is on a free list: ((count_info & PGC_count_mask) == 0). */