From: kfraser@dhcp93.uk.xensource.com Date: Fri, 2 Jun 2006 08:36:28 +0000 (+0100) Subject: [HVM] Fix a problem when destroying a Windows guest. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15972^2~49^2~22 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f365408b0dc31410cab14460a8dcd718d511c3ec;p=xen.git [HVM] Fix a problem when destroying a Windows guest. From: Jun Nakajima Signed-off-by: Tom Woller --- diff --git a/xen/arch/x86/shadow.c b/xen/arch/x86/shadow.c index 0bbc96feb1..802f551b99 100644 --- a/xen/arch/x86/shadow.c +++ b/xen/arch/x86/shadow.c @@ -3481,15 +3481,16 @@ static void shadow_set_l2e_64(unsigned long va, l2_pgentry_t sl2e, __shadow_get_l3e(v, va, &sl3e); if (!(l3e_get_flags(sl3e) & _PAGE_PRESENT)) { - if (create_l2_shadow) { + if (create_l2_shadow) { perfc_incrc(shadow_set_l2e_force_map); shadow_map_into_current(v, va, PAGING_L2, PAGING_L3); __shadow_get_l3e(v, va, &sl3e); } else { printk("For non HVM shadow, create_l1_shadow:%d\n", create_l2_shadow); } - shadow_update_min_max(l4e_get_pfn(sl4e), l3_table_offset(va)); + if ( v->domain->arch.ops->guest_paging_levels == PAGING_L4 ) + shadow_update_min_max(l4e_get_pfn(sl4e), l3_table_offset(va)); } if ( put_ref_check ) {