[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86: Fix teardown of relocated vcpu_info structures.
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1212308186 -3600 # Node ID 85fa199b4b7bd1e7511ce7fc2361bae808c27ba6 # Parent 6e688d5a936bb22c7938c38cb26c8592544e97eb x86: Fix teardown of relocated vcpu_info structures. Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx> --- xen/arch/x86/domain.c | 19 +++++++++---------- 1 files changed, 9 insertions(+), 10 deletions(-) diff -r 6e688d5a936b -r 85fa199b4b7b xen/arch/x86/domain.c --- a/xen/arch/x86/domain.c Fri May 30 19:31:18 2008 +0100 +++ b/xen/arch/x86/domain.c Sun Jun 01 09:16:26 2008 +0100 @@ -59,8 +59,6 @@ static void default_idle(void); static void default_idle(void); void (*pm_idle) (void) = default_idle; -static void unmap_vcpu_info(struct vcpu *v); - static void paravirt_ctxt_switch_from(struct vcpu *v); static void paravirt_ctxt_switch_to(struct vcpu *v); @@ -432,8 +430,6 @@ void vcpu_destroy(struct vcpu *v) { if ( is_pv_32on64_vcpu(v) ) release_compat_l4(v); - - unmap_vcpu_info(v); if ( is_hvm_vcpu(v) ) hvm_vcpu_destroy(v); @@ -1864,16 +1860,19 @@ int domain_relinquish_resources(struct d /* Tear down paging-assistance stuff. */ paging_teardown(d); - /* Drop the in-use references to page-table bases. */ for_each_vcpu ( d, v ) + { + /* Drop the in-use references to page-table bases. */ vcpu_destroy_pagetables(v); - /* - * Relinquish GDT mappings. No need for explicit unmapping of the LDT - * as it automatically gets squashed when the guest's mappings go away. - */ - for_each_vcpu(d, v) + /* + * Relinquish GDT mappings. No need for explicit unmapping of the + * LDT as it automatically gets squashed with the guest mappings. + */ destroy_gdt(v); + + unmap_vcpu_info(v); + } d->arch.relmem = RELMEM_xen_l4; /* fallthrough */ _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog |
Lists.xenproject.org is hosted with RackSpace, monitoring our |