aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-arm/config.h
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2013-04-24 11:54:01 +0100
committerIan Campbell <ian.campbell@citrix.com>2013-04-24 16:55:16 +0100
commit85ef8aebdecad8e5d211bb012595d5a89b172585 (patch)
treec3219234454c0c2ac5537927412c92dad3218025 /xen/include/asm-arm/config.h
parent865aa5dbe739a36af7b543fbe332cb94fc57343b (diff)
downloadxen-85ef8aebdecad8e5d211bb012595d5a89b172585.tar.gz
xen-85ef8aebdecad8e5d211bb012595d5a89b172585.tar.bz2
xen-85ef8aebdecad8e5d211bb012595d5a89b172585.zip
arm: allocate per-PCPU domheap pagetable pages
the domheap mappings are supposed to be per-PCPU. Therefore xen_pgtable becomes a per-PCPU variable and we allocate and setup the page tables for each secondary PCPU just before we tell it to come up. Each secondary PCPU starts out on the boot page table but switches to its own page tables ASAP. The boot PCPU uses the boot pagetables as its own. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: TIm Deegan <tim@xen.org>
Diffstat (limited to 'xen/include/asm-arm/config.h')
-rw-r--r--xen/include/asm-arm/config.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/xen/include/asm-arm/config.h b/xen/include/asm-arm/config.h
index 8be85634ed..e49aac132e 100644
--- a/xen/include/asm-arm/config.h
+++ b/xen/include/asm-arm/config.h
@@ -98,12 +98,16 @@
#define EARLY_VMAP_VIRT_START mk_unsigned_long(0x10000000)
#define XENHEAP_VIRT_START mk_unsigned_long(0x40000000)
#define DOMHEAP_VIRT_START mk_unsigned_long(0x80000000)
+#define DOMHEAP_VIRT_END mk_unsigned_long(0xffffffff)
#define EARLY_VMAP_VIRT_END XENHEAP_VIRT_START
#define HYPERVISOR_VIRT_START XEN_VIRT_START
#define DOMHEAP_ENTRIES 1024 /* 1024 2MB mapping slots */
+/* Number of domheap pagetable pages required at the second level (2MB mappings) */
+#define DOMHEAP_SECOND_PAGES ((DOMHEAP_VIRT_END - DOMHEAP_VIRT_START + 1) >> FIRST_SHIFT)
+
/* Fixmap slots */
#define FIXMAP_CONSOLE 0 /* The primary UART */
#define FIXMAP_PT 1 /* Temporary mappings of pagetable pages */