ia64/xen-unstable

changeset 15199:f38f7f583f33

Unmap vcpu_info mapping in arch_domain_destroy.

We don't need to touch it in arch_vcpu_reset() because that's only used
to recover from a failed suspend, and the correct behaviour there is to
leave the mapping as-is.
author Jeremy Fitzhardinge <jeremy@xensource.com>
date Thu May 24 13:25:05 2007 +0100 (2007-05-24)
parents 03c213fd2360
children 2c7154ea7eef
files xen/arch/x86/domain.c
line diff
     1.1 --- a/xen/arch/x86/domain.c	Thu May 24 10:48:58 2007 +0100
     1.2 +++ b/xen/arch/x86/domain.c	Thu May 24 13:25:05 2007 +0100
     1.3 @@ -489,6 +489,9 @@ void arch_domain_destroy(struct domain *
     1.4  {
     1.5      struct vcpu *v;
     1.6  
     1.7 +    for_each_vcpu( d, v )
     1.8 +        unmap_vcpu_info(v);
     1.9 +
    1.10      if ( is_hvm_domain(d) )
    1.11      {
    1.12          for_each_vcpu ( d, v )
    1.13 @@ -731,7 +734,6 @@ int arch_set_info_guest(
    1.14  
    1.15  int arch_vcpu_reset(struct vcpu *v)
    1.16  {
    1.17 -    unmap_vcpu_info(v);
    1.18      destroy_gdt(v);
    1.19      vcpu_destroy_pagetables(v);
    1.20      return 0;
    1.21 @@ -739,8 +741,8 @@ int arch_vcpu_reset(struct vcpu *v)
    1.22  
    1.23  /* 
    1.24   * Unmap the vcpu info page if the guest decided to place it somewhere
    1.25 - * else.  This is only used from arch_vcpu_reset, so there's no need
    1.26 - * to do anything clever.
    1.27 + * else.  This is only used from arch_domain_destroy, so there's no
    1.28 + * need to do anything clever.
    1.29   */
    1.30  static void
    1.31  unmap_vcpu_info(struct vcpu *v)