android_kernel_xiaomi_sm8350/arch/x86/xen
Ian Campbell fa24ba62ea xen: correctly restore pfn_to_mfn_list_list after resume
pvops kernels >= 2.6.30 can currently only be saved and restored once. The
second attempt to save results in:

    ERROR Internal error: Frame# in pfn-to-mfn frame list is not in pseudophys
    ERROR Internal error: entry 0: p2m_frame_list[0] is 0xf2c2c2c2, max 0x120000
    ERROR Internal error: Failed to map/save the p2m frame list

I finally narrowed it down to:

    commit cdaead6b4e
        Author: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
        Date:   Fri Feb 27 15:34:59 2009 -0800

            xen: split construction of p2m mfn tables from registration

            Build the p2m_mfn_list_list early with the rest of the p2m table, but
            register it later when the real shared_info structure is in place.

            Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>

The unforeseen side-effect of this change was to cause the mfn list list to not
be rebuilt on resume. Prior to this change it would have been rebuilt via
xen_post_suspend() -> xen_setup_shared_info() -> xen_setup_mfn_list_list().

Fix by explicitly calling xen_build_mfn_list_list() from xen_post_suspend().

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Cc: Stable Kernel <stable@kernel.org>
2009-12-03 11:14:51 -08:00
..
debugfs.c const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
debugfs.h
enlighten.c xen: restore runstate_info even if !have_vcpu_info_placement 2009-12-03 11:14:51 -08:00
grant-table.c
irq.c x86: Move irq_init to x86_init_ops 2009-08-31 09:35:45 +02:00
Kconfig x86: remove the Voyager 32-bit subarch 2009-02-23 00:54:01 +01:00
Makefile xen: make -fstack-protector work under Xen 2009-09-09 16:37:39 -07:00
mmu.c xen: correctly restore pfn_to_mfn_list_list after resume 2009-12-03 11:14:51 -08:00
mmu.h x86: Move paravirt pagetable_setup to x86_init_ops 2009-08-31 09:35:45 +02:00
multicalls.c
multicalls.h
setup.c xen: reserve Xen start_info rather than e820 reserving 2009-05-08 10:51:03 +02:00
smp.c xen: make -fstack-protector work under Xen 2009-09-09 16:37:39 -07:00
spinlock.c xen: use stronger barrier after unlocking lock 2009-09-09 16:38:44 -07:00
suspend.c xen: correctly restore pfn_to_mfn_list_list after resume 2009-12-03 11:14:51 -08:00
time.c xen: re-register runstate area earlier on resume. 2009-12-03 11:14:50 -08:00
vdso.h
xen-asm_32.S
xen-asm_64.S
xen-asm.h
xen-asm.S
xen-head.S
xen-ops.h xen: correctly restore pfn_to_mfn_list_list after resume 2009-12-03 11:14:51 -08:00