diff options
author | bouyer <bouyer@pkgsrc.org> | 2008-02-20 22:48:27 +0000 |
---|---|---|
committer | bouyer <bouyer@pkgsrc.org> | 2008-02-20 22:48:27 +0000 |
commit | b46e2115958317d0390991e7c3f4fb7fed5860e7 (patch) | |
tree | 5dc721e2080506f035a7c7cd02f410b5f68bc7cd /sysutils/xenkernel3 | |
parent | 52daf075cf6a93cb61d34ea3856e9784c83222f6 (diff) | |
download | pkgsrc-b46e2115958317d0390991e7c3f4fb7fed5860e7.tar.gz |
Remplace patch-cx with the official fix from Xen. Bump PKGREVISION.
Thanks to Christoph Egger for getting this fixed in Xen repository.
Diffstat (limited to 'sysutils/xenkernel3')
-rw-r--r-- | sysutils/xenkernel3/Makefile | 3 | ||||
-rw-r--r-- | sysutils/xenkernel3/distinfo | 4 | ||||
-rw-r--r-- | sysutils/xenkernel3/patches/patch-cx | 81 |
3 files changed, 78 insertions, 10 deletions
diff --git a/sysutils/xenkernel3/Makefile b/sysutils/xenkernel3/Makefile index a6c1f048b98..65cc5a6cbac 100644 --- a/sysutils/xenkernel3/Makefile +++ b/sysutils/xenkernel3/Makefile @@ -1,9 +1,10 @@ -# $NetBSD: Makefile,v 1.10 2008/02/15 20:34:35 bouyer Exp $ +# $NetBSD: Makefile,v 1.11 2008/02/20 22:48:27 bouyer Exp $ # VERSION= 3.1.3 DISTNAME= xen-${VERSION}-src PKGNAME= xenkernel3-${VERSION} +PKGREVISION= 1 CATEGORIES= sysutils MASTER_SITES= ${MASTER_SITE_LOCAL} EXTRACT_SUFX= .tgz diff --git a/sysutils/xenkernel3/distinfo b/sysutils/xenkernel3/distinfo index 477563e2bce..f312b1e2985 100644 --- a/sysutils/xenkernel3/distinfo +++ b/sysutils/xenkernel3/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.8 2008/02/15 20:34:35 bouyer Exp $ +$NetBSD: distinfo,v 1.9 2008/02/20 22:48:27 bouyer Exp $ SHA1 (xen-3.1.3-src.tgz) = 87b370df928feda599bbc7076e7a4589f67355c8 RMD160 (xen-3.1.3-src.tgz) = b26b71e0422db7aece60aa4dd9f9c8d34affd0c7 @@ -9,4 +9,4 @@ SHA1 (patch-bb) = 7338e5a512c909d4b043654dab882761de274f94 SHA1 (patch-bc) = fa35699da6ad2a4950418a02432c2ccdb5d34844 SHA1 (patch-bd) = 2a07955b1285d288458066813f8ebc801b8038c1 SHA1 (patch-cw) = 83a0f34dac9ba9a465c7362d4de6706afb84d688 -SHA1 (patch-cx) = 58804179cd4f39ccba10e3f3d40a8a6d9cee30a6 +SHA1 (patch-cx) = 79a204f06d35d957e5af5858427abcc7729bae1e diff --git a/sysutils/xenkernel3/patches/patch-cx b/sysutils/xenkernel3/patches/patch-cx index 225451b43b4..3b0e8c69ef7 100644 --- a/sysutils/xenkernel3/patches/patch-cx +++ b/sysutils/xenkernel3/patches/patch-cx @@ -1,22 +1,89 @@ -$NetBSD: patch-cx,v 1.1 2008/02/15 20:34:35 bouyer Exp $ +$NetBSD: patch-cx,v 1.2 2008/02/20 22:48:27 bouyer Exp $ ---- 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 @@ +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)) ++ if ( !l3e_has_changed(ol3e, nl3e, _PAGE_PRESENT) ) ++ { ++ adjust_guest_l3e(nl3e, d); return UPDATE_ENTRY(l3, pl3e, ol3e, nl3e, pfn, current); -@@ -1487,6 +1485,8 @@ ++ } + 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); |