* [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