Mailing List Archive

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

Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
Signed-off-by: Tomonari Horikoshi <t.horikoshi@jp.fujitsu.com>
---
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@lists.xensource.com
http://lists.xensource.com/xen-changelog