WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH] Remove support for out-of-date SLES9 and RHEL4 kerne

To: keir.fraser@xxxxxxxxxx
Subject: [Xen-devel] [PATCH] Remove support for out-of-date SLES9 and RHEL4 kernel ports from build integration
From: Ian Campbell <ian.campbell@xxxxxxxxxx>
Date: Mon, 20 Jul 2009 15:29:58 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 20 Jul 2009 07:30:24 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Both distros now include Xen support from their respective upstreams and these
kernels are very out of date wrt both the upstream distro kernel and the
upstream Xen kernel.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

diff -r 6d41644623de -r 261a36c617df buildconfigs/mk.linux-2.6.5-SLES-xen
--- a/buildconfigs/mk.linux-2.6.5-SLES-xen      Mon Jul 20 10:58:06 2009 +0100
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-XEN_TARGET_ARCH = x86_32
-
-EXTRAVERSION = -xen
-LINUX_VER = 2.6.5-SLES
-
-XEN_LINUX_SOURCE = hg-clone
-XEN_LINUX_HGREPO ?= http://xenbits.xensource.com/kernels/sles9x.hg
-XEN_LINUX_HGREV  ?= tip
-
-include buildconfigs/mk.linux-2.6-xen
diff -r 6d41644623de -r 261a36c617df buildconfigs/mk.linux-2.6.9-RHEL-xen
--- a/buildconfigs/mk.linux-2.6.9-RHEL-xen      Mon Jul 20 10:58:06 2009 +0100
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-XEN_TARGET_ARCH = x86_32
-
-EXTRAVERSION = -xen
-LINUX_VER = 2.6.9-RHEL
-
-XEN_LINUX_SOURCE = hg-clone
-XEN_LINUX_HGREPO ?= http://xenbits.xensource.com/kernels/rhel4x.hg
-XEN_LINUX_HGREV  ?= tip
-
-include buildconfigs/mk.linux-2.6-xen
diff -r 6d41644623de -r 261a36c617df 
unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
--- a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c  Mon Jul 20 
10:58:06 2009 +0100
+++ b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c  Mon Jul 20 
15:29:10 2009 +0100
@@ -257,6 +257,60 @@
 int xen_panic_handler_init(void);
 int gnttab_init(void);
 
+#define XEN_IOPORT_BASE 0x10
+
+#define XEN_IOPORT_PLATFLAGS   (XEN_IOPORT_BASE + 0) /* 1 byte access (R/W) */
+#define XEN_IOPORT_MAGIC       (XEN_IOPORT_BASE + 0) /* 2 byte access (R) */
+#define XEN_IOPORT_UNPLUG      (XEN_IOPORT_BASE + 0) /* 2 byte access (W) */
+#define XEN_IOPORT_DRVVER      (XEN_IOPORT_BASE + 0) /* 4 byte access (W) */
+
+#define XEN_IOPORT_SYSLOG      (XEN_IOPORT_BASE + 2) /* 1 byte access (W) */
+#define XEN_IOPORT_PROTOVER    (XEN_IOPORT_BASE + 2) /* 1 byte access (R) */
+#define XEN_IOPORT_PRODNUM     (XEN_IOPORT_BASE + 2) /* 2 byte access (W) */
+
+#define XEN_IOPORT_MAGIC_VAL 0x49d2
+#define XEN_IOPORT_LINUX_PRODNUM 0xffff /* NB: register a proper one */
+#define XEN_IOPORT_LINUX_DRVVER  ((LINUX_VERSION_CODE << 8) + 0x0)
+
+static int check_platform_magic(struct device *dev, long ioaddr, long iolen)
+{
+       short magic;
+       char protocol;
+
+       if (iolen < 0x16)
+               return -ENODEV;
+
+       magic = inw(XEN_IOPORT_MAGIC);
+
+       if (magic != XEN_IOPORT_MAGIC_VAL) {
+               dev_err(dev, "invalid magic %#x", magic);
+               return -ENODEV;
+       }
+
+       protocol = inb(XEN_IOPORT_PROTOVER);
+
+       dev_info(dev, "I/O protocol version %d\n", protocol);
+
+       switch (protocol) {
+       case 1:
+               outw(XEN_IOPORT_PRODNUM, 0xbeef);
+               outl(XEN_IOPORT_DRVVER, 0xdead);
+               if (inw(XEN_IOPORT_MAGIC) != XEN_IOPORT_MAGIC_VAL) {
+                       dev_err(dev, "blacklisted by host\n");
+                       return -ENODEV;
+               }
+               /* Fall through */
+       case 0:
+               outw(XEN_IOPORT_UNPLUG, 0xf);
+               break;
+       default:
+               dev_err(dev, "unknown qemu version\n");
+               return -ENODEV;
+       }
+
+       return 0;
+}
+
 static int __devinit platform_pci_init(struct pci_dev *pdev,
                                       const struct pci_device_id *ent)
 {
@@ -302,6 +356,10 @@
        platform_mmiolen = mmio_len;
 
        ret = init_hypercall_stubs();
+       if (ret < 0)
+               goto out;
+
+       ret = check_platform_magic(&pdev->dev, ioaddr, iolen);
        if (ret < 0)
                goto out;
 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH] Remove support for out-of-date SLES9 and RHEL4 kernel ports from build integration, Ian Campbell <=