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

[Xen-devel] [PATCH 1/2][PV-on-HVM] Fix compile errors for RHEL/SLES



[PATCH 1/2][PV-on-HVM] Fix compile errors for RHEL/SLES
Fix compile errors on a couple of distros.
1st fix was for SLES10-SP1 and SLES10-SP2:
netif_tx_lock_bh was pulled back into older kernels, and thus must be detected. 2nd fix was for RHEL4-U5 which pulled back the irqreturn_t feature into an older kernel. This too must be detected. 3rd fix was fixing a compile error in a printk for a more strict compile in RHEL4-U5

Signed-off-by: Ben Guthro <bguthro@xxxxxxxxxxxxxxx>
diff -r 3211cf988b50 
unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h
--- a/unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h Mon Dec 
03 11:04:56 2007 -0500
+++ b/unmodified_drivers/linux-2.6/compat-include/xen/platform-compat.h Mon Dec 
03 14:09:06 2007 -0500
@@ -114,9 +114,17 @@ extern char *kasprintf(gfp_t gfp, const 
 #define __supported_pte_mask ((maddr_t)0)
 #endif
 
+/* This code duplication is not ideal, but || does not seem to properly 
+ *  short circuit in a #if condition.
+ **/
 #if defined(_LINUX_NETDEVICE_H) && LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)
+#if !defined(SLE_VERSION) 
 #define netif_tx_lock_bh(dev) spin_lock_bh(&(dev)->xmit_lock)
 #define netif_tx_unlock_bh(dev) spin_unlock_bh(&(dev)->xmit_lock)
+#elif SLE_VERSION_CODE < SLE_VERSION(10,1,0)
+#define netif_tx_lock_bh(dev) spin_lock_bh(&(dev)->xmit_lock)
+#define netif_tx_unlock_bh(dev) spin_unlock_bh(&(dev)->xmit_lock)
+#endif
 #endif
 
 #if defined(__LINUX_SEQLOCK_H) && !defined(DEFINE_SEQLOCK)
@@ -133,7 +141,14 @@ extern char *kasprintf(gfp_t gfp, const 
 #endif
 
 #if defined(_LINUX_INTERRUPT_H) && LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
+/**
+ *   RHEL4-U5 pulled back this feature into the older kernel 
+ *   Since it is a typedef, and not a macro - detect this kernel via
+ *   RHEL_VERSION
+ */
+#if !defined(RHEL_VERSION) || (RHEL_VERSION == 4 && RHEL_UPDATE < 5)
 typedef irqreturn_t (*irq_handler_t)(int, void *, struct pt_regs *);
+#endif
 #endif
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23)
diff -r 3211cf988b50 unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
--- a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c  Mon Dec 03 
11:04:56 2007 -0500
+++ b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c  Mon Dec 03 
11:04:56 2007 -0500
@@ -465,7 +465,7 @@ static int __init platform_pci_module_in
                } else {
                        cpu_khz = simple_strtol(khz, NULL, 0);
                        kfree(khz);
-                       printk(KERN_INFO DRV_NAME ": cpu_khz %lu\n", cpu_khz);
+                       printk(KERN_INFO DRV_NAME ": cpu_khz %u\n", cpu_khz);
                }
        }
 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.