public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo-x86 commit in app-emulation/vmware-modules/files/patches/vmmon: 040_all_kernel-2.6.27.patch
@ 2009-01-10 12:10 Mike Auty (ikelos)
  0 siblings, 0 replies; 2+ messages in thread
From: Mike Auty (ikelos) @ 2009-01-10 12:10 UTC (permalink / raw
  To: gentoo-commits

ikelos      09/01/10 12:10:55

  Added:                040_all_kernel-2.6.27.patch
  Log:
  Add in vmware-modules-1.0.0.15-r2.  Should compile on kernels up to and including 2.6.28, big thanks go to Tim Yamin for help with the patches.
  (Portage version: 2.2_rc20/cvs/Linux 2.6.28 i686)

Revision  Changes    Path
1.1                  app-emulation/vmware-modules/files/patches/vmmon/040_all_kernel-2.6.27.patch

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/vmware-modules/files/patches/vmmon/040_all_kernel-2.6.27.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/vmware-modules/files/patches/vmmon/040_all_kernel-2.6.27.patch?rev=1.1&content-type=text/plain

Index: 040_all_kernel-2.6.27.patch
===================================================================
diff --git a/common/task.c b/common/task.c
index 264948d..62f4487 100644
--- a/common/task.c
+++ b/common/task.c
@@ -35,7 +35,6 @@ extern "C" {
 #include "hostKernel.h"
 #ifdef linux
 #   include <linux/string.h>
-#   include <linux/kernel.h>
 
 #   ifdef USE_PERFCTRS_HOSTED
 #      include "perfctr.h"
diff --git a/common/task_compat.h b/common/task_compat.h
index b9f4f61..7e9c3de 100644
--- a/common/task_compat.h
+++ b/common/task_compat.h
@@ -3646,6 +3646,5 @@ Task_CheckPadding(void)
       return TRUE;
    }
 
-   printk("/dev/vmmon: Cannot load module. Use standard gcc compiler\n");
    return FALSE;
 }
diff --git a/include/compat_semaphore.h b/include/compat_semaphore.h
index 6514067..b2e399d 100644
--- a/include/compat_semaphore.h
+++ b/include/compat_semaphore.h
@@ -2,7 +2,7 @@
 #   define __COMPAT_SEMAPHORE_H__
 
 
