[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] On suspend, canonicalize store and console mfns in the guest.
# HG changeset patch # User cl349@xxxxxxxxxxxxxxxxxxxx # Node ID ff14bb5600c9c7b23b4aff1b277fc731f6c4a622 # Parent 1f460d0fd6c672a573b825a28200715011ba982d On suspend, canonicalize store and console mfns in the guest. Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx> diff -r 1f460d0fd6c6 -r ff14bb5600c9 linux-2.6-xen-sparse/arch/xen/kernel/reboot.c --- a/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c Mon Sep 5 14:54:05 2005 +++ b/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c Mon Sep 5 15:32:14 2005 @@ -177,6 +177,9 @@ HYPERVISOR_shared_info = (shared_info_t *)empty_zero_page; clear_fixmap(FIX_SHARED_INFO); + xen_start_info.store_mfn = mfn_to_pfn(xen_start_info.store_mfn); + xen_start_info.console_mfn = mfn_to_pfn(xen_start_info.console_mfn); + /* We'll stop somewhere inside this hypercall. When it returns, we'll start resuming after the restore. */ HYPERVISOR_suspend(virt_to_mfn(xen_start_info)); diff -r 1f460d0fd6c6 -r ff14bb5600c9 tools/libxc/xc_linux_save.c --- a/tools/libxc/xc_linux_save.c Mon Sep 5 14:54:05 2005 +++ b/tools/libxc/xc_linux_save.c Mon Sep 5 15:32:14 2005 @@ -434,9 +434,6 @@ /* base of the region in which domain memory is mapped */ unsigned char *region_base = NULL; - /* A temporary mapping of the guest's start_info page. */ - start_info_t *start_info = NULL; - /* number of pages we're dealing with */ unsigned long nr_pfns; @@ -667,28 +664,6 @@ if (write(io_fd, pfn_to_mfn_frame_list, PAGE_SIZE) != PAGE_SIZE) { ERR("write: pfn_to_mfn_frame_list"); goto out; - } - - /* Map the suspend-record MFN to pin it. The page must be owned by - dom for this to succeed. */ - start_info = xc_map_foreign_range(xc_handle, dom, PAGE_SIZE, - PROT_READ | PROT_WRITE, - ctxt.user_regs.esi); - if (!start_info){ - ERR("Couldn't map start_info page"); - goto out; - } - - /* Canonicalize store mfn. */ - if ( !translate_mfn_to_pfn(&start_info->store_mfn) ) { - ERR("Store frame is not in range of pseudophys map"); - goto out; - } - - /* Canonicalize console mfn. */ - if ( !translate_mfn_to_pfn(&start_info->console_mfn) ) { - ERR("Console frame is not in range of pseudophys map"); - goto out; } print_stats( xc_handle, dom, 0, &stats, 0 ); @@ -1062,9 +1037,6 @@ if(live_shinfo) munmap(live_shinfo, PAGE_SIZE); - if(start_info) - munmap(start_info, PAGE_SIZE); - if(live_pfn_to_mfn_frame_list) munmap(live_pfn_to_mfn_frame_list, PAGE_SIZE); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |