linux/arch/x86/xen
Ian Campbell 375b2a9ada xen: correctly rebuild mfn list list after migration.
Otherwise the second migration attempt fails because the mfn_list_list
still refers to all the old mfns.

We need to update the entires in both p2m_top_mfn and the mid_mfn
pages which p2m_top_mfn refers to.

In order to do this we need to keep track of the virtual addresses
mapping the p2m_mid_mfn pages since we cannot rely on
mfn_to_virt(p2m_top_mfn[idx]) since p2m_top_mfn[idx] will still
contain the old MFN after a migration, which may now belong to another
domain and hence have a different mapping in the m2p.

Therefore add and maintain a third top level page, p2m_top_mfn_p[],
which tracks the virtual addresses of the mfns contained in
p2m_top_mfn[].

We also need to update the content of the p2m_mid_missing_mfn page on
resume to refer to the page's new mfn.

p2m_missing does not need updating since the migration process takes
care of the leaf p2m pages for us.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
2010-10-22 12:57:36 -07: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
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 xen: add debugfs support 2008-08-21 13:52:58 +02:00
enlighten.c xen: add support for PAT 2010-10-22 12:57:31 -07:00
grant-table.c xen: make grant table arch portable 2008-04-24 23:57:32 +02:00
irq.c x86: Move irq_init to x86_init_ops 2009-08-31 09:35:45 +02:00
mmu.c xen: correctly rebuild mfn list list after migration. 2010-10-22 12:57:36 -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 Merge commit 'v2.6.29-rc4' into core/percpu 2009-02-09 14:58:11 +01:00
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: don't add extra_pages for RAM after mem_end 2010-10-22 12:57:32 -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.S x86: style cleanups for xen assemblies 2009-02-05 20:25:41 +01:00
xen-asm.h xen: make direct versions of irq_enable/disable/save/restore to common code 2009-02-04 16:59:04 -08:00
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 xen: add support for PAT 2010-10-22 12:57:31 -07:00