aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2013-04-24 11:54:00 +0100
committerIan Campbell <ian.campbell@citrix.com>2013-04-24 16:55:16 +0100
commit865aa5dbe739a36af7b543fbe332cb94fc57343b (patch)
tree72adccaa7d094d5d3959ac3bdc6cfab4b3f238ea
parent683425823cf8c610127dffeaa7cd44bc700e1ff4 (diff)
downloadxen-865aa5dbe739a36af7b543fbe332cb94fc57343b.tar.gz
xen-865aa5dbe739a36af7b543fbe332cb94fc57343b.tar.bz2
xen-865aa5dbe739a36af7b543fbe332cb94fc57343b.zip
arm: add build time asserts for various virtual address aligment constraints
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Tim Deegan <tim@xen.org>
-rw-r--r--xen/arch/arm/mm.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 3cb852b457..656aa82b4b 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -74,6 +74,17 @@ unsigned long total_pages;
extern char __init_begin[], __init_end[];
+/* Checking VA memory layout alignment. */
+static inline void check_memory_layout_alignment_constraints(void) {
+ /* 2MB aligned regions */
+ BUILD_BUG_ON(XEN_VIRT_START & ~SECOND_MASK);
+ BUILD_BUG_ON(FIXMAP_ADDR(0) & ~SECOND_MASK);
+ BUILD_BUG_ON(BOOT_MISC_VIRT_START & ~SECOND_MASK);
+ /* 1GB aligned regions */
+ BUILD_BUG_ON(XENHEAP_VIRT_START & ~FIRST_MASK);
+ BUILD_BUG_ON(DOMHEAP_VIRT_START & ~FIRST_MASK);
+}
+
void dump_pt_walk(lpae_t *first, paddr_t addr)
{
lpae_t *second = NULL, *third = NULL;