head 1.3; access; symbols pkgsrc-2013Q2:1.3.0.18 pkgsrc-2013Q2-base:1.3 pkgsrc-2012Q4:1.3.0.16 pkgsrc-2012Q4-base:1.3 pkgsrc-2011Q4:1.3.0.14 pkgsrc-2011Q4-base:1.3 pkgsrc-2011Q2:1.3.0.12 pkgsrc-2011Q2-base:1.3 pkgsrc-2009Q4:1.3.0.10 pkgsrc-2009Q4-base:1.3 pkgsrc-2008Q4:1.3.0.8 pkgsrc-2008Q4-base:1.3 pkgsrc-2008Q3:1.3.0.6 pkgsrc-2008Q3-base:1.3 cube-native-xorg:1.3.0.4 cube-native-xorg-base:1.3 pkgsrc-2008Q2:1.3.0.2 pkgsrc-2008Q2-base:1.3 pkgsrc-2008Q1:1.2.0.2 pkgsrc-2008Q1-base:1.2; locks; strict; comment @# @; 1.3 date 2008.04.27.19.59.40; author bouyer; state dead; branches; next 1.2; 1.2 date 2008.02.20.22.48.27; author bouyer; state Exp; branches; next 1.1; 1.1 date 2008.02.15.20.34.35; author bouyer; state Exp; branches; next ; desc @@ 1.3 log @Update to Xen 3.1.4. Chnages are bugfixes, mostly in various HVM parts. @ text @$NetBSD: patch-cx,v 1.2 2008/02/20 22:48:27 bouyer Exp $ diff -r 64bb15c8521a -r f1574ad9f702 xen/arch/x86/mm.c --- xen/arch/x86/mm.c Mon Feb 18 14:24:54 2008 +0000 +++ xen/arch/x86/mm.c.old Mon Feb 18 14:26:38 2008 +0000 @@@@ -1363,15 +1363,17 @@@@ static int mod_l1_entry(l1_pgentry_t *pl return 0; } - adjust_guest_l1e(nl1e, d); - /* Fast path for identical mapping, r/w and presence. */ if ( !l1e_has_changed(ol1e, nl1e, _PAGE_RW | _PAGE_PRESENT) ) + { + adjust_guest_l1e(nl1e, d); return UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, current); + } if ( unlikely(!get_page_from_l1e(nl1e, FOREIGNDOM)) ) return 0; - + + adjust_guest_l1e(nl1e, d); if ( unlikely(!UPDATE_ENTRY(l1, pl1e, ol1e, nl1e, gl1mfn, current)) ) { put_page_from_l1e(nl1e, d); @@@@ -1416,15 +1418,17 @@@@ static int mod_l2_entry(l2_pgentry_t *pl return 0; } - adjust_guest_l2e(nl2e, d); - /* Fast path for identical mapping and presence. */ - if ( !l2e_has_changed(ol2e, nl2e, _PAGE_PRESENT)) + if ( !l2e_has_changed(ol2e, nl2e, _PAGE_PRESENT) ) + { + adjust_guest_l2e(nl2e, d); return UPDATE_ENTRY(l2, pl2e, ol2e, nl2e, pfn, current); + } if ( unlikely(!get_page_from_l2e(nl2e, pfn, d)) ) return 0; + adjust_guest_l2e(nl2e, d); if ( unlikely(!UPDATE_ENTRY(l2, pl2e, ol2e, nl2e, pfn, current)) ) { put_page_from_l2e(nl2e, pfn); @@@@ -1478,15 +1482,17 @@@@ static int mod_l3_entry(l3_pgentry_t *pl return 0; } - adjust_guest_l3e(nl3e, d); - /* Fast path for identical mapping and presence. */ - if (!l3e_has_changed(ol3e, nl3e, _PAGE_PRESENT)) + if ( !l3e_has_changed(ol3e, nl3e, _PAGE_PRESENT) ) + { + adjust_guest_l3e(nl3e, d); return UPDATE_ENTRY(l3, pl3e, ol3e, nl3e, pfn, current); + } if ( unlikely(!get_page_from_l3e(nl3e, pfn, d)) ) return 0; + adjust_guest_l3e(nl3e, d); if ( unlikely(!UPDATE_ENTRY(l3, pl3e, ol3e, nl3e, pfn, current)) ) { put_page_from_l3e(nl3e, pfn); @@@@ -1537,15 +1543,17 @@@@ static int mod_l4_entry(struct domain *d return 0; } - adjust_guest_l4e(nl4e, current->domain); - /* Fast path for identical mapping and presence. */ - if (!l4e_has_changed(ol4e, nl4e, _PAGE_PRESENT)) + if ( !l4e_has_changed(ol4e, nl4e, _PAGE_PRESENT) ) + { + adjust_guest_l4e(nl4e, current->domain); return UPDATE_ENTRY(l4, pl4e, ol4e, nl4e, pfn, current); + } if ( unlikely(!get_page_from_l4e(nl4e, pfn, current->domain)) ) return 0; + adjust_guest_l4e(nl4e, current->domain); if ( unlikely(!UPDATE_ENTRY(l4, pl4e, ol4e, nl4e, pfn, current)) ) { put_page_from_l4e(nl4e, pfn); @ 1.2 log @Remplace patch-cx with the official fix from Xen. Bump PKGREVISION. Thanks to Christoph Egger for getting this fixed in Xen repository. @ text @d1 1 a1 1 $NetBSD: patch-cw,v 1.2 2007/12/03 21:54:30 bouyer Exp $ @ 1.1 log @Update xen3 packages to 3.1.3. Changes are mostly bugfixes and enhancement in HVM support. @ text @d3 46 a48 3 --- xen/arch/x86/mm.c.orig 2008-02-15 20:42:07.000000000 +0100 +++ xen/arch/x86/mm.c 2008-02-15 20:43:18.000000000 +0100 @@@@ -1478,8 +1478,6 @@@@ d55 4 a58 1 if (!l3e_has_changed(ol3e, nl3e, _PAGE_PRESENT)) d60 2 a61 1 @@@@ -1487,6 +1485,8 @@@@ a65 1 + d69 21 @