-#include <asm/semaphore.h>
+#include <linux/semaphore.h>
 
 
 /*
diff --git a/include/vcpuset.h b/include/vcpuset.h
index 977f3ce..03346df 100644
--- a/include/vcpuset.h
+++ b/include/vcpuset.h
@@ -71,7 +71,27 @@ ffs_x86_64(int x)
 #define ffs(x) ffs_x86_64(x)
 
 #elif defined MODULE
+#ifndef __cplusplus
    #include "linux/bitops.h"
+#else
+static inline int ffs_x86_hack(int x)
+{
+        int r;
+#ifdef CONFIG_X86_CMOV
+        asm("bsfl %1,%0\n\t"
+            "cmovzl %2,%0"
+            : "=r" (r) : "rm" (x), "r" (-1));
+#else
+        asm("bsfl %1,%0\n\t"
+            "jnz 1f\n\t"
+            "movl $-1,%0\n"
+            "1:" : "=r" (r) : "rm" (x));
+#endif
+        return r + 1;
+}
+
+#define ffs(x) ffs_x86_hack(x)
+#endif
 #elif defined __APPLE__ && defined KERNEL
    /* 
     * XXXMACOS An ugly hack to resolve redefinition of PAGE_ defines 
diff --git a/include/x86paging.h b/include/x86paging.h
index 688207f..abf26d2 100644
--- a/include/x86paging.h
+++ b/include/x86paging.h
@@ -58,7 +58,9 @@
 
 #define PTE_AVAIL_MASK       0xe00
 #define PTE_AVAIL_SHIFT      9
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 27)
 #define PTE_PFN_MASK         0xfffff000
+#endif
 #define PAE_PTE_PFN_MASK     CONST64U(0xffffff000)
 #define LM_PTE_PFN_MASK      CONST64U(0xffffffffff000)
 #define PTE_PFN_SHIFT        12
diff --git a/linux/driver.c b/linux/driver.c
index bd33762..802b91a 100644
--- a/linux/driver.c
+++ b/linux/driver.c
@@ -113,6 +113,15 @@ static int LinuxDriverAPMstate = APM_STATE_READY;
 #define VMWare_SetVTracer(VTrace_Set)
 #endif
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24)
+#define VMW_NOPAGE_2624
+
+#define VMMON_MAP_OFFSET_SHIFT	0
+#define VMMON_MAP_OFFSET_MASK	0x00000FFF
+#define VMMON_MAP_OFFSET(base)	\
+		(((base) >> VMMON_MAP_OFFSET_SHIFT) & VMMON_MAP_OFFSET_MASK)
+#endif
+
 struct VMXLinuxState linuxState;
 
 static int vmversion = VME_DEFAULT;
@@ -125,6 +134,7 @@ MODULE_PARM_DESC(vmversion, "VMware version you use: 1=VMware 2, 2=GSX 1, 3=VMwa
 		            "5=GSX 2, 6=GSX 2.5, 7=VMware 4, 8=VMware 3.2.1, 9=GSX 2.5.1, "
 			    "10=VMware 4.5, 11=VMware 4.5.2, 12=GSX 3.2, 13=VMware 5.0, 14=VMware 5.5, "
 			    "15=Server 1.0, 16=VMware 6.0, 17=TOT");
+MODULE_LICENSE("Proprietary");
 
 /*
  *----------------------------------------------------------------------
@@ -147,7 +157,10 @@ static long LinuxDriver_CompatIoctl(struct file *filp,
 
 static int LinuxDriver_Close(struct inode *inode, struct file *filp);
 static unsigned int LinuxDriverPoll(struct file *file, poll_table *wait);
-#if defined(VMW_NOPAGE_261)
+#if defined(VMW_NOPAGE_2624)
+static int LinuxDriverFault(struct vm_area_struct *vma, struct vm_fault *fault);
+static int LinuxDriverLockedFault(struct vm_area_struct *vma, struct vm_fault *fault);
+#elif defined(VMW_NOPAGE_261)
 static struct page *LinuxDriverNoPage(struct vm_area_struct *vma,
                            unsigned long address, int *type);
 static struct page *LinuxDriverLockedNoPage(struct vm_area_struct *vma,
@@ -168,11 +181,19 @@ static int LinuxDriverMmap(struct file *filp, struct vm_area_struct *vma);
 static void LinuxDriverPollTimeout(unsigned long clientData);
 
 static struct vm_operations_struct vmuser_mops = {
+#ifdef VMW_NOPAGE_2624
+	.fault  = LinuxDriverFault
+#else
 	.nopage = LinuxDriverNoPage
+#endif
 };
 
 struct vm_operations_struct vmuser_locked_mops = {
+#ifdef VMW_NOPAGE_2624
+	.fault = LinuxDriverLockedFault
+#else
 	.nopage = LinuxDriverLockedNoPage
+#endif
 };
 
 static struct file_operations vmuser_fops;
@@ -1143,7 +1164,10 @@ LinuxDriverIPIHandler(void *info)
  *-----------------------------------------------------------------------------
  */
 
-#ifdef VMW_NOPAGE_261
+#if defined(VMW_NOPAGE_2624)
+static int LinuxDriverFault(struct vm_area_struct *vma, //IN
+			    struct vm_fault *fault)     //IN/OUT
+#elif defined(VMW_NOPAGE_261)
 static struct page *LinuxDriverNoPage(struct vm_area_struct *vma, //IN
 				      unsigned long address, 	  //IN
 				      int *type)		  //OUT: Fault type
