kernel-fxtec-pro1x/arch/x86/xen
Jeremy Fitzhardinge 58e05027b5 xen: convert p2m to a 3 level tree
Make the p2m structure a 3 level tree which covers the full possible
physical space.

The p2m structure contains mappings from the domain's pfns to system-wide
mfns.  The structure has 3 levels and two roots.  The first root is for
the domain's own use, and is linked with virtual addresses.  The second
is all mfn references, and is used by Xen on save/restore to allow it to
update the p2m mapping for the domain.

At boot, the domain builder provides a simple flat p2m array for all the
initially present pages.  We construct the two levels above that using
the early_brk allocator.  After early boot time, set_phys_to_machine()
will allocate any missing levels using the normal kernel allocator
(at GFP_KERNEL, so it must be called in a normal blocking context).

Because the early_brk() API requires us to pre-reserve the maximum amount
of memory we could allocate, there is still a CONFIG_XEN_MAX_DOMAIN_MEMORY
config option, but its only negative side-effect is to increase the
kernel's apparent bss size.  However, since all unused brk memory is
returned to the heap, there's no real downside to making it large.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
2010-10-22 12:57:24 -07:00
..
debugfs.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
debugfs.h
enlighten.c xen: remove noise about registering vcpu info 2010-10-22 12:57:21 -07:00
grant-table.c
irq.c x86: Move irq_init to x86_init_ops 2009-08-31 09:35:45 +02:00
Kconfig xen: convert p2m to a 3 level tree 2010-10-22 12:57:24 -07:00
Makefile Merge branch 'stable/xen-swiotlb-0.8.6' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen 2010-08-12 09:09:41 -07:00
mmu.c xen: convert p2m to a 3 level tree 2010-10-22 12:57:24 -07:00
mmu.h xen: make install_p2mtop_page() static 2010-10-22 12:57:23 -07:00
multicalls.c x86, xen: do multicall callbacks with interrupts disabled 2009-02-16 08:56:41 +01:00
multicalls.h
pci-swiotlb-xen.c pci-swiotlb-xen: Add glue code to setup dma_ops utilizing xen_swiotlb_* 2010-07-27 11:51:02 -04:00
platform-pci-unplug.c xen: pvhvm: rename xen_emul_unplug=ignore to =unnnecessary 2010-08-23 11:59:29 +01:00
setup.c Xen: register panic notifier to take crashes of xen guests on panic 2010-08-04 14:47:31 -07:00
smp.c xen/panic: use xen_reboot and fix smp_send_stop 2010-08-04 14:47:31 -07:00
spinlock.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
suspend.c x86: Use xen_vcpuop_clockevent, xen_clocksource and xen wallclock. 2010-07-26 23:13:25 -07:00
time.c xen: do not initialize PV timers on HVM if !xen_have_vector_callback 2010-10-05 13:39:23 +01:00
vdso.h
xen-asm.h
xen-asm.S
xen-asm_32.S percpu: remove per_cpu__ prefix. 2009-10-29 22:34:15 +09:00
xen-asm_64.S xen: use iret for return from 64b kernel to 32b usermode 2009-12-03 11:14:54 -08:00
xen-head.S x86: use _types.h headers in asm where available 2009-02-13 11:35:01 -08:00
xen-ops.h Merge branch 'upstream/pvhvm' into upstream/xen 2010-08-04 14:49:16 -07:00