summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbouyer <bouyer>2008-02-20 22:48:27 +0000
committerbouyer <bouyer>2008-02-20 22:48:27 +0000
commitb1c279bf4fa7e394fd435eed114a342efb2832aa (patch)
tree5dc721e2080506f035a7c7cd02f410b5f68bc7cd
parent8e683b32a2b4ed2e5066416d896a123c591c66b4 (diff)
downloadpkgsrc-b1c279bf4fa7e394fd435eed114a342efb2832aa.tar.gz
Remplace patch-cx with the official fix from Xen. Bump PKGREVISION.
Thanks to Christoph Egger for getting this fixed in Xen repository.
-rw-r--r--sysutils/xenkernel3/Makefile3
-rw-r--r--sysutils/xenkernel3/distinfo4
-rw-r--r--sysutils/xenkernel3/patches/patch-cx81
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);