diff options
author | Vadim Kuznetsov <vadimk@gentoo.org> | 2010-08-04 17:38:44 +0000 |
---|---|---|
committer | Vadim Kuznetsov <vadimk@gentoo.org> | 2010-08-04 17:38:44 +0000 |
commit | abb96c146716e223fc77751fc3d26f2d747c9e1f (patch) | |
tree | 8f23623ab2410d2022bb1c6444ead5cb09d041e4 /app-emulation | |
parent | vmware-{player,workstation}: depend on OpenSSL 0.9.8* specifically (diff) | |
download | vmware-abb96c146716e223fc77751fc3d26f2d747c9e1f.tar.gz vmware-abb96c146716e223fc77751fc3d26f2d747c9e1f.tar.bz2 vmware-abb96c146716e223fc77751fc3d26f2d747c9e1f.zip |
patches for 2.6.35 kernel
svn path=/trunk/; revision=418
Diffstat (limited to 'app-emulation')
-rw-r--r-- | app-emulation/vmware-modules/ChangeLog | 5 | ||||
-rw-r--r-- | app-emulation/vmware-modules/Manifest | 6 | ||||
-rw-r--r-- | app-emulation/vmware-modules/files/iommu_map.patch | 41 | ||||
-rw-r--r-- | app-emulation/vmware-modules/files/sk_sleep.patch | 242 | ||||
-rw-r--r-- | app-emulation/vmware-modules/vmware-modules-235.ebuild | 3 | ||||
-rw-r--r-- | app-emulation/vmware-modules/vmware-modules-238.ebuild | 2 |
6 files changed, 297 insertions, 2 deletions
diff --git a/app-emulation/vmware-modules/ChangeLog b/app-emulation/vmware-modules/ChangeLog index 5c0eb8d..b7b3c79 100644 --- a/app-emulation/vmware-modules/ChangeLog +++ b/app-emulation/vmware-modules/ChangeLog @@ -2,6 +2,11 @@ # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 04 Aug 2010; Vadim Kuznetsov <vadimk@gentoo.org> + vmware-modules-235.ebuild, vmware-modules-238.ebuild, + +files/iommu_map.patch, +files/sk_sleep.patch: + patches for 2.6.35 kernel + 23 May 2010; Matt Whitlock (whitslack) <matt@whitlock.name> vmware-modules-1.0.0.27.ebuild: also allow vmware-workstation as provider of module sources diff --git a/app-emulation/vmware-modules/Manifest b/app-emulation/vmware-modules/Manifest index 27d5bc2..f2476cd 100644 --- a/app-emulation/vmware-modules/Manifest +++ b/app-emulation/vmware-modules/Manifest @@ -1,6 +1,7 @@ AUX 1.0.0.26-makefile-include.patch 2791 RMD160 8665507d2b565931dc13a5f49eec6e33205d42fb SHA1 d48ca9316e65d536e50d07dfe945a6ff195be7cd SHA256 ac676433ca499268bd6a1f0d7d904a44095bb1a777ad31d055e8c4990eea586c AUX 1.0.0.26-makefile-kernel-dir.patch 2201 RMD160 22b81e2c3c347ac6bad3afef15eea31250c34f2a SHA1 033160ded8fda76e6f016040cc4bb3f4ca0dd603 SHA256 780b79fcc6e8e836632f4542ac6c3da2d475b3ad1e2e88e1c51aea849a5172c7 AUX apic.patch 294 RMD160 ab0d6fea359f66ccd735cd3bc830442f6f6baa39 SHA1 537f1a903b94ea379003cf4e50c9507ae403c595 SHA256 6902f8dd82d48f479a3e5647e3bd7125d073f242dd85a5b2ddfd51f4ea8f663c +AUX iommu_map.patch 1630 RMD160 b403a19350d3a73e6ecf74159763b31d6d20b630 SHA1 d021dbbdb59273048806c09b8f59bd97a8883017 SHA256 6253ba1c6bd211d68e79ce9e811cdcc60ebc022a7787874922db552b32ef2b09 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 AUX patches/vmblock/010_all_kernel-2.6.25.patch 2398 RMD160 d0a3464f03486eda983b230d0bd90bca8a5d7ed3 SHA1 b5de035a7d1f0051a76512be7e25b04ff3d0dbdd SHA256 4036d37415cad6109e95e82c3789f32ea2c4901961612fb158d5f7148671b32e @@ -10,9 +11,10 @@ AUX patches/vmmon/040_all_kernel-2.6.27.patch 17842 RMD160 b0caa9c331e46d30383d4 AUX patches/vmnet/021_all_wireless_fix.patch 668 RMD160 dbcd47fc4749b36417d028a5701b831035853d9e SHA1 a3e714383be2e0abbc434d5f3ef5253b72978c81 SHA256 231e4c15eb67753da10c01cfebecd851a01f6956263df69e4fb5a9a42957ff60 AUX patches/vmnet/025_all_kernel-2.6.25.patch 939 RMD160 c7f9f0b9e7bf98b4b37db70926c1c463874e8458 SHA1 43f8f9a5a0b9a28223ad901afd5b45749447bdc4 SHA256 a3247b261376f7cde78724d5704c4ea2511d54644f9c2b776b41f19d261cba17 AUX patches/vmnet/030_all_kernel-2.6.27.patch 2236 RMD160 1b415cd3aeab9a7ce1cb23e9efc99534983e6645 SHA1 26e62550971e5f4f1328a0c546e219d0e493f781 SHA256 43f3f49c21c797a6ee184af258eef61dd2fd9b9e2be2f104a86607e28ffcd36a +AUX sk_sleep.patch 6937 RMD160 e15642e34906138278563d57e9647e4e579d437e SHA1 ce9a3e9069bb85cb9793c59d38ad4f217ba8d5b2 SHA256 67a019290204b36410996ecd1bbe4e630b2022970ddb236a120abf1b810f05b4 DIST vmware-any-any-update115.tar.gz 493641 RMD160 56cabe56f70c01a22a7671e861cc5a2df19855c7 SHA1 ff9b6fdf6ca74495eb5f4822a1854fc91185377c SHA256 b1c14fa9514663b85c2efe8331407e71cce96e5a21a8b941fa570c960bbdcaa1 EBUILD vmware-modules-1.0.0.15-r2.ebuild 445 RMD160 d16a678a0c9291289be89006b74782aeb0ba5a7a SHA1 c27bc611caae5e0b4afdc45ed5d62ee238a43b1e SHA256 f387e8c45b0b2fcee19b80a66dd3497981c54297fd9d21b7e01c60fb7e39a65d -EBUILD vmware-modules-235.ebuild 1751 RMD160 7d4e22ef6f9b51fb2dd049a4c314076d87d9aaaf SHA1 60f8ca5fa83fa91efc955d1b378273229c7b170a SHA256 a6743d81f7625e53633fc860ee604acc1a63388a801e6a8fc9e9671125ef2371 -EBUILD vmware-modules-238.ebuild 1751 RMD160 b6dc7365a95d5084bfe5fcd38c06df2704f5a970 SHA1 db766bc6df84a6083f9838cce7510f0555a3a3f1 SHA256 3de9f3998603978cd2a1ec0a96d790f071a1b5eaacf97ca17081d539acfc4df2 +EBUILD vmware-modules-235.ebuild 1867 RMD160 7b2f32e517c869ca94109d13ded6b86be28f1ca2 SHA1 9d3d8e2301c90cd6fc17d8b709e0c900b88939d1 SHA256 586a938c4b69e546fff97dd3ec96a02e971630888c7e517c00ee0a60ba94b1fb +EBUILD vmware-modules-238.ebuild 1866 RMD160 c6199dc4df7092a632fd0995df0655624e6042dd SHA1 2bab733e9ec133913a652370965b287eef4dfa49 SHA256 aad35d6ee5641e7f4f1b76eb6f203cb0ef6c75f0b929c81e7e42ebfe64815d0a MISC ChangeLog 1155 RMD160 0e419cfe24a45e5433fd9e2a65c779de4736abb4 SHA1 748c47e9b622b2d17468d67eec1a0164a3737c0e SHA256 82fa5cd4d5e8f1a176607f91aaf8ddf84cc074e1e2389020d1df3f0d7e37ea1d MISC metadata.xml 159 RMD160 fc7f68a382390e5916b0fb43f37a893fad4f9798 SHA1 f46b02a39bcd0165558de67ff4256cfc812418a3 SHA256 8581ae1c90a48f50fa0542c7fb28cb8984baaf12f50fa18f33e467081effb215 diff --git a/app-emulation/vmware-modules/files/iommu_map.patch b/app-emulation/vmware-modules/files/iommu_map.patch new file mode 100644 index 0000000..bf714b0 --- /dev/null +++ b/app-emulation/vmware-modules/files/iommu_map.patch @@ -0,0 +1,41 @@ +diff -ru8 original//vmmon-only/linux/iommu.c patched//vmmon-only/linux/iommu.c +--- original//vmmon-only/linux/iommu.c 2010-05-21 02:45:24.000000000 -0400 ++++ patched//vmmon-only/linux/iommu.c 2010-06-16 10:39:09.000000000 -0400 +@@ -148,17 +148,17 @@ + printk(KERN_ERR "%s: the physical page number 0x%x is not valid.\n", + __func__, mpn); + status = -EINVAL; + goto out; + } + map_to = PPN_2_PA(mpn); + map_prot = IOMMU_READ | IOMMU_WRITE; + } +- if ((status = iommu_map_range(vmLinux->iommuDomain, ++ if ((status = iommu_map(vmLinux->iommuDomain, + PPN_2_PA(ppn), + map_to, PAGE_SIZE, map_prot))) { + printk(KERN_ERR "%s: IOMMU Mapping of PPN 0x%x -> MPN 0x%x " + "could not be established.\n", __func__, ppn, mpn); + goto out; + } + } + printk(KERN_DEBUG "%s: IOMMU domain is created.\n", __func__); +@@ -395,17 +395,17 @@ + list_del(&passthruDevice->list); + IOMMUUnregisterDeviceInt(passthruDevice); + } + } + spin_unlock(&passthruDeviceListLock); + + /* Relinquish the IOMMU domain used by this VM. */ + for (ppn = 0; ppn < vmLinux->numPages; ppn++) { +- iommu_unmap_range(vmLinux->iommuDomain, PPN_2_PA(ppn), PAGE_SIZE); ++ iommu_unmap(vmLinux->iommuDomain, PPN_2_PA(ppn), PAGE_SIZE); + } + if (vmLinux->iommuDomain) { + iommu_domain_free(vmLinux->iommuDomain); + vmLinux->iommuDomain = NULL; + printk(KERN_INFO "%s: IOMMU domain is destroyed.\n", __func__); + } + } + diff --git a/app-emulation/vmware-modules/files/sk_sleep.patch b/app-emulation/vmware-modules/files/sk_sleep.patch new file mode 100644 index 0000000..583b6c8 --- /dev/null +++ b/app-emulation/vmware-modules/files/sk_sleep.patch @@ -0,0 +1,242 @@ +diff -ru8 original//vsock-only/linux/af_vsock.c patched//vsock-only/linux/af_vsock.c +--- original//vsock-only/linux/af_vsock.c 2010-05-21 00:17:27.000000000 -0400 ++++ patched//vsock-only/linux/af_vsock.c 2010-06-15 23:48:52.000000000 -0400 +@@ -3216,17 +3216,17 @@ + } + + /* + * The receive path will handle all communication until we are able to enter + * the connected state. Here we wait for the connection to be completed or + * a notification of an error. + */ + timeout = sock_sndtimeo(sk, flags & O_NONBLOCK); +- compat_init_prepare_to_wait(sk->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE); ++ compat_init_prepare_to_wait(compat_sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); + + while (sk->compat_sk_state != SS_CONNECTED && sk->compat_sk_err == 0) { + if (timeout == 0) { + /* + * If we're not going to block, skip ahead to preserve error code set + * above. + */ + goto outWait; +@@ -3239,29 +3239,29 @@ + if (signal_pending(current)) { + err = sock_intr_errno(timeout); + goto outWaitError; + } else if (timeout == 0) { + err = -ETIMEDOUT; + goto outWaitError; + } + +- compat_cont_prepare_to_wait(sk->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE); ++ compat_cont_prepare_to_wait(compat_sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); + } + + if (sk->compat_sk_err) { + err = -sk->compat_sk_err; + goto outWaitError; + } else { + ASSERT(sk->compat_sk_state == SS_CONNECTED); + err = 0; + } + + outWait: +- compat_finish_wait(sk->compat_sk_sleep, &wait, TASK_RUNNING); ++ compat_finish_wait(compat_sk_sleep(sk), &wait, TASK_RUNNING); + out: + release_sock(sk); + return err; + + outWaitError: + sk->compat_sk_state = SS_UNCONNECTED; + sock->state = SS_UNCONNECTED; + goto outWait; +@@ -3311,33 +3311,33 @@ + goto out; + } + + /* + * Wait for children sockets to appear; these are the new sockets created + * upon connection establishment. + */ + timeout = sock_sndtimeo(listener, flags & O_NONBLOCK); +- compat_init_prepare_to_wait(listener->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE); ++ compat_init_prepare_to_wait(compat_sk_sleep(listener), &wait, TASK_INTERRUPTIBLE); + + while ((connected = VSockVmciDequeueAccept(listener)) == NULL && + listener->compat_sk_err == 0) { + release_sock(listener); + timeout = schedule_timeout(timeout); + lock_sock(listener); + + if (signal_pending(current)) { + err = sock_intr_errno(timeout); + goto outWait; + } else if (timeout == 0) { + err = -EAGAIN; + goto outWait; + } + +- compat_cont_prepare_to_wait(listener->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE); ++ compat_cont_prepare_to_wait(compat_sk_sleep(listener), &wait, TASK_INTERRUPTIBLE); + } + + if (listener->compat_sk_err) { + err = -listener->compat_sk_err; + } + + if (connected) { + listener->compat_sk_ack_backlog--; +@@ -3361,17 +3361,17 @@ + + newsock->state = SS_CONNECTED; + sock_graft(connected, newsock); + release_sock(connected); + sock_put(connected); + } + + outWait: +- compat_finish_wait(listener->compat_sk_sleep, &wait, TASK_RUNNING); ++ compat_finish_wait(compat_sk_sleep(listener), &wait, TASK_RUNNING); + out: + release_sock(listener); + return err; + } + + + /* + *---------------------------------------------------------------------------- +@@ -3459,17 +3459,17 @@ + { + struct sock *sk; + unsigned int mask; + VSockVmciSock *vsk; + + sk = sock->sk; + vsk = vsock_sk(sk); + +- poll_wait(file, sk->compat_sk_sleep, wait); ++ poll_wait(file, compat_sk_sleep(sk), wait); + mask = 0; + + if (sk->compat_sk_err) { + /* Signify that there has been an error on this socket. */ + mask |= POLLERR; + } + + /* +@@ -4099,17 +4099,17 @@ + */ + timeout = sock_sndtimeo(sk, msg->msg_flags & MSG_DONTWAIT); + + NOTIFYCALLRET(vsk, err, sendInit, sk, &sendData); + if (err < 0) { + goto out; + } + +- compat_init_prepare_to_wait(sk->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE); ++ compat_init_prepare_to_wait(compat_sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); + + while (totalWritten < len) { + Bool sentWrote; + unsigned int retries; + ssize_t written; + + sentWrote = FALSE; + retries = 0; +@@ -4136,17 +4136,17 @@ + if (signal_pending(current)) { + err = sock_intr_errno(timeout); + goto outWait; + } else if (timeout == 0) { + err = -EAGAIN; + goto outWait; + } + +- compat_cont_prepare_to_wait(sk->compat_sk_sleep, ++ compat_cont_prepare_to_wait(compat_sk_sleep(sk), + &wait, TASK_INTERRUPTIBLE); + } + + /* + * These checks occur both as part of and after the loop conditional + * since we need to check before and after sleeping. + */ + if (sk->compat_sk_err) { +@@ -4189,17 +4189,17 @@ + } + + ASSERT(totalWritten <= INT_MAX); + + outWait: + if (totalWritten > 0) { + err = totalWritten; + } +- compat_finish_wait(sk->compat_sk_sleep, &wait, TASK_RUNNING); ++ compat_finish_wait(compat_sk_sleep(sk), &wait, TASK_RUNNING); + out: + release_sock(sk); + return err; + } + + + /* + *---------------------------------------------------------------------------- +@@ -4423,17 +4423,17 @@ + timeout = sock_rcvtimeo(sk, flags & MSG_DONTWAIT); + copied = 0; + + NOTIFYCALLRET(vsk, err, recvInit, sk, target, &recvData); + if (err < 0) { + goto out; + } + +- compat_init_prepare_to_wait(sk->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE); ++ compat_init_prepare_to_wait(compat_sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); + + while ((ready = VSockVmciStreamHasData(vsk)) < target && + sk->compat_sk_err == 0 && + !(sk->compat_sk_shutdown & RCV_SHUTDOWN) && + !(vsk->peerShutdown & SEND_SHUTDOWN)) { + + if (ready < 0) { + /* +@@ -4463,17 +4463,17 @@ + if (signal_pending(current)) { + err = sock_intr_errno(timeout); + goto outWait; + } else if (timeout == 0) { + err = -EAGAIN; + goto outWait; + } + +- compat_cont_prepare_to_wait(sk->compat_sk_sleep, &wait, TASK_INTERRUPTIBLE); ++ compat_cont_prepare_to_wait(compat_sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); + } + + if (sk->compat_sk_err) { + err = -sk->compat_sk_err; + goto outWait; + } else if (sk->compat_sk_shutdown & RCV_SHUTDOWN) { + err = 0; + goto outWait; +@@ -4529,17 +4529,17 @@ + if (err < 0) { + goto outWait; + } + + ASSERT(copied <= INT_MAX); + err = copied; + + outWait: +- compat_finish_wait(sk->compat_sk_sleep, &wait, TASK_RUNNING); ++ compat_finish_wait(compat_sk_sleep(sk), &wait, TASK_RUNNING); + out: + release_sock(sk); + return err; + } + + + /* + * Protocol operation. diff --git a/app-emulation/vmware-modules/vmware-modules-235.ebuild b/app-emulation/vmware-modules/vmware-modules-235.ebuild index e9df654..4ee5f0b 100644 --- a/app-emulation/vmware-modules/vmware-modules-235.ebuild +++ b/app-emulation/vmware-modules/vmware-modules-235.ebuild @@ -53,6 +53,9 @@ src_prepare() { epatch "${FILESDIR}/1.0.0.26-makefile-kernel-dir.patch" epatch "${FILESDIR}/1.0.0.26-makefile-include.patch" epatch "${FILESDIR}/apic.patch" + kernel_is 2 6 35 && epatch "${FILESDIR}/iommu_map.patch" + kernel_is 2 6 35 && epatch "${FILESDIR}/sk_sleep.patch" + } src_install() { diff --git a/app-emulation/vmware-modules/vmware-modules-238.ebuild b/app-emulation/vmware-modules/vmware-modules-238.ebuild index 407db91..b4091c6 100644 --- a/app-emulation/vmware-modules/vmware-modules-238.ebuild +++ b/app-emulation/vmware-modules/vmware-modules-238.ebuild @@ -53,6 +53,8 @@ src_prepare() { epatch "${FILESDIR}/1.0.0.26-makefile-kernel-dir.patch" epatch "${FILESDIR}/1.0.0.26-makefile-include.patch" epatch "${FILESDIR}/apic.patch" + kernel_is 2 6 35 && epatch "${FILESDIR}/iommu_map.patch" + kernel_is 2 6 35 && epatch "${FILESDIR}/sk_sleep.patch" } src_install() { |