summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Auty <ikelos@gentoo.org>2009-03-24 00:35:08 +0000
committerMike Auty <ikelos@gentoo.org>2009-03-24 00:35:08 +0000
commit59c04e59cead2104e19f79b8e94468c48865f00d (patch)
tree350b5e312f25a758be321201499447e359b8aa60 /app-emulation
parentFix up manifest, broken by the Changelog. (diff)
downloadvmware-59c04e59cead2104e19f79b8e94468c48865f00d.tar.gz
vmware-59c04e59cead2104e19f79b8e94468c48865f00d.tar.bz2
vmware-59c04e59cead2104e19f79b8e94468c48865f00d.zip
Fix compilation for 2.6.29 kernel, many thanks to Michele Schiavo for the patch.
svn path=/trunk/; revision=363
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/vmware-modules/ChangeLog5
-rw-r--r--app-emulation/vmware-modules/Manifest4
-rw-r--r--app-emulation/vmware-modules/files/1.0.0.23-kernel-2.6.29.patch297
-rw-r--r--app-emulation/vmware-modules/vmware-modules-1.0.0.23.ebuild1
4 files changed, 306 insertions, 1 deletions
diff --git a/app-emulation/vmware-modules/ChangeLog b/app-emulation/vmware-modules/ChangeLog
index 35c9f5d..aa9c7de 100644
--- a/app-emulation/vmware-modules/ChangeLog
+++ b/app-emulation/vmware-modules/ChangeLog
@@ -2,6 +2,11 @@
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 24 Mar 2009; Mike Auty <ikelos@gentoo.org>
+ +files/1.0.0.23-kernel-2.6.29.patch, vmware-modules-1.0.0.23.ebuild:
+ Fix compilation for 2.6.29 kernel, many thanks to Michele Schiavo for the
+ patch.
+
14 Jan 2009; Mike Auty <ikelos@gentoo.org>
files/patches/vmnet/030_all_kernel-2.6.27.patch,
vmware-modules-1.0.0.15-r2.ebuild, vmware-modules-1.0.0.23.ebuild:
diff --git a/app-emulation/vmware-modules/Manifest b/app-emulation/vmware-modules/Manifest
index 9cecf52..96e32e7 100644
--- a/app-emulation/vmware-modules/Manifest
+++ b/app-emulation/vmware-modules/Manifest
@@ -1,3 +1,4 @@
+AUX 1.0.0.23-kernel-2.6.29.patch 10972 RMD160 f44e869448d05389a4debeff9de17469a9cec541 SHA1 42b6553dabe9b22170ee7174163bcf73cbf7b8ca SHA256 81125d3a823a85cd3742f00ac268c294bfe0fd05640390b576014210f68195d1
AUX 1.0.0.23-makefile-kernel-dir.patch 2129 RMD160 885b638c78cb0663d0d55682bafd453c6122fe17 SHA1 9a08768a9923d8259346f89ae78deae878b68df9 SHA256 fd583c13433bb3ddc64a21af6c472e3c6a2747990118a22881d2b48c16e5655f
AUX patches/000_all_makefile-include-directory.patch 342 RMD160 ae8b7c2e628681fff153bfa10242e62df5ab2e10 SHA1 be4f203063e676dc022ce600e15479b6ea56b954 SHA256 2da16602ef3c4cb040ac80a9fed18660fadcae2e843f425da0872f50aa5356db
AUX patches/020_all_epoll-def-warnings.patch 435 RMD160 b9152d9af93862c99c72abc1ef97639351d82141 SHA1 d0a40f0483a144fc98d02213c6c63b2e2ddb9f66 SHA256 2033f23fc8d696e1a9d20c6c446703166ea82a4e5e448494e6a52ef09bac7521
@@ -12,5 +13,6 @@ DIST vmware-any-any-update115.tar.gz 493641 RMD160 56cabe56f70c01a22a7671e861cc5
DIST vmware-modules-1.0.0.23.amd64.tar.bz2 489196 RMD160 5ef5d18ec22129cd4563d14ed8b213fdd3ad86ec SHA1 64a2fb7b1195d3ee773b9e49fe8dc9b5d7ffc43a SHA256 7d8028b9da2ad1694a6e71f1f6b1f63a9a03e78249f4cacdfccd1ea508e07d2a
DIST vmware-modules-1.0.0.23.x86.tar.bz2 486085 RMD160 d039206f0ed3fcd93f7acf3bc24c340b8641057a SHA1 5a4e9ed931f6592c8332239e424afdd80b1b46e5 SHA256 5780292e519da9e1512bf78b1e0e6c21e44f4e10f214dcc0caf83af482dedf68
EBUILD vmware-modules-1.0.0.15-r2.ebuild 445 RMD160 d16a678a0c9291289be89006b74782aeb0ba5a7a SHA1 c27bc611caae5e0b4afdc45ed5d62ee238a43b1e SHA256 f387e8c45b0b2fcee19b80a66dd3497981c54297fd9d21b7e01c60fb7e39a65d
-EBUILD vmware-modules-1.0.0.23.ebuild 724 RMD160 35c62995060e0c709dbd690ef63c48a431dfae8a SHA1 6ea6e450fd540c772f5c7227056848f8513939c2 SHA256 a132d0c74e914ff65e0cef0bdbe54e4e9e05e59ad7d1dc72e404d568bd0e31f4
+EBUILD vmware-modules-1.0.0.23.ebuild 772 RMD160 61eb4c999bba9c75f346a976c91926a12939ea12 SHA1 9f6135b4b047f91bb06650263dadc7873b30e6ea SHA256 176e2bbac2d6fccd85979b4c58bcc416a685d1cd61027706826c3c0fecbd00b7
+MISC ChangeLog 753 RMD160 e1878bd15ff77452618d34f07465d307308147ed SHA1 198a0d1e2d6e4d14c47a728a7f6e11ce7c761aec SHA256 b045f38e6df6d9ce21b8d2928d93a0a18fc21c3458345a213ef044ee531d46c8
MISC metadata.xml 159 RMD160 fc7f68a382390e5916b0fb43f37a893fad4f9798 SHA1 f46b02a39bcd0165558de67ff4256cfc812418a3 SHA256 8581ae1c90a48f50fa0542c7fb28cb8984baaf12f50fa18f33e467081effb215
diff --git a/app-emulation/vmware-modules/files/1.0.0.23-kernel-2.6.29.patch b/app-emulation/vmware-modules/files/1.0.0.23-kernel-2.6.29.patch
new file mode 100644
index 0000000..8b613b1
--- /dev/null
+++ b/app-emulation/vmware-modules/files/1.0.0.23-kernel-2.6.29.patch
@@ -0,0 +1,297 @@
+diff -Naur orig/vmblock-only/include/compat_wait.h new/vmblock-only/include/compat_wait.h
+--- orig/vmblock-only/include/compat_wait.h 2008-10-28 22:47:20.000000000 -0700
++++ new/vmblock-only/include/compat_wait.h 2009-01-20 04:49:44.000000000 -0700
+@@ -75,7 +75,11 @@
+ #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) // {
+
+ /* If prototype does not match, build will abort here */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ extern void poll_initwait(compat_poll_wqueues *);
++#else
++extern void poll_initwait(struct poll_wqueues *pwq);
++#endif
+
+ #define compat_poll_initwait(wait, table) ( \
+ (wait) = (table), \
+diff -Naur orig/vmci-only/include/compat_wait.h new/vmci-only/include/compat_wait.h
+--- orig/vmci-only/include/compat_wait.h 2008-10-28 22:47:21.000000000 -0700
++++ new/vmci-only/include/compat_wait.h 2009-01-20 04:49:44.000000000 -0700
+@@ -75,7 +75,11 @@
+ #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) // {
+
+ /* If prototype does not match, build will abort here */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ extern void poll_initwait(compat_poll_wqueues *);
++#else
++extern void poll_initwait(struct poll_wqueues *pwq);
++#endif
+
+ #define compat_poll_initwait(wait, table) ( \
+ (wait) = (table), \
+diff -Naur orig/vmmon-only/include/compat_wait.h new/vmmon-only/include/compat_wait.h
+--- orig/vmmon-only/include/compat_wait.h 2008-10-28 22:47:18.000000000 -0700
++++ new/vmmon-only/include/compat_wait.h 2009-01-20 04:49:44.000000000 -0700
+@@ -75,7 +75,11 @@
+ #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) // {
+
+ /* If prototype does not match, build will abort here */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ extern void poll_initwait(compat_poll_wqueues *);
++#else
++extern void poll_initwait(struct poll_wqueues *pwq);
++#endif
+
+ #define compat_poll_initwait(wait, table) ( \
+ (wait) = (table), \
+diff -Naur orig/vmmon-only/include/x86apic.h new/vmmon-only/include/x86apic.h
+--- orig/vmmon-only/include/x86apic.h 2008-10-28 22:47:17.000000000 -0700
++++ new/vmmon-only/include/x86apic.h 2009-01-20 04:49:44.000000000 -0700
+@@ -94,7 +94,11 @@
+ #define APIC_LVT_DELVMODE(_lvt) (_lvt & 0x700)
+ #define APIC_LVT_RESET_VALUE 0x00010000
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 28)
+ #define APIC_BASE_MSR 0x1b
++#else
++#define APIC_BASE_MSR 0x800
++#endif
+
+ #define APIC_MSR_BASEMASK QWORD(0x0000000f,0xfffff000)
+ #define APIC_MSR_ENABLED 0x00000800
+diff -Naur orig/vmmon-only/linux/driver.c new/vmmon-only/linux/driver.c
+--- orig/vmmon-only/linux/driver.c 2008-10-28 22:47:18.000000000 -0700
++++ new/vmmon-only/linux/driver.c 2009-01-20 04:49:44.000000000 -0700
+@@ -1984,10 +1984,17 @@
+ }
+
+ case IOCTL_VMX86_ALLOW_CORE_DUMP:
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ if (current->euid == current->uid &&
+ current->fsuid == current->uid &&
+ current->egid == current->gid &&
+ current->fsgid == current->gid) {
++#else /* 2.6.29 and higher */
++ if (current->cred->euid == current->cred->uid &&
++ current->cred->fsuid == current->cred->uid &&
++ current->cred->egid == current->cred->gid &&
++ current->cred->fsgid == current->cred->gid) {
++#endif /* 2.6.29 check */
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 23) || defined(MMF_DUMPABLE)
+ /* Dump core, readable by user. */
+ set_bit(MMF_DUMPABLE, &current->mm->flags);
+diff -Naur orig/vmmon-only/linux/hostif.c new/vmmon-only/linux/hostif.c
+--- orig/vmmon-only/linux/hostif.c 2008-10-28 22:47:17.000000000 -0700
++++ new/vmmon-only/linux/hostif.c 2009-01-20 04:49:44.000000000 -0700
+@@ -2718,13 +2718,22 @@
+ set_fs(get_ds());
+
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ compat_poll_wqueues table;
+ poll_table *wait;
++#else /* 2.6.29 and above */
++ struct poll_wqueues table;
++ struct poll_wqueues *wait;
++#endif /* 2.6.29 and above */
+ unsigned int mask;
+
+ compat_poll_initwait(wait, &table);
+ current->state = TASK_INTERRUPTIBLE;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ mask = file->f_op->poll(file, wait);
++#else
++ mask = file->f_op->poll(file, (poll_table *) wait);
++#endif /* 2.6.29 */
+ if (!(mask & (POLLIN | POLLERR | POLLHUP))) {
+ #ifdef KERNEL_2_4_0
+ vm->vmhost->vcpuSemaTask[vcpuid] = current;
+@@ -2743,7 +2752,6 @@
+ }
+
+ res = file->f_op->read(file, &ch, 1, &file->f_pos);
+-
+ set_fs(old_fs);
+ compat_fput(file);
+
+@@ -3455,8 +3463,13 @@
+ oldFS = get_fs();
+ set_fs(KERNEL_DS);
+ compat_allow_signal(SIGKILL);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ cap_raise(current->cap_effective, CAP_SYS_RESOURCE);
+ compat_set_user_nice(current, linuxState.fastClockPriority);
++#else /* 2.6.29 */
++ (void) cap_raised(current->cred->cap_effective, CAP_SYS_RESOURCE);
++ set_user_nice(current, linuxState.fastClockPriority);
++#endif /* 2.6.29 and higher */
+
+ while (linuxState.fastClockRate > HZ + HZ/16) {
+ unsigned long buf;
+@@ -3579,19 +3592,38 @@
+ Bool cap;
+ long pid;
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ fsuid = current->fsuid;
+ current->fsuid = 0;
++#else
++ fsuid = current->cred->fsuid;
++#warning current->cred->fsuid = 0;
++#endif /* 2.6.29 */
+ filp = filp_open("/dev/rtc", O_RDONLY, 0);
++
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ current->fsuid = fsuid;
++#else
++#warning current->cred->fsuid = fsuid;
++#endif /* 2.6.29 */
+ if (IS_ERR(filp)) {
+ Warning("/dev/rtc open failed: %d\n", (int)(VA)filp);
+ return -(int)(VA)filp;
+ }
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ cap = cap_raised(current->cap_effective, CAP_SYS_RESOURCE);
+ cap_raise(current->cap_effective, CAP_SYS_RESOURCE);
++#else /* 2.6.29 */
++ cap = cap_raised(current->cred->cap_effective, CAP_SYS_RESOURCE);
++ (void) cap_raised(current->cred->cap_effective, CAP_SYS_RESOURCE);
++#endif /* 2.6.29 */
+ res = HostIFDoIoctl(filp, RTC_PIE_ON, 0);
+ if (!cap) {
+- cap_lower(current->cap_effective, CAP_SYS_RESOURCE);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
++ cap_lower(current->cap_effective, CAP_SYS_RESOURCE);
++#else
++#warning cap_lower(current->cred->cap_effective, CAP_SYS_RESOURCE);
++#endif /* 2.6.29 */
+ }
+ if (res < 0) {
+ Warning("/dev/rtc enable interrupt failed: %d\n", res);
+diff -Naur orig/vmmon-only/linux/vmmonInt.h new/vmmon-only/linux/vmmonInt.h
+--- orig/vmmon-only/linux/vmmonInt.h 2008-10-28 22:47:17.000000000 -0700
++++ new/vmmon-only/linux/vmmonInt.h 2009-01-20 04:49:44.000000000 -0700
+@@ -46,7 +46,10 @@
+ #endif
+
+ #if defined(CONFIG_SMP) && LINUX_VERSION_CODE >= KERNEL_VERSION(2, 2, 8)
+-#ifdef VMW_HAVE_SMP_CALL_3ARG
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
++#define VMW_HAVE_SMP_CALL_3ARG
++#endif
++#ifdef VMW_HAVE_SMP_CALL_3ARG
+ #define compat_smp_call_function(fn, info, wait) smp_call_function(fn, info, wait)
+ #else
+ #define compat_smp_call_function(fn, info, wait) smp_call_function(fn, info, 1, wait)
+diff -Naur orig/vmnet-only/bridge.c new/vmnet-only/bridge.c
+--- orig/vmnet-only/bridge.c 2008-10-28 22:47:18.000000000 -0700
++++ new/vmnet-only/bridge.c 2009-01-20 04:49:44.000000000 -0700
+@@ -646,7 +646,11 @@
+ dev_unlock_list();
+ } else {
+ struct sock *sk = bridge->sk;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ atomic_add(skb->truesize, &sk->sk_wmem_alloc);
++#else
++#warning EHUD gotta figure out what this does and how to fix it: atomic_add(skb->truesize, &sk->sk_wmem_alloc);
++#endif /* 2.6.29 */
+ clone->sk = sk;
+ clone->protocol = ((struct ethhdr *)skb->data)->h_proto; // XXX
+ if ((dev->flags & IFF_UP) != 0) {
+diff -Naur orig/vmnet-only/compat_wait.h new/vmnet-only/compat_wait.h
+--- orig/vmnet-only/compat_wait.h 2008-10-28 22:47:19.000000000 -0700
++++ new/vmnet-only/compat_wait.h 2009-01-20 04:49:44.000000000 -0700
+@@ -75,7 +75,11 @@
+ #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) // {
+
+ /* If prototype does not match, build will abort here */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ extern void poll_initwait(compat_poll_wqueues *);
++#else /* 2.6.29 */
++extern void poll_initwait(struct poll_wqueues *);
++#endif /* 2.6.29 */
+
+ #define compat_poll_initwait(wait, table) ( \
+ (wait) = (table), \
+diff -Naur orig/vmnet-only/driver.c new/vmnet-only/driver.c
+--- orig/vmnet-only/driver.c 2008-10-28 22:47:19.000000000 -0700
++++ new/vmnet-only/driver.c 2009-01-20 04:49:44.000000000 -0700
+@@ -146,6 +146,13 @@
+ .owner = THIS_MODULE,
+ .obj_size = sizeof(struct sock),
+ };
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
++struct proto vmnet_proto = {
++ .name = "VMNET",
++ .owner = THIS_MODULE,
++ .obj_size = sizeof(struct sock),
++};
++
+ #endif
+
+ /*
+diff -Naur orig/vmnet-only/netif.c new/vmnet-only/netif.c
+--- orig/vmnet-only/netif.c 2008-10-28 22:47:18.000000000 -0700
++++ new/vmnet-only/netif.c 2009-01-20 04:49:44.000000000 -0700
+@@ -324,7 +324,10 @@
+ goto out;
+ }
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ dev->priv = netIf;
++#endif /* 2.6.29 */
++
+ netIf->dev = dev;
+
+ memcpy(dev->dev_addr, netIf->port.paddr, sizeof netIf->port.paddr);
+@@ -566,7 +569,11 @@
+ VNetNetifStartXmit(struct sk_buff *skb, // IN:
+ struct net_device *dev) // IN:
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ VNetNetIF *netIf = (VNetNetIF*)dev->priv;
++#else
++ VNetNetIF *netIf = netdev_priv(dev);
++#endif /* 2.6.29 */
+
+ if(skb == NULL) {
+ return 0;
+@@ -618,7 +625,12 @@
+ VNetNetifSetMAC(struct net_device *dev, // IN:
+ void *p) // IN:
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ VNetNetIF *netIf = (VNetNetIF*)dev->priv;
++#else
++ VNetNetIF *netIf = netdev_priv(dev);
++#endif /* 2.6.29 */
++
+ struct sockaddr const *addr = p;
+ if (!VMX86_IS_STATIC_MAC(addr->sa_data)) {
+ return -EINVAL;
+@@ -675,7 +687,11 @@
+ struct net_device_stats *
+ VNetNetifGetStats(struct net_device *dev) // IN:
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ VNetNetIF *netIf = (VNetNetIF*)dev->priv;
++#else
++ VNetNetIF *netIf = netdev_priv(dev);
++#endif /* 2.6.29 */
+ return &(netIf->stats);
+ }
+
+diff -Naur orig/vsock-only/include/compat_wait.h new/vsock-only/include/compat_wait.h
+--- orig/vsock-only/include/compat_wait.h 2009-01-20 14:11:34.000000000 +0100
++++ new/vsock-only/include/compat_wait.h 2009-01-20 14:51:05.000000000 +0100
+@@ -75,7 +75,11 @@
+ #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) // {
+
+ /* If prototype does not match, build will abort here */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 29)
+ extern void poll_initwait(compat_poll_wqueues *);
++#else
++extern void poll_initwait(struct poll_wqueues *pwq);
++#endif
+
+ #define compat_poll_initwait(wait, table) ( \
+ (wait) = (table), \
diff --git a/app-emulation/vmware-modules/vmware-modules-1.0.0.23.ebuild b/app-emulation/vmware-modules/vmware-modules-1.0.0.23.ebuild
index fc452d7..7933eee 100644
--- a/app-emulation/vmware-modules/vmware-modules-1.0.0.23.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-1.0.0.23.ebuild
@@ -18,5 +18,6 @@ VMWARE_MOD_DIR="${P}"
src_unpack() {
vmware-mod_src_unpack
cd "${S}"
+ epatch "${FILESDIR}/${PV}-kernel-2.6.29.patch"
epatch "${FILESDIR}/${PV}-makefile-kernel-dir.patch"
}