@@ -1161,14 +1185,25 @@ static unsigned long LinuxDriverNoPage(struct vm_area_struct *vma,//IN
 	unsigned long pg;
 	struct page* page;
 	
+#ifdef VMW_NOPAGE_2624
+	pg = fault->pgoff;
+#else
 	pg = ((address - vma->vm_start) >> PAGE_SHIFT) + compat_vm_pgoff(vma);
+#endif
 	pg = VMMON_MAP_OFFSET(pg);
 	if (pg >= vmLinux->size4Gb) {
+#ifdef VMW_NOPAGE_2624
+		return VM_FAULT_SIGBUS;
+#else
 		return 0;
+#endif
 	}
 	page = vmLinux->pages4Gb[pg];
 	get_page(page);
-#ifdef KERNEL_2_4_0
+#ifdef VMW_NOPAGE_2624
+	fault->page = page;
+	return 0;
+#elif defined(KERNEL_2_4_0)
 #ifdef VMW_NOPAGE_261
         *type = VM_FAULT_MINOR;
 #endif
diff --git a/linux/driver.h b/linux/driver.h
index 89c1620..dec6877 100644
--- a/linux/driver.h
+++ b/linux/driver.h
@@ -131,7 +131,7 @@ typedef struct VMXLinuxState {
    spinlock_t pollListLock;
 #endif
 
-   volatile int fastClockThread;
+   volatile struct task_struct *fastClockThread;
    unsigned fastClockRate;
 
    /*
diff --git a/linux/driver_compat.h b/linux/driver_compat.h
index 2b1f520..13afc74 100644
--- a/linux/driver_compat.h
+++ b/linux/driver_compat.h
@@ -268,7 +268,10 @@ LinuxDriverDestructorLocked(VMLinux *vmLinux) // IN
  *-----------------------------------------------------------------------------
  */
 
-#ifdef VMW_NOPAGE_261
+#if defined(VMW_NOPAGE_2624)
+static int LinuxDriverLockedFault(struct vm_area_struct *vma, //IN
+				  struct vm_fault *fault)     //IN/OUT
+#elif defined(VMW_NOPAGE_261)
 static struct page *LinuxDriverLockedNoPage(struct vm_area_struct *vma, //IN
 				            unsigned long address,      //IN
 				            int *type)		        //OUT: Fault type
@@ -288,33 +291,60 @@ static unsigned long LinuxDriverLockedNoPage(struct vm_area_struct *vma, //IN
    struct VMHostEntry* vmhe;
    struct page* result;
 	
+#ifdef VMW_NOPAGE_2624
+   pg = fault->pgoff;
+#else
    pg = ((address - vma->vm_start) >> PAGE_SHIFT) + compat_vm_pgoff(vma);
+#endif
    if (pg >= vmLinux->sizeLocked) {
       printk(KERN_DEBUG "vmmon: Something went wrong: entry %08lX out of range (>=%08X) for mapping on filp %p\n", pg, vmLinux->sizeLocked, vmLinux);
+#ifdef VMW_NOPAGE_2624
+      return VM_FAULT_SIGBUS;
+#else
       return NOPAGE_SIGBUS;
+#endif
    }
    if (!vmLinux->vm || !vmLinux->vm->vmhost) {
       printk(KERN_DEBUG "vmmon: Something went wrong: no vm or vmhost for mapping on filp %p\n", vmLinux);
+#ifdef VMW_NOPAGE_2624
+      return VM_FAULT_SIGBUS;
+#else
       return NOPAGE_SIGBUS;
+#endif
    }
    pgt = vmLinux->pagesLocked->ent[pg / VMHOST_MAPPING_PT];
    if (!pgt) {
       printk(KERN_DEBUG "vmmon: Something went wrong: missing entry %08lX from mapping on filp %p\n", pg, vmLinux);
+#ifdef VMW_NOPAGE_2624
+      return VM_FAULT_SIGBUS;
+#else
       return NOPAGE_SIGBUS;
+#endif
    }
    vmhe = kmap(pgt);
    result = vmhe->ent[pg % VMHOST_MAPPING_PT];
    kunmap(pgt);
    if (!result) {
       printk(KERN_DEBUG "vmmon: Something went wrong: attempt to access non-existing entry %08lX in mapping on filp %p\n", pg, vmLinux);
+#ifdef VMW_NOPAGE_2624
+      return VM_FAULT_SIGBUS;
+#else
       return NOPAGE_SIGBUS;
+#endif
    }
    if (!PhysTrack_Test(vmLinux->vm->vmhost->AWEPages, page_to_pfn(result))) {
       printk(KERN_DEBUG "vmmon: MPN %08lX not tracked! Someone released it before removing it from VA first!\n", pg);
+#ifdef VMW_NOPAGE_2624
+      return VM_FAULT_SIGBUS;
+#else
       return NOPAGE_SIGBUS;
+#endif
    }
    get_page(result);
-#ifdef KERNEL_2_4_0
+#if defined(VMW_NOPAGE_2624)
+   fault->page = result;
+   return 0;
+#elif defined(KERNEL_2_4_0)
 #ifdef VMW_NOPAGE_261
    *type = VM_FAULT_MINOR;
 #endif
diff --git a/linux/hostif.c b/linux/hostif.c
index 2ec1ab1..bd6ef1e 100644
--- a/linux/hostif.c
+++ b/linux/hostif.c
@@ -70,6 +70,10 @@
 #include "compat_timer.h"
 #include "x86.h"
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24)
+#include <linux/kthread.h>
+#include <linux/mutex.h>
+#endif
 static COMPAT_DECLARE_COMPLETION(fastClockExited);
 
 /*
@@ -136,6 +140,95 @@ static COMPAT_DECLARE_COMPLETION(fastClockExited);
 #define HOST_ISTRACKED_PFN(_vm, _pfn) (PhysTrack_Test(_vm->physTracker, _pfn))
 
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24))
+/*
+ *-----------------------------------------------------------------------------
+ *
+ * MutexInit --
+ *
+ *      Initialize a Mutex. --hpreg
+ *
+ * Results:
+ *      None
+ *
+ * Side effects:
+ *      None
+ *
+ *-----------------------------------------------------------------------------
+ */
+
+#define MutexInit(_mutex, _name) mutex_init(_mutex)
+/*
+ *-----------------------------------------------------------------------------
+ *
+ * MutexIsLocked --
+ *
+ *      Determine if a Mutex is locked by the current thread. --hpreg
+ *
+ * Results:
+ *      TRUE if yes
+ *      FALSE if no
+ *
+ * Side effects:
+ *      None
+ *
+ *-----------------------------------------------------------------------------
+ */
+
+#define MutexIsLocked(_mutex) mutex_is_locked(_mutex)
+
+/*
+ *-----------------------------------------------------------------------------
+ *
+ * MutexLock --
+ *
+ *      Acquire a Mutex. --hpreg
+ *
+ * Results:
+ *      None
+ *
+ * Side effects:
+ *      None
+ *
+ *-----------------------------------------------------------------------------
+ */
+
+#define MutexLock(_mutex, _callerID) mutex_lock(_mutex)
+
+/*
+ *-----------------------------------------------------------------------------
+ *
+ * MutexUnlock --
+ *
+ *      Release a Mutex. --hpreg
+ *
+ * Results:
+ *      None
+ *
+ * Side effects:
+ *      None
+ *
+ *-----------------------------------------------------------------------------
+ */
+
+#define MutexUnlock(_mutex, _callerID) mutex_unlock(_mutex)
+
+/* This mutex protects the driver-wide state. --hpreg */
+static DEFINE_MUTEX(globalMutex);
+
+/*
+ * This mutex protects the fast clock rate and is held while
+ * creating/destroying the fastClockThread.  It ranks below
+ * globalMutex.  We can't use globalMutex for this purpose because the
+ * fastClockThread itself acquires the globalMutex, so trying to hold
+ * the mutex while destroying the thread can cause a deadlock.
+ */
+static DEFINE_MUTEX(fastClockMutex);
+
+/* This mutex protects linuxState.pollList.  */
+static DEFINE_MUTEX(pollListMutex);
+
+#else
 /*
  *-----------------------------------------------------------------------------
  *
@@ -278,6 +371,7 @@ static Mutex fastClockMutex;
 /* This mutex protects linuxState.pollList.  */
 static Mutex pollListMutex;
 
+#endif /* USE_KTHREAD */
 
 /*
  *-----------------------------------------------------------------------------
@@ -350,7 +444,7 @@ HostIF_GlobalUnlock(int callerID) // IN
    MutexUnlock(&globalMutex, callerID);
 }
 
-
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24)
 #ifdef VMX86_DEBUG
 /*
  *-----------------------------------------------------------------------------
@@ -375,6 +469,7 @@ HostIF_GlobalLockIsHeld(void)
    return MutexIsLocked(&globalMutex);
 }
 #endif
+#endif
 
 
 /*
@@ -583,7 +678,7 @@ DoClearNXBit(VA vaddr)
 #else
       pte_val(*pte) &= ~_PAGE_NX;
 #endif
-      smp_call_function (TLBInvalidatePage, (void *)vaddr, 1, 1);
+      compat_smp_call_function (TLBInvalidatePage, (void *)vaddr, 1, 1);
       TLBInvalidatePage((void *)vaddr);
    }
    if (ptemap) {
@@ -3240,6 +3335,46 @@ HostIF_NumOnlineLogicalCPUs(void)
 /*
  *----------------------------------------------------------------------
  *
+ * HostIFDoIoctl --
+ *
+ *    Issue ioctl.  Assume kernel is not locked.  It is not true now,
+ *    but it makes things easier to understand, and won't surprise us
+ *    later when we get rid of kernel lock from our code.
+ *
+ * Results:
+ *    Same as ioctl method.
+ *
+ * Side effects:
+ *    none.
+ *
+ *---------------------------------------------------------------------- 
+ */
+
+static long
+HostIFDoIoctl(struct file *filp,
+              u_int iocmd,
+              unsigned long ioarg)
+{
+#ifdef HAVE_UNLOCKED_IOCTL
+   if (filp->f_op->unlocked_ioctl) {
+      return filp->f_op->unlocked_ioctl(filp, iocmd, ioarg);
+   }
+#endif
+   if (filp->f_op->ioctl) {
+      long err;
+
+      lock_kernel();
+      err = filp->f_op->ioctl(filp->f_dentry->d_inode, filp, iocmd, ioarg);
+      unlock_kernel();
+      return err;
+   }
+   return -ENOIOCTLCMD;
+}
+
+
+/*
+ *----------------------------------------------------------------------
+ *
  * HostIFFastClockThread --
  *
  *      Kernel thread that provides finer-grained wakeups than the
@@ -3265,7 +3400,9 @@ HostIFFastClockThread(void *data)
    mm_segment_t oldFS;
    unsigned rate = 0;
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24)
    compat_daemonize("vmware-rtc");
+#endif
    oldFS = get_fs();
    set_fs(KERNEL_DS);
    compat_allow_signal(SIGKILL);
@@ -3286,8 +3423,7 @@ HostIFFastClockThread(void *data)
             p2rate <<= 1;
          }
 
-         res = filp->f_op->ioctl(filp->f_dentry->d_inode,
-                                 filp, RTC_IRQP_SET, p2rate);
+         res = HostIFDoIoctl(filp, RTC_IRQP_SET, p2rate);
          if (res < 0) {
             Warning("/dev/rtc set rate %d failed: %d\n", p2rate, res);
             goto out;
@@ -3392,19 +3528,19 @@ HostIF_SetFastClockRate(unsigned int rate) // IN: Frequency in Hz.
          struct file *filp;
          int fsuid, res;
          Bool cap;
-         long pid;
+		 struct task_struct *t;
 
          fsuid = current->fsuid;
          current->fsuid = 0;
          filp = filp_open("/dev/rtc", O_RDONLY, 0);
          current->fsuid = fsuid;
-         if (IS_ERR(filp)) {
+         if (IS_ERR(filp) || !filp) {
             Warning("/dev/rtc open failed: %d\n", (int)(VA)filp);
             return -(int)(VA)filp;
          }
          cap = cap_raised(current->cap_effective, CAP_SYS_RESOURCE);
          cap_raise(current->cap_effective, CAP_SYS_RESOURCE);
-         res = filp->f_op->ioctl(filp->f_dentry->d_inode, filp, RTC_PIE_ON, 0);
+         res = HostIFDoIoctl(filp, RTC_PIE_ON, 0);
          if (!cap) {
             cap_lower(current->cap_effective, CAP_SYS_RESOURCE);            
          }
@@ -3413,26 +3549,27 @@ HostIF_SetFastClockRate(unsigned int rate) // IN: Frequency in Hz.
             compat_filp_close(filp, current->files);
             return -res;
          }
-         pid = kernel_thread(HostIFFastClockThread, filp, 0);
-         if (pid < 0) {
+	 	 t = kthread_create(HostIFFastClockThread, filp, "vmware-rtc");
+	 	 if (IS_ERR(t)) {
             /*
              * Ignore ERESTARTNOINTR silently, it occurs when signal is
              * pending, and syscall layer automatically reissues operation
              * after signal is handled.
              */
-            if (pid != -ERESTARTNOINTR) {
-               Warning("/dev/rtc cannot start watch thread: %ld\n", pid);
+            if (PTR_ERR(t) != -ERESTARTNOINTR) {
+               Warning("/dev/rtc cannot start watch thread: %ld\n", PTR_ERR(t));
             }
             compat_filp_close(filp, current->files);
-            return -pid;
+            return -PTR_ERR(t);
          }
-         linuxState.fastClockThread = pid;
+         linuxState.fastClockThread = t;
+	 	 wake_up_process(t);
       }
    } else {
       if (linuxState.fastClockThread) {
-         kill_proc(linuxState.fastClockThread, SIGKILL, 1);
-         linuxState.fastClockThread = 0;
+         send_sig(SIGKILL, linuxState.fastClockThread, 1);
          compat_wait_for_completion(&fastClockExited);
+         linuxState.fastClockThread = NULL;
       }
    }
    return 0;
