[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH RFC v1 58/74] xen/pvshim: add migration support
On Tue, Jan 09, 2018 at 02:38:21AM -0700, Jan Beulich wrote: > >>> On 04.01.18 at 14:06, <wei.liu2@xxxxxxxxxx> wrote: > > + struct domain *d = current->domain; > > + struct vcpu *v; > > + unsigned int i; > > + uint64_t old_store_pfn, old_console_pfn = 0, store_pfn, > > console_pfn; > > + uint64_t store_evtchn, console_evtchn; > > + > > + BUG_ON(current->vcpu_id != 0); > > + > > + BUG_ON(xen_hypercall_hvm_get_param(HVM_PARAM_STORE_PFN, > > + &old_store_pfn)); > > + if ( !pv_console ) > > + BUG_ON(xen_hypercall_hvm_get_param(HVM_PARAM_CONSOLE_PFN, > > + &old_console_pfn)); > > + > > + /* Pause the other vcpus before starting the migration. */ > > + for_each_vcpu(d, v) > > + if ( v != current ) > > + vcpu_pause_by_systemcontroller(v); > > + > > + rc = xen_hypercall_shutdown(SHUTDOWN_suspend); > > + if ( rc ) > > + { > > + for_each_vcpu(d, v) > > + if ( v != current ) > > + vcpu_unpause_by_systemcontroller(v); > > + > > + return rc; > > + } > > + > > + /* Resume the shim itself first. */ > > + hypervisor_resume(); > > + > > + /* > > + * ATM there's nothing Xen can do if the console/store pfn changes, > > + * because Xen won't have a page_info struct for it. > > + */ > > + BUG_ON(xen_hypercall_hvm_get_param(HVM_PARAM_STORE_PFN, > > + &store_pfn)); > > + BUG_ON(old_store_pfn != store_pfn); > > + if ( !pv_console ) > > + { > > + BUG_ON(xen_hypercall_hvm_get_param(HVM_PARAM_CONSOLE_PFN, > > + &console_pfn)); > > + BUG_ON(old_console_pfn != console_pfn); > > + } > > + > > + /* Update domain id. */ > > + d->domain_id = get_dom0_domid(); > > + > > + /* Clean the iomem range. */ > > + BUG_ON(iomem_deny_access(d, 0, ~0UL)); > > Does this rangeset change across migration? Likely, the allowed iomem ranges for the DomU change depending on what hypervisor_alloc_unused_page returns. Those are mainly used to map grant table frames. Thanks, Roger. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |