[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [IA64] Modify destroy code for PV-on-HVM on IPF



# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID a19dbbe4cff5c13097c6dfd364173b17063fea02
# Parent  40f6fdb68fa92e78d2a1c619e5fcc6723f68827b
[IA64] Modify destroy code for PV-on-HVM on IPF

Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@xxxxxxxxxxxxxx>
Signed-off-by: Tomonari Horikoshi <t.horikoshi@xxxxxxxxxxxxxx>
---
 xen/arch/ia64/xen/domain.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff -r 40f6fdb68fa9 -r a19dbbe4cff5 xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.c        Sun Aug 27 10:25:39 2006 -0600
+++ b/xen/arch/ia64/xen/domain.c        Mon Aug 28 13:11:17 2006 -0600
@@ -400,8 +400,16 @@ void arch_domain_destroy(struct domain *
 void arch_domain_destroy(struct domain *d)
 {
        BUG_ON(d->arch.mm.pgd != NULL);
-       if (d->shared_info != NULL)
-           free_xenheap_pages(d->shared_info, get_order_from_shift(XSI_SHIFT));
+       if (d->shared_info != NULL) {
+               /* If this domain is domVTi, the shared_info page may
+                * be replaced with domheap. Then the shared_info page
+                * frees in relinquish_mm().
+                */
+               if (IS_XEN_HEAP_FRAME(virt_to_page(d->shared_info))) {
+                       free_xenheap_pages(d->shared_info,
+                                          get_order_from_shift(XSI_SHIFT));
+               }
+       }
        if (d->arch.shadow_bitmap != NULL)
                xfree(d->arch.shadow_bitmap);
 

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.