diff options
Diffstat (limited to 'app-emulation/vmware-modules')
-rw-r--r-- | app-emulation/vmware-modules/Manifest | 2 | ||||
-rw-r--r-- | app-emulation/vmware-modules/files/264.2-3.2.0.patch | 86 | ||||
-rw-r--r-- | app-emulation/vmware-modules/vmware-modules-264.2.ebuild | 79 |
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}" +} |