pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/sysutils/xenkernel3 Fix Xen kernel to silence a messag...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/51e0fc000ab1
branches:  trunk
changeset: 534327:51e0fc000ab1
user:      bouyer <bouyer%pkgsrc.org@localhost>
date:      Tue Oct 16 20:31:57 2007 +0000

description:
Fix Xen kernel to silence a message on recursive Page Table Entries for
level >= 3 (will send to Xen developers)
Allow this package to build on x86_64.
bump PKGREVISION.

diffstat:

 sysutils/xenkernel3/Makefile         |   6 ++--
 sysutils/xenkernel3/distinfo         |   3 +-
 sysutils/xenkernel3/patches/patch-ae |  39 ++++++++++++++++++++++++++++++++++++
 3 files changed, 44 insertions(+), 4 deletions(-)

diffs (85 lines):

diff -r 867856e009d9 -r 51e0fc000ab1 sysutils/xenkernel3/Makefile
--- a/sysutils/xenkernel3/Makefile      Tue Oct 16 20:28:46 2007 +0000
+++ b/sysutils/xenkernel3/Makefile      Tue Oct 16 20:31:57 2007 +0000
@@ -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 @@
 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 -r 867856e009d9 -r 51e0fc000ab1 sysutils/xenkernel3/distinfo
--- a/sysutils/xenkernel3/distinfo      Tue Oct 16 20:28:46 2007 +0000
+++ b/sysutils/xenkernel3/distinfo      Tue Oct 16 20:31:57 2007 +0000
@@ -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-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 -r 867856e009d9 -r 51e0fc000ab1 sysutils/xenkernel3/patches/patch-ae
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sysutils/xenkernel3/patches/patch-ae      Tue Oct 16 20:31:57 2007 +0000
@@ -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)) )



Home | Main Index | Thread Index | Old Index