aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/smp.h
diff options
context:
space:
mode:
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2005-05-31 15:39:28 +0000
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2005-05-31 15:39:28 +0000
commit88198ec1b0bd2094cbabd600baae1ebe3026e7ad (patch)
tree9791c2750f1f9561f652a8887c43e3ab95d16f2c /xen/include/asm-x86/smp.h
parent59f83bdc8f5ba87cb8bd1235f42bd27c1fff39c0 (diff)
downloadxen-88198ec1b0bd2094cbabd600baae1ebe3026e7ad.tar.gz
xen-88198ec1b0bd2094cbabd600baae1ebe3026e7ad.tar.bz2
xen-88198ec1b0bd2094cbabd600baae1ebe3026e7ad.zip
bitkeeper revision 1.1615.1.1 (429c8530L_ZtVuxsQcKwKB3yPuljog)
Subject: PAE support This patch adds initial support for PAE paging to xen. This patch does: * boot Xen itself with PAE paging enabled. * add PAE support to the dom0 domain builder. Some notes on the design and the changes: * There are two new config options: CONFIG_X86_PAE (boolean, same name Linux uses to simply things) and CONFIG_PAGING_LEVELS (int, possible values are 2,3,4). I've used #if CONFIG_PAGING_LEVELS for stuff which simply depends on the number of paging levels in the code common for x86-32/64, and CONFIG_X86_PAE for special PAE quirks or i386-only stuff. I've tried to avoid ifdefs if possible though, often I rearranged code to make it work in both PAE and non-PAE case instead. * idle_pg_table: 3rd level is statically initialized, 2nd level is contignous in physical and virtual memory, so it can be addressed linear (the dom0 builder uses the same trick to simplify things a bit btw.). There are two new symbols: idle_pg_table_l3 and idle_pg_table_l2 for the two tables. idle_pg_table is aliased to the toplevel page table, i.e. idle_pg_table_l3 in PAE mode and idle_pg_table_l2 in non-pae mode. The idle l3 table is actually never ever touched after boot, the l2 table is accessed via idle_pg_table_l2 and addressed linear in both PAE and non-PAE mode. * I've added a "intpte_t" type and a PRIpte define, modeled after the C99 inttypes.h header, for page table entries. Signed-off-by: Gerd Knorr <kraxel@bytesex.org>
Diffstat (limited to 'xen/include/asm-x86/smp.h')
-rw-r--r--xen/include/asm-x86/smp.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/xen/include/asm-x86/smp.h b/xen/include/asm-x86/smp.h
index 336cab889f..08995644e8 100644
--- a/xen/include/asm-x86/smp.h
+++ b/xen/include/asm-x86/smp.h
@@ -39,7 +39,12 @@ extern cpumask_t cpu_sibling_map[];
extern void smp_flush_tlb(void);
extern void smp_invalidate_rcv(void); /* Process an NMI */
extern void (*mtrr_hook) (void);
-extern void zap_low_mappings (void);
+
+#ifdef CONFIG_X86_64
+extern void zap_low_mappings(void);
+#else
+extern void zap_low_mappings(l2_pgentry_t *base);
+#endif
#define MAX_APICID 256
extern u8 x86_cpu_to_apicid[];