summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Kuznetsov <vadimk@gentoo.org>2010-08-04 17:38:44 +0000
committerVadim Kuznetsov <vadimk@gentoo.org>2010-08-04 17:38:44 +0000
commitabb96c146716e223fc77751fc3d26f2d747c9e1f (patch)
tree8f23623ab2410d2022bb1c6444ead5cb09d041e4 /app-emulation
parentvmware-{player,workstation}: depend on OpenSSL 0.9.8* specifically (diff)
downloadvmware-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/ChangeLog5
-rw-r--r--app-emulation/vmware-modules/Manifest6
-rw-r--r--app-emulation/vmware-modules/files/iommu_map.patch41
-rw-r--r--app-emulation/vmware-modules/files/sk_sleep.patch242
-rw-r--r--app-emulation/vmware-modules/vmware-modules-235.ebuild3
-rw-r--r--app-emulation/vmware-modules/vmware-modules-238.ebuild2
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() {