blob: 9eb4da08a9b10765e2d8821aaa551f5dc30c8790 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/nforce-net/nforce-net-1.0.0261-r1.ebuild,v 1.3 2003/08/03 03:57:32 vapier Exp $
inherit gcc
NV_V="${PV/1.0./1.0-}"
NV_PACKAGE="NVIDIA_nforce-${NV_V}"
S="${WORKDIR}/nforce"
DESCRIPTION="Linux kernel module for the NVIDIA's nForce network chip"
HOMEPAGE="http://www.nvidia.com/"
SRC_URI="http://download.nvidia.com/XFree86/nforce/${NV_V}/${NV_PACKAGE}.tar.gz"
# The SLOT needs to be set to $KV to prevent unmerges of modules for other kernels
LICENSE="NVIDIA"
SLOT="${KV}"
KEYWORDS="-* x86"
RESTRICT="nostrip"
DEPEND="virtual/linux-sources"
src_compile() {
check_KV
cd ${S}/nvnet
make KERNSRC="/usr/src/linux" || die
}
src_install() {
# The driver goes into the standard modules location
insinto /lib/modules/${KV}/kernel/drivers/net
doins nvnet/nvnet.o
# Docs
dohtml ${S}/ReleaseNotes.html
dodir /etc/modules.d
cat > ${D}/etc/modules.d/nvnet << EOF
# The nForce network driver supports two optimization modes:
# optimization=1 ; CPU optimization
# optimization=2 ; Throughput optimization
# CPU optimization mode ruduces the CPU utilization by using
# interrupt moderation. Throughput optimization mode maximizes
# the throughput. This mode has higher CPU consumption.
# By default, the driver runs in throughput optimization mode.
# The "speed" module parameter can be used set the interface
# speed of the ethernet controller. By default the controller
# will autosense the interface speed, but also supports the
# following values:
# speed=0 ; auto
# speed=1 ; 10Mbps
# speed=2 ; 100Mpbs
# The "duplex" module parameter can be used to specify the
# interface duplex. By default the controller will autoselect
# duplex, but also supports the following values:
# duplex=0 ; auto
# duplex=1 ; half duplex
# duplex=2 ; full duplex
options nvnet optimization="1" speed="0" duplex="0"
EOF
}
pkg_postinst() {
if [ "${ROOT}" = "/" ]
then
# Update module dependency
[ -x /usr/sbin/update-modules ] && /usr/sbin/update-modules
fi
echo
einfo "You need to add \"nvnet\" to your /etc/modules.autoload to load"
einfo "this module when the system is started. Alternatively, you can"
einfo "use the 'hotplug' package ('emerge hotplug' then 'rc-update add"
einfo "hotplug default') to auto-detect and load \"nvnet\" on startup."
echo
einfo "Edit /etc/modules.d/nvnet and run \"update-mmodules\" to configure"
einfo "the \"nvnet\" driver for throughput optimization the next time it"
einfo "is loaded."
}
|