diff options
author | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-05-19 12:36:18 +0000 |
---|---|---|
committer | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-05-19 12:36:18 +0000 |
commit | c17b1a485fa7ed44d5f6e519d567f52ae7fc5200 (patch) | |
tree | a107b10263115bb7e8144044cbf147bc29c07cb7 /xen/arch/x86/boot/x86_64.S | |
parent | 418babe999dbd4c5091efdb987fd5b1c47c8177a (diff) | |
download | xen-c17b1a485fa7ed44d5f6e519d567f52ae7fc5200.tar.gz xen-c17b1a485fa7ed44d5f6e519d567f52ae7fc5200.tar.bz2 xen-c17b1a485fa7ed44d5f6e519d567f52ae7fc5200.zip |
bitkeeper revision 1.1462 (428c884242SexXIVbHWO-OkTk2Q95w)
Clean up, fix, and rationalise RAM mapping in Xen.
First, x86/64 must take care to map only registered RAM areas and not
adjacent I/O holes -- otherwise a cpu may cache I/O space and cause
coherency conflicts on the memory bus.
Second, map_pages() and the memguard mechanisms are no longer sub-arch
specific (moved to arch/x86/mm.c:map_pages_to_xen()).
Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/arch/x86/boot/x86_64.S')
-rw-r--r-- | xen/arch/x86/boot/x86_64.S | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S index 5ebb24d647..4be1c0684e 100644 --- a/xen/arch/x86/boot/x86_64.S +++ b/xen/arch/x86/boot/x86_64.S @@ -230,7 +230,7 @@ ENTRY(gdt_table) .quad 0x0000000000000000 /* unused */ .fill 4*NR_CPUS,8,0 /* space for TSS and LDT per CPU */ -/* Initial PML4 -- level-4 page table */ +/* Initial PML4 -- level-4 page table. */ .org 0x2000 ENTRY(idle_pg_table) ENTRY(idle_pg_table_4) @@ -238,15 +238,15 @@ ENTRY(idle_pg_table_4) .fill 261,8,0 .quad idle_pg_table_l3 - __PAGE_OFFSET + 7 # PML4[262] -/* Initial PDP -- level-3 page table */ +/* Initial PDP -- level-3 page table. */ .org 0x3000 ENTRY(idle_pg_table_l3) .quad idle_pg_table_l2 - __PAGE_OFFSET + 7 -/* Initial PDE -- level-2 page table. */ +/* Initial PDE -- level-2 page table. Maps first 64MB physical memory. */ .org 0x4000 ENTRY(idle_pg_table_l2) - .macro identmap from=0, count=512 + .macro identmap from=0, count=32 .if \count-1 identmap "(\from+0)","(\count/2)" identmap "(\from+(0x200000*(\count/2)))","(\count/2)" |