aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-08-13 12:12:08 +0100
committerKeir Fraser <keir.fraser@citrix.com>2008-08-13 12:12:08 +0100
commitc954127bc64c613ba7a7feff17a1646677a6977d (patch)
tree3530e6062e4c6c63c8aed85a3d2b80eaf56388f5
parenta87b010c67fa312b5bfd7bd284580c21b0e1c9fd (diff)
downloadxen-c954127bc64c613ba7a7feff17a1646677a6977d.tar.gz
xen-c954127bc64c613ba7a7feff17a1646677a6977d.tar.bz2
xen-c954127bc64c613ba7a7feff17a1646677a6977d.zip
x86 shadow: Relax BUILD_BUG_ON() regarding struct sizes.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
-rw-r--r--xen/arch/x86/mm/shadow/private.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/xen/arch/x86/mm/shadow/private.h b/xen/arch/x86/mm/shadow/private.h
index 88b899f84e..b7b93c6f25 100644
--- a/xen/arch/x86/mm/shadow/private.h
+++ b/xen/arch/x86/mm/shadow/private.h
@@ -213,15 +213,14 @@ struct shadow_page_info
};
};
-/* The structure above *must* be the same size as a struct page_info
+/* The structure above *must* be no larger than a struct page_info
* from mm.h, since we'll be using the same space in the frametable.
* Also, the mbz field must line up with the owner field of normal
* pages, so they look properly like anonymous/xen pages. */
static inline void shadow_check_page_struct_offsets(void) {
- BUILD_BUG_ON(sizeof (struct shadow_page_info)
- != sizeof (struct page_info));
- BUILD_BUG_ON(offsetof(struct shadow_page_info, mbz)
- != offsetof(struct page_info, u.inuse._domain));
+ BUILD_BUG_ON(sizeof (struct shadow_page_info) < sizeof (struct page_info));
+ BUILD_BUG_ON(offsetof(struct shadow_page_info, mbz) !=
+ offsetof(struct page_info, u.inuse._domain));
};
/* Shadow type codes */