diff options
author | Tim Deegan <Tim.Deegan@citrix.com> | 2010-09-01 11:23:47 +0100 |
---|---|---|
committer | Tim Deegan <Tim.Deegan@citrix.com> | 2010-09-01 11:23:47 +0100 |
commit | c385d270797442a05bdbcd4791834f042df7c137 (patch) | |
tree | 060011b40bdb60f94f8598eeec0570ae2b02a113 /xen/include/asm-x86/mm.h | |
parent | f7d0b9960f3a159e5bd88309002cde7c8410e25b (diff) | |
download | xen-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.h | 3 |
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). */ |