diff --git a/linux/vmhost.h b/linux/vmhost.h
index 7bb43f1..d5f2f64 100644
--- a/linux/vmhost.h
+++ b/linux/vmhost.h
@@ -13,7 +13,7 @@
 #include "compat_semaphore.h"
 #include "compat_wait.h"
 
-
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24)
 #ifdef VMX86_DEBUG
 /*
  * A MutexHolder object. In debug builds, we record information about the
@@ -54,7 +54,7 @@ typedef struct Mutex {
    MutexHolder cur;
 #endif
 } Mutex;
-
+#endif
 
 /*
  * Per-vm host-specific state.
@@ -65,7 +65,11 @@ typedef struct VMHost {
     * Used for shared modifications to VM's VMDriver data, mostly page locking.
     * It has higher rank than the global mutex.
     */
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24)
+   struct mutex vmMutex;
+#else
    Mutex vmMutex;
+#endif
 
    atomic_t           pendingUserCalls;
    wait_queue_head_t  callQueue;
diff --git a/linux/vmmonInt.h b/linux/vmmonInt.h
index 12a121d..08b7f59 100644
--- a/linux/vmmonInt.h
+++ b/linux/vmmonInt.h
@@ -32,7 +32,11 @@
 #endif
 
 #if defined(CONFIG_SMP) && LINUX_VERSION_CODE >= KERNEL_VERSION(2, 2, 8)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
