summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/vmware-modules')
-rw-r--r--app-emulation/vmware-modules/Manifest2
-rw-r--r--app-emulation/vmware-modules/files/264.2-3.2.0.patch86
-rw-r--r--app-emulation/vmware-modules/vmware-modules-264.2.ebuild79
3 files changed, 167 insertions, 0 deletions
diff --git a/app-emulation/vmware-modules/Manifest b/app-emulation/vmware-modules/Manifest
index 9b40d8d..0190d23 100644
--- a/app-emulation/vmware-modules/Manifest
+++ b/app-emulation/vmware-modules/Manifest
@@ -14,6 +14,7 @@ AUX 264-jobserver.patch 2899 RMD160 0a90332d966245e11f1ecee5a60e47779a746ccb SHA
AUX 264-makefile-include.patch 2501 RMD160 da46f1229097539c7272d421f4d50b322e4d6e28 SHA1 30b57e8033e49eaf4923a4032765950e684533fc SHA256 208121855fe18ecb279ff40f2833463559363461c2170d32c17040211a01f169
AUX 264-makefile-kernel-dir.patch 2201 RMD160 22b81e2c3c347ac6bad3afef15eea31250c34f2a SHA1 033160ded8fda76e6f016040cc4bb3f4ca0dd603 SHA256 780b79fcc6e8e836632f4542ac6c3da2d475b3ad1e2e88e1c51aea849a5172c7
AUX 264-netdevice.patch 833 RMD160 552fa78378ac721865a0629a4a29318a11e6b1bd SHA1 16d95a575ea14de67d11f4faf72842c3edb96dea SHA256 8f17ce379abda45a8f94e1dcd6e43367273f97f76edd41f9941beb3b1730a751
+AUX 264.2-3.2.0.patch 2949 RMD160 e343db72eeb80e43ab5fbd5b4c2efebcb81c2c5e SHA1 bf88b0be9fcdc9705de846452d44833e0b146c11 SHA256 4105952362a9bf8a054df1c23f2562e86f79b3bef70696422548c01db248c1b0
AUX apic.patch 294 RMD160 ab0d6fea359f66ccd735cd3bc830442f6f6baa39 SHA1 537f1a903b94ea379003cf4e50c9507ae403c595 SHA256 6902f8dd82d48f479a3e5647e3bd7125d073f242dd85a5b2ddfd51f4ea8f663c
AUX iommu_map.patch 1630 RMD160 b403a19350d3a73e6ecf74159763b31d6d20b630 SHA1 d021dbbdb59273048806c09b8f59bd97a8883017 SHA256 6253ba1c6bd211d68e79ce9e811cdcc60ebc022a7787874922db552b32ef2b09
AUX sk_sleep.patch 6937 RMD160 e15642e34906138278563d57e9647e4e579d437e SHA1 ce9a3e9069bb85cb9793c59d38ad4f217ba8d5b2 SHA256 67a019290204b36410996ecd1bbe4e630b2022970ddb236a120abf1b810f05b4
@@ -23,4 +24,5 @@ EBUILD vmware-modules-138.10.7.ebuild 1825 RMD160 3e4999c91f97217815c9d8ad852a63
EBUILD vmware-modules-208.2.ebuild 1861 RMD160 6641f57a7906ff1eb243e14561c37475eda6d910 SHA1 aab9187681ca6b88b4178b98d259116130c39037 SHA256 140d78cc98da4cd19a24d593bec01417793592212273d632adfc465fe80ff311
EBUILD vmware-modules-238.5.ebuild 2087 RMD160 4ce59dbfcd91b1c7fb7890db44598b712bd4a167 SHA1 81b125573edfa561de02b9f8c4dd4dd96a44002b SHA256 25544d4c0c21e3ccd72f6730a9336487e5020c743bfa400c01d5c0623a504f2f
EBUILD vmware-modules-264.1.ebuild 1829 RMD160 0c13052213d7d078fde686aea8a873a23c3a167f SHA1 3965690ea5ffcd4818cfe0c6374d831df4ddd65a SHA256 ac0764230499f08db9bb0e32ccdb03aeae0d25e5205478c3820ec290601765cf
+EBUILD vmware-modules-264.2.ebuild 1823 RMD160 980fcbf2c20bc641c3dab7f9558c95f5b651d819 SHA1 fff835ce0251bfb73b5ce73d18208d11980fa597 SHA256 b525a28f480cd0450d0d00bd24741bd8fa263b1a49a795fd9d23b6abdefed536
MISC metadata.xml 159 RMD160 fc7f68a382390e5916b0fb43f37a893fad4f9798 SHA1 f46b02a39bcd0165558de67ff4256cfc812418a3 SHA256 8581ae1c90a48f50fa0542c7fb28cb8984baaf12f50fa18f33e467081effb215
diff --git a/app-emulation/vmware-modules/files/264.2-3.2.0.patch b/app-emulation/vmware-modules/files/264.2-3.2.0.patch
new file mode 100644
index 0000000..87f8914
--- /dev/null
+++ b/app-emulation/vmware-modules/files/264.2-3.2.0.patch
@@ -0,0 +1,86 @@
+diff --git a/vmnet-only/filter.c b/vmnet-only/filter.c
+index 491add5..74f7a3b 100644
+--- a/vmnet-only/filter.c
++++ b/vmnet-only/filter.c
+@@ -40,6 +40,10 @@
+ #include "vnetInt.h"
+ #include "vmnetInt.h"
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0)
++#include <linux/export.h>
++#endif
++
+ // VNet_FilterLogPacket.action for dropped packets
+ #define VNET_FILTER_ACTION_DRP (1)
+ #define VNET_FILTER_ACTION_DRP_SHORT (2)
+diff --git a/vmnet-only/netif.c b/vmnet-only/netif.c
+index 4bdb643..5b71339 100644
+--- a/vmnet-only/netif.c
++++ b/vmnet-only/netif.c
+@@ -62,7 +62,9 @@ static int VNetNetifClose(struct net_device *dev);
+ static int VNetNetifStartXmit(struct sk_buff *skb, struct net_device *dev);
+ static struct net_device_stats *VNetNetifGetStats(struct net_device *dev);
+ static int VNetNetifSetMAC(struct net_device *dev, void *addr);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0)
+ static void VNetNetifSetMulticast(struct net_device *dev);
++#endif
+ #if 0
+ static void VNetNetifTxTimeout(struct net_device *dev);
+ #endif
+@@ -131,7 +133,9 @@ VNetNetIfSetup(struct net_device *dev) // IN:
+ .ndo_stop = VNetNetifClose,
+ .ndo_get_stats = VNetNetifGetStats,
+ .ndo_set_mac_address = VNetNetifSetMAC,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0)
+ .ndo_set_multicast_list = VNetNetifSetMulticast,
++#endif
+ /*
+ * We cannot stuck... If someone will report problems under
+ * low memory conditions or some such, we should enable it.
+@@ -152,7 +156,9 @@ VNetNetIfSetup(struct net_device *dev) // IN:
+ dev->stop = VNetNetifClose;
+ dev->get_stats = VNetNetifGetStats;
+ dev->set_mac_address = VNetNetifSetMAC;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0)
+ dev->set_multicast_list = VNetNetifSetMulticast;
++#endif
+ /*
+ * We cannot stuck... If someone will report problems under
+ * low memory conditions or some such, we should enable it.
+@@ -612,11 +618,12 @@ VNetNetifSetMAC(struct net_device *dev, // IN:
+ *----------------------------------------------------------------------
+ */
+
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0)
+ void
+ VNetNetifSetMulticast(struct net_device *dev) // IN: unused
+ {
+ }
+-
++#endif
+
+ /*
+ *----------------------------------------------------------------------
+diff --git a/vmnet-only/userif.c b/vmnet-only/userif.c
+index 541187b..77e0089 100644
+--- a/vmnet-only/userif.c
++++ b/vmnet-only/userif.c
+@@ -517,10 +517,18 @@ VNetCsumCopyDatagram(const struct sk_buff *skb, // IN: skb to copy
+ unsigned int tmpCsum;
+ const void *vaddr;
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0)
++ vaddr = kmap(skb_frag_page(frag));
++#else
+ vaddr = kmap(frag->page);
++#endif
+ tmpCsum = csum_and_copy_to_user(vaddr + frag->page_offset,
+ curr, frag->size, 0, &err);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0)
++ kunmap(skb_frag_page(frag));
++#else
+ kunmap(frag->page);
++#endif
+ if (err) {
+ return err;
+ }
diff --git a/app-emulation/vmware-modules/vmware-modules-264.2.ebuild b/app-emulation/vmware-modules/vmware-modules-264.2.ebuild
new file mode 100644
index 0000000..64444c6
--- /dev/null
+++ b/app-emulation/vmware-modules/vmware-modules-264.2.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+
+inherit eutils flag-o-matic linux-info linux-mod versionator
+
+PV_MAJOR=$(get_major_version)
+PV_MINOR=$(get_version_component_range 2)
+
+DESCRIPTION="VMware kernel modules"
+HOMEPAGE="http://www.vmware.com/"
+
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ || ( =app-emulation/vmware-player-4.0.${PV_MINOR}*
+ =app-emulation/vmware-workstation-8.0.${PV_MINOR}* )"
+
+S=${WORKDIR}
+
+pkg_setup() {
+ CONFIG_CHECK="~HIGH_RES_TIMERS"
+ if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then
+ CONFIG_CHECK="${CONFIG_CHECK} BKL"
+ fi
+
+ linux-info_pkg_setup
+
+ linux-mod_pkg_setup
+
+ VMWARE_GROUP=${VMWARE_GROUP:-vmware}
+
+ VMWARE_MODULE_LIST="vmblock vmci vmmon vmnet vsock"
+ VMWARE_MOD_DIR="${PN}-${PVR}"
+
+ BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}"
+
+ enewgroup "${VMWARE_GROUP}"
+ filter-flags -mfpmath=sse
+
+ for mod in ${VMWARE_MODULE_LIST}; do
+ MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)"
+ done
+}
+
+src_unpack() {
+ cd "${S}"
+ for mod in ${VMWARE_MODULE_LIST}; do
+ tar -xf /opt/vmware/lib/vmware/modules/source/${mod}.tar
+ done
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PV_MAJOR}-makefile-kernel-dir.patch"
+ epatch "${FILESDIR}/${PV_MAJOR}-makefile-include.patch"
+ epatch "${FILESDIR}/${PV_MAJOR}-jobserver.patch"
+ epatch "${FILESDIR}/${PV_MAJOR}-netdevice.patch"
+ epatch "${FILESDIR}/${PV}-3.2.0.patch"
+}
+
+src_install() {
+ linux-mod_src_install
+ local udevrules="${T}/60-vmware.rules"
+ cat > "${udevrules}" <<-EOF
+ KERNEL=="vmci", GROUP="vmware", MODE=660
+ KERNEL=="vmmon", GROUP="vmware", MODE=660
+ KERNEL=="vsock", GROUP="vmware", MODE=660
+ EOF
+ insinto /etc/udev/rules.d/
+ doins "${udevrules}"
+}