summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sysutils/xenkernel3/Makefile6
-rw-r--r--sysutils/xenkernel3/distinfo3
-rw-r--r--sysutils/xenkernel3/patches/patch-ae39
3 files changed, 44 insertions, 4 deletions
diff --git a/sysutils/xenkernel3/Makefile b/sysutils/xenkernel3/Makefile
index d9b2a672ca2..c6feace8a63 100644
--- a/sysutils/xenkernel3/Makefile
+++ b/sysutils/xenkernel3/Makefile
@@ -1,10 +1,10 @@
-# $NetBSD: Makefile,v 1.4 2007/10/09 19:19:15 martti Exp $
+# $NetBSD: Makefile,v 1.5 2007/10/16 20:31:57 bouyer Exp $
#
VERSION= 3.1.0
DISTNAME= xen-${VERSION}-src
PKGNAME= xenkernel3-${VERSION}
-PKGREVISION= 1
+PKGREVISION= 2
CATEGORIES= sysutils
MASTER_SITES= http://www.cl.cam.ac.uk/research/srg/netos/xen/downloads/ \
http://bits.xensource.com/oss-xen/release/${VERSION}/src.tgz/
@@ -14,7 +14,7 @@ MAINTAINER= bouyer@NetBSD.org
HOMEPAGE= http://www.cl.cam.ac.uk/research/srg/netos/xen/
COMMENT= Xen3 Kernel
-ONLY_FOR_PLATFORM= Linux-2.[46]*-i386 NetBSD-*-i386
+ONLY_FOR_PLATFORM= Linux-2.[46]*-i386 NetBSD-*-i386 Linux-2.[46]*-x86_64 NetBSD-*-x86_64
CONFLICTS= xenkernel30-*
diff --git a/sysutils/xenkernel3/distinfo b/sysutils/xenkernel3/distinfo
index 068ff567532..6ff9ee4ab2d 100644
--- a/sysutils/xenkernel3/distinfo
+++ b/sysutils/xenkernel3/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.2 2007/08/17 17:26:03 bouyer Exp $
+$NetBSD: distinfo,v 1.3 2007/10/16 20:31:57 bouyer Exp $
SHA1 (xen-3.1.0-src.tgz) = fa4b54c36626f2cce9b15dc99cafda0b42c54777
RMD160 (xen-3.1.0-src.tgz) = 2fd65a3b81e522d0ed2d62fd11e5977167f1ceb3
@@ -7,6 +7,7 @@ SHA1 (patch-aa) = 1be644e7edd3735c2850d3e581002f53bd50eb59
SHA1 (patch-ab) = 58ba3a1ec8c1bbc895dd70d286eb5a70778b7c7f
SHA1 (patch-ac) = 3eb6179c90090d5b05f97a66b50cf78ce50e6f56
SHA1 (patch-ad) = 0af2e62c4a1469d03b3999cf0864c62e28d95ed0
+SHA1 (patch-ae) = 3bba21641c64d572a845966e6600d686e6d86983
SHA1 (patch-ba) = a90ffef881c3fadcf3c25e4c638ef33158ec9e87
SHA1 (patch-bb) = 7338e5a512c909d4b043654dab882761de274f94
SHA1 (patch-bc) = fa35699da6ad2a4950418a02432c2ccdb5d34844
diff --git a/sysutils/xenkernel3/patches/patch-ae b/sysutils/xenkernel3/patches/patch-ae
new file mode 100644
index 00000000000..0830d2d99f1
--- /dev/null
+++ b/sysutils/xenkernel3/patches/patch-ae
@@ -0,0 +1,39 @@
+$NetBSD: patch-ae,v 1.1 2007/10/16 20:31:57 bouyer Exp $
+
+--- xen/arch/x86/mm.c.orig 2007-05-18 16:45:21.000000000 +0200
++++ xen/arch/x86/mm.c 2007-10-17 05:03:09.000000000 +0200
+@@ -1741,15 +1741,26 @@
+ nx |= PGT_validated;
+ }
+ }
+- else if ( unlikely((x & (PGT_type_mask|PGT_pae_xen_l2)) != type) )
++ else if (unlikely((x & (PGT_type_mask|PGT_pae_xen_l2)) != type) )
+ {
+- if ( ((x & PGT_type_mask) != PGT_l2_page_table) ||
+- (type != PGT_l1_page_table) )
+- MEM_LOG("Bad type (saw %" PRtype_info
+- " != exp %" PRtype_info ") "
+- "for mfn %lx (pfn %lx)",
+- x, type, page_to_mfn(page),
+- get_gpfn_from_mfn(page_to_mfn(page)));
++ /*
++ * if it's a recursive mapping failure here is expected.
++ * Don't log it
++ */
++ if ((x & PGT_type_mask) == PGT_l2_page_table &&
++ type == PGT_l1_page_table)
++ return 0;
++ if ((x & PGT_type_mask) == PGT_l3_page_table &&
++ type == PGT_l2_page_table)
++ return 0;
++ if ((x & PGT_type_mask) == PGT_l4_page_table &&
++ type == PGT_l3_page_table)
++ return 0;
++ MEM_LOG("Bad type (saw %" PRtype_info
++ " != exp %" PRtype_info ") "
++ "for mfn %lx (pfn %lx)",
++ x, type, page_to_mfn(page),
++ get_gpfn_from_mfn(page_to_mfn(page)));
+ return 0;
+ }
+ else if ( unlikely(!(x & PGT_validated)) )