+#define compat_smp_call_function(_a0,_a1,_a2,_a3) smp_call_function(_a0,_a1,_a3)
+#else
 #define compat_smp_call_function smp_call_function
+#endif
 #else
 #define compat_smp_call_function(_a0,_a1,_a2,_a3) 0
 #endif






^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] gentoo-x86 commit in app-emulation/vmware-modules/files/patches/vmmon: 040_all_kernel-2.6.27.patch
@ 2009-01-13  0:21 Mike Auty (ikelos)
  0 siblings, 0 replies; 2+ messages in thread
From: Mike Auty (ikelos) @ 2009-01-13  0:21 UTC (permalink / raw
  To: gentoo-commits

ikelos      09/01/13 00:21:34

  Modified:             040_all_kernel-2.6.27.patch
  Log:
  Actually add the patch changes this time...
  (Portage version: 2.2_rc20/cvs/Linux 2.6.28 i686)

Revision  Changes    Path
1.2                  app-emulation/vmware-modules/files/patches/vmmon/040_all_kernel-2.6.27.patch

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/vmware-modules/files/patches/vmmon/040_all_kernel-2.6.27.patch?rev=1.2&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/vmware-modules/files/patches/vmmon/040_all_kernel-2.6.27.patch?rev=1.2&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/app-emulation/vmware-modules/files/patches/vmmon/040_all_kernel-2.6.27.patch?r1=1.1&r2=1.2

Index: 040_all_kernel-2.6.27.patch
===================================================================
RCS file: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/files/patches/vmmon/040_all_kernel-2.6.27.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 040_all_kernel-2.6.27.patch	10 Jan 2009 12:10:55 -0000	1.1
+++ 040_all_kernel-2.6.27.patch	13 Jan 2009 00:21:34 -0000	1.2
@@ -22,15 +22,18 @@
     return FALSE;
  }
 diff --git a/include/compat_semaphore.h b/include/compat_semaphore.h
-index 6514067..b2e399d 100644
+index 6514067..d0da703 100644
 --- a/include/compat_semaphore.h
 +++ b/include/compat_semaphore.h
-@@ -2,7 +2,7 @@
+@@ -2,7 +2,11 @@
  #   define __COMPAT_SEMAPHORE_H__
  
  
--#include <asm/semaphore.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27)
 +#include <linux/semaphore.h>
++#else
+ #include <asm/semaphore.h>
++#endif
  
  
  /*






^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-01-13  0:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-13  0:21 [gentoo-commits] gentoo-x86 commit in app-emulation/vmware-modules/files/patches/vmmon: 040_all_kernel-2.6.27.patch Mike Auty (ikelos)
  -- strict thread matches above, loose matches on Subject: below --
2009-01-10 12:10 Mike Auty (ikelos)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox