#
1.66 |
|
30-Jan-2020 |
thorpej |
Adopt <net/if_stats.h>.
|
Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base phil-wifi-20191119
|
#
1.65 |
|
10-Nov-2019 |
chs |
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT and remove code to handle failures that can no longer happen.
|
Revision tags: netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609
|
#
1.64 |
|
28-May-2019 |
msaitoh |
Use ETHER_LOCK()/ETHER_UNLOCK() for all ethernet drivers to protect ec_multi*.
|
#
1.63 |
|
23-May-2019 |
msaitoh |
Whitespace fix (mainly tabify).
|
#
1.62 |
|
23-May-2019 |
msaitoh |
-No functional change: - Simplify struct ethercom's pointer near ETHER_FIRST_MULTI(). - Simplify MII structure initialization. - u_int*_t -> uint*_t. - KNF
|
Revision tags: isaki-audio2-base
|
#
1.61 |
|
05-Feb-2019 |
msaitoh |
Remove very old IFF_NOTRAILERS flag.
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
#
1.60 |
|
03-Sep-2018 |
riastradh |
Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
Revision tags: jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base
|
#
1.59 |
|
26-Jun-2018 |
msaitoh |
branches: 1.59.2; Implement the BPF direction filter (BIOC[GS]DIRECTION). It provides backward compatibility with BIOC[GS]SEESENT ioctl. The userland interface is the same as FreeBSD.
This change also fixes a bug that the direction is misunderstand on some environment by passing the direction to bpf_mtap*() instead of checking m->m_pkthdr.rcvif.
|
Revision tags: pgoyette-compat-0625
|
#
1.58 |
|
22-Jun-2018 |
msaitoh |
It's not required to include net/bpfdesc.h. Remove it.
|
Revision tags: netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107
|
#
1.57 |
|
15-Dec-2016 |
ozaki-r |
branches: 1.57.8; 1.57.14; Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input
The benefits of the change are: - We can reduce codes - We can provide the same behavior between drivers - Where/When if_ipackets is counted up - Note that some drivers still update packet statistics in their own way (periodical update) - Moved bpf_mtap run in softint - This makes it easy to MP-ify bpf
Proposed on tech-kern and tech-net
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.56 |
|
10-Jun-2016 |
ozaki-r |
branches: 1.56.2; Introduce m_set_rcvif and m_reset_rcvif
The API is used to set (or reset) a received interface of a mbuf. They are counterpart of m_get_rcvif, which will come in another commit, hide internal of rcvif operation, and reduce the diff of the upcoming change.
No functional change.
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.55 |
|
09-Feb-2016 |
ozaki-r |
Introduce softint-based if_input
This change intends to run the whole network stack in softint context (or normal LWP), not hardware interrupt context. Note that the work is still incomplete by this change; to that end, we also have to softint-ify if_link_state_change (and bpf) which can still run in hardware interrupt.
This change softint-ifies at ifp->if_input that is called from each device driver (and ieee80211_input) to ensure Layer 2 runs in softint (e.g., ether_input and bridge_input). To this end, we provide a framework (called percpuq) that utlizes softint(9) and percpu ifqueues. With this patch, rxintr of most drivers just queues received packets and schedules a softint, and the softint dequeues packets and does rest packet processing.
To minimize changes to each driver, percpuq is allocated in struct ifnet for now and that is initialized by default (in if_attach). We probably have to move percpuq to softc of each driver, but it's future work. At this point, only wm(4) has percpuq in its softc as a reference implementation.
Additional information including performance numbers can be found in the thread at tech-kern@ and tech-net@: http://mail-index.netbsd.org/tech-kern/2016/01/14/msg019997.html
Acknowledgment: riastradh@ greatly helped this work. Thank you very much!
|
Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.54 |
|
12-Sep-2015 |
christos |
Add missing splx() found by brainy.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.53 |
|
13-Apr-2015 |
riastradh |
Convert sys/dev to use <sys/rndsource.h>.
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base tls-maxphys-base
|
#
1.52 |
|
10-Aug-2014 |
tls |
branches: 1.52.4; Merge tls-earlyentropy branch into HEAD.
|
Revision tags: yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
1.51 |
|
10-Oct-2012 |
skrll |
branches: 1.51.10; Second part of PR/46998. The following is taken from the PR with a slight edit from me.
The TX buffer size is not a function of the SEEQ chip, it is an arbitrary driver threshold, so I've renamed the define accordingly and added a new one to specify how many buffers are used (in my port I allow multiple packets to be in flight at once, so have used #ifndef, such that the makefile can override).
Comment corrected, and make use of the above defines.
Missing delay(1) added, otherwise the 20,000 timeout loop is dependent on the speed of your processor. Matches ea_stoptx logic now.
The FIFO empty check does nothing if the previous mode was 'read', but is required before changing the BUFCODE (per 80C04 datasheet page 19, note [2]). Then the mode is set to write, so a second FIFO empty check is needed incase the previous mode was read.
Treat m0 as a pointer not an integer.
Remove double write of the NULL packet header. Either do memset/ea_writebuf or two writes to SEEQ_BUFWIN, but not both.
The calculation of nextpacket (for hdr[]) assumes bufstart = 0, and puts the packet header pointing in the wrong place when it isn't.
The setting of CFG2_OUTPUT is done in ea_init(), so doing it in ea_rxinit is duplicated code.
|
#
1.50 |
|
10-Oct-2012 |
skrll |
Split softc/device_t Use device_xname
From chuq
|
#
1.49 |
|
10-Oct-2012 |
skrll |
Rename eatxpacket to ea_txpacket for consistency.
First part of PR/46998
|
#
1.48 |
|
10-Jun-2012 |
christos |
branches: 1.48.2; PR/46576: Robert Sprowson: Shutdown doesn't disable TX/RX interrupts in SEEQ8005 driver, plus misc white-space and 0->NULL fixes.
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5
|
#
1.47 |
|
09-May-2012 |
martin |
PR port-acorn32/46435: type mismatch, padbuf should be unsigned char.
|
Revision tags: jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.46 |
|
02-Feb-2012 |
tls |
branches: 1.46.2; Entropy-pool implementation move and cleanup.
1) Move core entropy-pool code and source/sink/sample management code to sys/kern from sys/dev.
2) Remove use of NRND as test for presence of entropy-pool code throughout source tree.
3) Remove use of RND_ENABLED in device drivers as microoptimization to avoid expensive operations on disabled entropy sources; make the rnd_add calls do this directly so all callers benefit.
4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might have lead to slight entropy overestimation for some sources.
5) Add new source types for environmental sensors, power sensors, VM system events, and skew between clocks, with a sample implementation for each.
ok releng to go in before the branch due to the difficulty of later pullup (widespread #ifdef removal and moved files). Tested with release builds on amd64 and evbarm and live testing on amd64.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 rmind-uvmplock-base
|
#
1.45 |
|
05-Apr-2010 |
joerg |
branches: 1.45.8; 1.45.12; Push the bpf_ops usage back into bpf.h. Push the common ifp->if_bpf check into the inline functions as well the fourth argument for bpf_attach.
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.44 |
|
19-Jan-2010 |
pooka |
branches: 1.44.2; 1.44.4; Redefine bpf linkage through an always present op vector, i.e. #if NBPFILTER is no longer required in the client. This change doesn't yet add support for loading bpf as a module, since drivers can register before bpf is attached. However, callers of bpf can now be modularized.
Dynamically loadable bpf could probably be done fairly easily with coordination from the stub driver and the real driver by registering attachments in the stub before the real driver is loaded and doing a handoff. ... and I'm not going to ponder the depths of unload here.
Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base mjf-devfs2-base
|
#
1.43 |
|
08-Apr-2008 |
cegger |
branches: 1.43.4; use aprint_*_dev and device_xname
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.42 |
|
19-Oct-2007 |
ad |
branches: 1.42.16; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base vmlocking-base
|
#
1.41 |
|
26-Aug-2007 |
dyoung |
branches: 1.41.2; 1.41.6; Constify: LLADDR -> CLLADDR. I'm aiming here to make it easier to identify sockaddr_dl abuse that remains in the kernel, especially the potential for overwriting memory past the end of a sockaddr_dl with, e.g., memcpy(LLADDR(), ...).
|
Revision tags: matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
|
#
1.40 |
|
05-Mar-2007 |
he |
branches: 1.40.2; 1.40.10; 1.40.14; Use a char* variable for doing pointer arithmetic with.
|
#
1.39 |
|
04-Mar-2007 |
christos |
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.38 |
|
11-Dec-2005 |
christos |
branches: 1.38.26; merge ktrace-lwp.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base ktrace-lwp-base
|
#
1.37 |
|
27-Feb-2005 |
perry |
branches: 1.37.4; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.36 |
|
30-Oct-2004 |
thorpej |
branches: 1.36.4; 1.36.6; When adding/deleting multicast addresses, only whack the address filter if the interface is marked RUNNING.
Fixes kern/27678.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base nathanw_sa_before_merge nathanw_sa_base
|
#
1.35 |
|
15-Jan-2003 |
bouyer |
branches: 1.35.2; 1.35.6; Use a properly zero'd buffer to pad the packet to ETHER_MIN_LEN XXX should it be ETHER_MIN_LEN-ETHER_CRC_LEN ?
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
|
#
1.34 |
|
03-Nov-2002 |
bjh21 |
Quieten lint a little.
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.33 |
|
07-Jun-2002 |
bjh21 |
When copying a block with an odd size to or from the card, be very careful not to overrun the end of it on the host side, since that might just slip over a page boundary and cause an embarrassing kernel panic.
|
Revision tags: netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
1.32 |
|
15-Nov-2001 |
lukem |
branches: 1.32.8; 1.32.10; don't need <sys/types.h> when including <sys/param.h>
|
#
1.31 |
|
13-Nov-2001 |
lukem |
add/cleanup RCSID
|
Revision tags: thorpej-mips-cache-base
|
#
1.30 |
|
07-Nov-2001 |
bjh21 |
Add support for feeding entropy to rnd(4).
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-Jul-2001 |
thorpej |
branches: 1.29.2; 1.29.6; bcopy -> strcpy
|
#
1.28 |
|
07-Jul-2001 |
thorpej |
bcmp -> memcmp
|
#
1.27 |
|
26-Jun-2001 |
bjh21 |
Add support for handling full-size 802.1Q packets.
|
#
1.26 |
|
23-Jun-2001 |
bjh21 |
ea_mc_reset_8004(): Rather than doing the CRC32 ourselves, call ether_crc32_be() to do it for us.
|
#
1.25 |
|
23-Jun-2001 |
bjh21 |
Fix bogons in previous commit: * Remove harmful debugging code from seeq8005_attach(). * Re-insert variable declarations in ea_mc_reset_8004(), since they aren't dead yet.
|
#
1.24 |
|
22-Jun-2001 |
bjh21 |
Attampt support for 8-bit mode. I believe this should work, but I need a more flexible bus_space on arm26 before I can test it.
|
#
1.23 |
|
12-Jun-2001 |
bjh21 |
No need to pull in INET or NS headers -- that's all done by ether_ioctl() now.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.22 |
|
06-Apr-2001 |
bjh21 |
In ea_writembuf(), reset the DMA pointer for each mbuf we copy, since odd-sized mbufs will confuse things. This makes transmission of odd-sized packets work.
|
#
1.21 |
|
05-Apr-2001 |
bjh21 |
Add a bit of voodoo code from the old "eb" driver that seems to prevent the 80C04 returning garbage when we read from it. This driver can now handle flood pings without dropping packets.
|
#
1.20 |
|
02-Apr-2001 |
bjh21 |
Tweak product ID printing in light of the 80C04A data sheet.
Split out Rx and Tx interrupt handlers into their own functions for clarity.
|
#
1.19 |
|
29-Mar-2001 |
bjh21 |
On an 80C04, try not to start reads at addresses of the form xx,ea, xx,ee, or xx,f0. This appears to heavily alleviate, but not to eliminate entirely, the problems I've been seeing with garbage being read from the rx buffer. I suspect the real solution lies elsewhere.
|
#
1.18 |
|
29-Mar-2001 |
bjh21 |
Print a warning message when the DMA FIFO fails to fill or empty before we time out.
|
#
1.17 |
|
27-Mar-2001 |
bjh21 |
Print the address within the Rx buffer whenever anything goes wrong: it seems to be significant.
|
#
1.16 |
|
27-Mar-2001 |
bjh21 |
Clean up debugging printfs a little.
|
#
1.15 |
|
27-Mar-2001 |
bjh21 |
Add some extra diagnostics: * Use the timer to timoe out transmit operations. * Spot when the "next packet" pointer falls outside the recieve buffer and reset the interface. * Don't reset the interface when we get a bad packet (unless there's something else wrong as well).
|
#
1.14 |
|
27-Mar-2001 |
bjh21 |
Comment and #ifdef cleanup.
|
#
1.13 |
|
25-Mar-2001 |
bjh21 |
Tweak handling of multicast on 80C04. I think we need to set the match mode to "multicast" for it to work, but I could be wrong.
Also make ALLMULTI work on 80C04, but this is untested.
|
#
1.12 |
|
24-Mar-2001 |
bjh21 |
Re-arrange board memory to suit the current (crude) transmit code.
Add ea_writembuf() from mark's code, and re-work eatxpacket() to use it.
|
#
1.11 |
|
24-Mar-2001 |
bjh21 |
Enormous pile of changes from mark's (uncommitted) work on this driver. About the only bit of his code not here is the transmit routines, which I'll merge in separately.
Also a few bug-fixes, so (for instance) multicast on an 8005 doesn't immediately fall back to IFF_ALLMULTI.
|
#
1.10 |
|
24-Mar-2001 |
bjh21 |
Change all the register definitions to match the names using in mark's improved version of the driver.
|
#
1.9 |
|
24-Mar-2001 |
bjh21 |
Handle IFF_ALLMULTI correctly. We can now cope with multicast, but for some reason DAD fails when starting IPv6.
|
#
1.8 |
|
23-Dec-2000 |
bjh21 |
branches: 1.8.2; Print the newline after the memory test. This makes it clear that the delay's related to this driver rather than the next device to be attached.
|
#
1.7 |
|
14-Dec-2000 |
thorpej |
ALTQ'ify.
|
#
1.6 |
|
15-Nov-2000 |
thorpej |
branches: 1.6.2; Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach().
|
#
1.5 |
|
03-Nov-2000 |
bjh21 |
First attempt at multicast stuff. I suspect it doesn't work. Use ether_ioctl -- saves 300 bytes of text.
|
#
1.4 |
|
01-Oct-2000 |
thorpej |
Move the check for "promisc + unicast + not for us" into ether_input(), and change Ethernet drivers to always pass all received frames to ether_input() (with a few exceptions, which are documented in the code).
|
#
1.3 |
|
23-Sep-2000 |
bjh21 |
Substantial overhaul, factoring out of common code, removal of redundancy and general cleanup. Still not a beautiful driver, but one I'd be willing to introduce to my parents now.
|
#
1.2 |
|
21-Sep-2000 |
bjh21 |
Add rudimentary 80C04 support (basically saying "Oh look, an 80C04!"). Move printing the initial ":" into the board driver, like i82586.c does. Don't bother printing the amount of RAM, as it's always 64 KB.
|
#
1.1 |
|
18-Sep-2000 |
bjh21 |
Split the arm26 Ether3 (ea) driver into an MI driver for the SEEQ 8005 chip, and a front-end driver for the Ether3. Only semantic change is to remove ea_claimirq() and ea_releaseirq() on the grounds that the seem too spurious to warrant a callback to the front-end.
|
#
1.65 |
|
10-Nov-2019 |
chs |
in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT and remove code to handle failures that can no longer happen.
|
Revision tags: netbsd-9-base phil-wifi-20190609
|
#
1.64 |
|
28-May-2019 |
msaitoh |
Use ETHER_LOCK()/ETHER_UNLOCK() for all ethernet drivers to protect ec_multi*.
|
#
1.63 |
|
23-May-2019 |
msaitoh |
Whitespace fix (mainly tabify).
|
#
1.62 |
|
23-May-2019 |
msaitoh |
-No functional change: - Simplify struct ethercom's pointer near ETHER_FIRST_MULTI(). - Simplify MII structure initialization. - u_int*_t -> uint*_t. - KNF
|
Revision tags: isaki-audio2-base
|
#
1.61 |
|
05-Feb-2019 |
msaitoh |
Remove very old IFF_NOTRAILERS flag.
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
#
1.60 |
|
03-Sep-2018 |
riastradh |
Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
Revision tags: jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base
|
#
1.59 |
|
26-Jun-2018 |
msaitoh |
branches: 1.59.2; Implement the BPF direction filter (BIOC[GS]DIRECTION). It provides backward compatibility with BIOC[GS]SEESENT ioctl. The userland interface is the same as FreeBSD.
This change also fixes a bug that the direction is misunderstand on some environment by passing the direction to bpf_mtap*() instead of checking m->m_pkthdr.rcvif.
|
Revision tags: pgoyette-compat-0625
|
#
1.58 |
|
22-Jun-2018 |
msaitoh |
It's not required to include net/bpfdesc.h. Remove it.
|
Revision tags: netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107
|
#
1.57 |
|
15-Dec-2016 |
ozaki-r |
branches: 1.57.8; 1.57.14; Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input
The benefits of the change are: - We can reduce codes - We can provide the same behavior between drivers - Where/When if_ipackets is counted up - Note that some drivers still update packet statistics in their own way (periodical update) - Moved bpf_mtap run in softint - This makes it easy to MP-ify bpf
Proposed on tech-kern and tech-net
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.56 |
|
10-Jun-2016 |
ozaki-r |
branches: 1.56.2; Introduce m_set_rcvif and m_reset_rcvif
The API is used to set (or reset) a received interface of a mbuf. They are counterpart of m_get_rcvif, which will come in another commit, hide internal of rcvif operation, and reduce the diff of the upcoming change.
No functional change.
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.55 |
|
09-Feb-2016 |
ozaki-r |
Introduce softint-based if_input
This change intends to run the whole network stack in softint context (or normal LWP), not hardware interrupt context. Note that the work is still incomplete by this change; to that end, we also have to softint-ify if_link_state_change (and bpf) which can still run in hardware interrupt.
This change softint-ifies at ifp->if_input that is called from each device driver (and ieee80211_input) to ensure Layer 2 runs in softint (e.g., ether_input and bridge_input). To this end, we provide a framework (called percpuq) that utlizes softint(9) and percpu ifqueues. With this patch, rxintr of most drivers just queues received packets and schedules a softint, and the softint dequeues packets and does rest packet processing.
To minimize changes to each driver, percpuq is allocated in struct ifnet for now and that is initialized by default (in if_attach). We probably have to move percpuq to softc of each driver, but it's future work. At this point, only wm(4) has percpuq in its softc as a reference implementation.
Additional information including performance numbers can be found in the thread at tech-kern@ and tech-net@: http://mail-index.netbsd.org/tech-kern/2016/01/14/msg019997.html
Acknowledgment: riastradh@ greatly helped this work. Thank you very much!
|
Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.54 |
|
12-Sep-2015 |
christos |
Add missing splx() found by brainy.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.53 |
|
13-Apr-2015 |
riastradh |
Convert sys/dev to use <sys/rndsource.h>.
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base tls-maxphys-base
|
#
1.52 |
|
10-Aug-2014 |
tls |
branches: 1.52.4; Merge tls-earlyentropy branch into HEAD.
|
Revision tags: yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
1.51 |
|
10-Oct-2012 |
skrll |
branches: 1.51.10; Second part of PR/46998. The following is taken from the PR with a slight edit from me.
The TX buffer size is not a function of the SEEQ chip, it is an arbitrary driver threshold, so I've renamed the define accordingly and added a new one to specify how many buffers are used (in my port I allow multiple packets to be in flight at once, so have used #ifndef, such that the makefile can override).
Comment corrected, and make use of the above defines.
Missing delay(1) added, otherwise the 20,000 timeout loop is dependent on the speed of your processor. Matches ea_stoptx logic now.
The FIFO empty check does nothing if the previous mode was 'read', but is required before changing the BUFCODE (per 80C04 datasheet page 19, note [2]). Then the mode is set to write, so a second FIFO empty check is needed incase the previous mode was read.
Treat m0 as a pointer not an integer.
Remove double write of the NULL packet header. Either do memset/ea_writebuf or two writes to SEEQ_BUFWIN, but not both.
The calculation of nextpacket (for hdr[]) assumes bufstart = 0, and puts the packet header pointing in the wrong place when it isn't.
The setting of CFG2_OUTPUT is done in ea_init(), so doing it in ea_rxinit is duplicated code.
|
#
1.50 |
|
10-Oct-2012 |
skrll |
Split softc/device_t Use device_xname
From chuq
|
#
1.49 |
|
10-Oct-2012 |
skrll |
Rename eatxpacket to ea_txpacket for consistency.
First part of PR/46998
|
#
1.48 |
|
10-Jun-2012 |
christos |
branches: 1.48.2; PR/46576: Robert Sprowson: Shutdown doesn't disable TX/RX interrupts in SEEQ8005 driver, plus misc white-space and 0->NULL fixes.
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5
|
#
1.47 |
|
09-May-2012 |
martin |
PR port-acorn32/46435: type mismatch, padbuf should be unsigned char.
|
Revision tags: jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.46 |
|
02-Feb-2012 |
tls |
branches: 1.46.2; Entropy-pool implementation move and cleanup.
1) Move core entropy-pool code and source/sink/sample management code to sys/kern from sys/dev.
2) Remove use of NRND as test for presence of entropy-pool code throughout source tree.
3) Remove use of RND_ENABLED in device drivers as microoptimization to avoid expensive operations on disabled entropy sources; make the rnd_add calls do this directly so all callers benefit.
4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might have lead to slight entropy overestimation for some sources.
5) Add new source types for environmental sensors, power sensors, VM system events, and skew between clocks, with a sample implementation for each.
ok releng to go in before the branch due to the difficulty of later pullup (widespread #ifdef removal and moved files). Tested with release builds on amd64 and evbarm and live testing on amd64.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 rmind-uvmplock-base
|
#
1.45 |
|
05-Apr-2010 |
joerg |
branches: 1.45.8; 1.45.12; Push the bpf_ops usage back into bpf.h. Push the common ifp->if_bpf check into the inline functions as well the fourth argument for bpf_attach.
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.44 |
|
19-Jan-2010 |
pooka |
branches: 1.44.2; 1.44.4; Redefine bpf linkage through an always present op vector, i.e. #if NBPFILTER is no longer required in the client. This change doesn't yet add support for loading bpf as a module, since drivers can register before bpf is attached. However, callers of bpf can now be modularized.
Dynamically loadable bpf could probably be done fairly easily with coordination from the stub driver and the real driver by registering attachments in the stub before the real driver is loaded and doing a handoff. ... and I'm not going to ponder the depths of unload here.
Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base mjf-devfs2-base
|
#
1.43 |
|
08-Apr-2008 |
cegger |
branches: 1.43.4; use aprint_*_dev and device_xname
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.42 |
|
19-Oct-2007 |
ad |
branches: 1.42.16; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base vmlocking-base
|
#
1.41 |
|
26-Aug-2007 |
dyoung |
branches: 1.41.2; 1.41.6; Constify: LLADDR -> CLLADDR. I'm aiming here to make it easier to identify sockaddr_dl abuse that remains in the kernel, especially the potential for overwriting memory past the end of a sockaddr_dl with, e.g., memcpy(LLADDR(), ...).
|
Revision tags: matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
|
#
1.40 |
|
05-Mar-2007 |
he |
branches: 1.40.2; 1.40.10; 1.40.14; Use a char* variable for doing pointer arithmetic with.
|
#
1.39 |
|
04-Mar-2007 |
christos |
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.38 |
|
11-Dec-2005 |
christos |
branches: 1.38.26; merge ktrace-lwp.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base ktrace-lwp-base
|
#
1.37 |
|
27-Feb-2005 |
perry |
branches: 1.37.4; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.36 |
|
30-Oct-2004 |
thorpej |
branches: 1.36.4; 1.36.6; When adding/deleting multicast addresses, only whack the address filter if the interface is marked RUNNING.
Fixes kern/27678.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base nathanw_sa_before_merge nathanw_sa_base
|
#
1.35 |
|
15-Jan-2003 |
bouyer |
branches: 1.35.2; 1.35.6; Use a properly zero'd buffer to pad the packet to ETHER_MIN_LEN XXX should it be ETHER_MIN_LEN-ETHER_CRC_LEN ?
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
|
#
1.34 |
|
03-Nov-2002 |
bjh21 |
Quieten lint a little.
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.33 |
|
07-Jun-2002 |
bjh21 |
When copying a block with an odd size to or from the card, be very careful not to overrun the end of it on the host side, since that might just slip over a page boundary and cause an embarrassing kernel panic.
|
Revision tags: netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
1.32 |
|
15-Nov-2001 |
lukem |
branches: 1.32.8; 1.32.10; don't need <sys/types.h> when including <sys/param.h>
|
#
1.31 |
|
13-Nov-2001 |
lukem |
add/cleanup RCSID
|
Revision tags: thorpej-mips-cache-base
|
#
1.30 |
|
07-Nov-2001 |
bjh21 |
Add support for feeding entropy to rnd(4).
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-Jul-2001 |
thorpej |
branches: 1.29.2; 1.29.6; bcopy -> strcpy
|
#
1.28 |
|
07-Jul-2001 |
thorpej |
bcmp -> memcmp
|
#
1.27 |
|
26-Jun-2001 |
bjh21 |
Add support for handling full-size 802.1Q packets.
|
#
1.26 |
|
23-Jun-2001 |
bjh21 |
ea_mc_reset_8004(): Rather than doing the CRC32 ourselves, call ether_crc32_be() to do it for us.
|
#
1.25 |
|
23-Jun-2001 |
bjh21 |
Fix bogons in previous commit: * Remove harmful debugging code from seeq8005_attach(). * Re-insert variable declarations in ea_mc_reset_8004(), since they aren't dead yet.
|
#
1.24 |
|
22-Jun-2001 |
bjh21 |
Attampt support for 8-bit mode. I believe this should work, but I need a more flexible bus_space on arm26 before I can test it.
|
#
1.23 |
|
12-Jun-2001 |
bjh21 |
No need to pull in INET or NS headers -- that's all done by ether_ioctl() now.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.22 |
|
06-Apr-2001 |
bjh21 |
In ea_writembuf(), reset the DMA pointer for each mbuf we copy, since odd-sized mbufs will confuse things. This makes transmission of odd-sized packets work.
|
#
1.21 |
|
05-Apr-2001 |
bjh21 |
Add a bit of voodoo code from the old "eb" driver that seems to prevent the 80C04 returning garbage when we read from it. This driver can now handle flood pings without dropping packets.
|
#
1.20 |
|
02-Apr-2001 |
bjh21 |
Tweak product ID printing in light of the 80C04A data sheet.
Split out Rx and Tx interrupt handlers into their own functions for clarity.
|
#
1.19 |
|
29-Mar-2001 |
bjh21 |
On an 80C04, try not to start reads at addresses of the form xx,ea, xx,ee, or xx,f0. This appears to heavily alleviate, but not to eliminate entirely, the problems I've been seeing with garbage being read from the rx buffer. I suspect the real solution lies elsewhere.
|
#
1.18 |
|
29-Mar-2001 |
bjh21 |
Print a warning message when the DMA FIFO fails to fill or empty before we time out.
|
#
1.17 |
|
27-Mar-2001 |
bjh21 |
Print the address within the Rx buffer whenever anything goes wrong: it seems to be significant.
|
#
1.16 |
|
27-Mar-2001 |
bjh21 |
Clean up debugging printfs a little.
|
#
1.15 |
|
27-Mar-2001 |
bjh21 |
Add some extra diagnostics: * Use the timer to timoe out transmit operations. * Spot when the "next packet" pointer falls outside the recieve buffer and reset the interface. * Don't reset the interface when we get a bad packet (unless there's something else wrong as well).
|
#
1.14 |
|
27-Mar-2001 |
bjh21 |
Comment and #ifdef cleanup.
|
#
1.13 |
|
25-Mar-2001 |
bjh21 |
Tweak handling of multicast on 80C04. I think we need to set the match mode to "multicast" for it to work, but I could be wrong.
Also make ALLMULTI work on 80C04, but this is untested.
|
#
1.12 |
|
24-Mar-2001 |
bjh21 |
Re-arrange board memory to suit the current (crude) transmit code.
Add ea_writembuf() from mark's code, and re-work eatxpacket() to use it.
|
#
1.11 |
|
24-Mar-2001 |
bjh21 |
Enormous pile of changes from mark's (uncommitted) work on this driver. About the only bit of his code not here is the transmit routines, which I'll merge in separately.
Also a few bug-fixes, so (for instance) multicast on an 8005 doesn't immediately fall back to IFF_ALLMULTI.
|
#
1.10 |
|
24-Mar-2001 |
bjh21 |
Change all the register definitions to match the names using in mark's improved version of the driver.
|
#
1.9 |
|
24-Mar-2001 |
bjh21 |
Handle IFF_ALLMULTI correctly. We can now cope with multicast, but for some reason DAD fails when starting IPv6.
|
#
1.8 |
|
23-Dec-2000 |
bjh21 |
branches: 1.8.2; Print the newline after the memory test. This makes it clear that the delay's related to this driver rather than the next device to be attached.
|
#
1.7 |
|
14-Dec-2000 |
thorpej |
ALTQ'ify.
|
#
1.6 |
|
15-Nov-2000 |
thorpej |
branches: 1.6.2; Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach().
|
#
1.5 |
|
03-Nov-2000 |
bjh21 |
First attempt at multicast stuff. I suspect it doesn't work. Use ether_ioctl -- saves 300 bytes of text.
|
#
1.4 |
|
01-Oct-2000 |
thorpej |
Move the check for "promisc + unicast + not for us" into ether_input(), and change Ethernet drivers to always pass all received frames to ether_input() (with a few exceptions, which are documented in the code).
|
#
1.3 |
|
23-Sep-2000 |
bjh21 |
Substantial overhaul, factoring out of common code, removal of redundancy and general cleanup. Still not a beautiful driver, but one I'd be willing to introduce to my parents now.
|
#
1.2 |
|
21-Sep-2000 |
bjh21 |
Add rudimentary 80C04 support (basically saying "Oh look, an 80C04!"). Move printing the initial ":" into the board driver, like i82586.c does. Don't bother printing the amount of RAM, as it's always 64 KB.
|
#
1.1 |
|
18-Sep-2000 |
bjh21 |
Split the arm26 Ether3 (ea) driver into an MI driver for the SEEQ 8005 chip, and a front-end driver for the Ether3. Only semantic change is to remove ea_claimirq() and ea_releaseirq() on the grounds that the seem too spurious to warrant a callback to the front-end.
|
#
1.64 |
|
28-May-2019 |
msaitoh |
Use ETHER_LOCK()/ETHER_UNLOCK() for all ethernet drivers to protect ec_multi*.
|
#
1.63 |
|
23-May-2019 |
msaitoh |
Whitespace fix (mainly tabify).
|
#
1.62 |
|
23-May-2019 |
msaitoh |
-No functional change: - Simplify struct ethercom's pointer near ETHER_FIRST_MULTI(). - Simplify MII structure initialization. - u_int*_t -> uint*_t. - KNF
|
Revision tags: isaki-audio2-base
|
#
1.61 |
|
05-Feb-2019 |
msaitoh |
Remove very old IFF_NOTRAILERS flag.
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
#
1.60 |
|
03-Sep-2018 |
riastradh |
Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
Revision tags: jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base
|
#
1.59 |
|
26-Jun-2018 |
msaitoh |
Implement the BPF direction filter (BIOC[GS]DIRECTION). It provides backward compatibility with BIOC[GS]SEESENT ioctl. The userland interface is the same as FreeBSD.
This change also fixes a bug that the direction is misunderstand on some environment by passing the direction to bpf_mtap*() instead of checking m->m_pkthdr.rcvif.
|
Revision tags: pgoyette-compat-0625
|
#
1.58 |
|
22-Jun-2018 |
msaitoh |
It's not required to include net/bpfdesc.h. Remove it.
|
Revision tags: netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107
|
#
1.57 |
|
15-Dec-2016 |
ozaki-r |
branches: 1.57.8; 1.57.14; Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input
The benefits of the change are: - We can reduce codes - We can provide the same behavior between drivers - Where/When if_ipackets is counted up - Note that some drivers still update packet statistics in their own way (periodical update) - Moved bpf_mtap run in softint - This makes it easy to MP-ify bpf
Proposed on tech-kern and tech-net
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.56 |
|
10-Jun-2016 |
ozaki-r |
branches: 1.56.2; Introduce m_set_rcvif and m_reset_rcvif
The API is used to set (or reset) a received interface of a mbuf. They are counterpart of m_get_rcvif, which will come in another commit, hide internal of rcvif operation, and reduce the diff of the upcoming change.
No functional change.
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.55 |
|
09-Feb-2016 |
ozaki-r |
Introduce softint-based if_input
This change intends to run the whole network stack in softint context (or normal LWP), not hardware interrupt context. Note that the work is still incomplete by this change; to that end, we also have to softint-ify if_link_state_change (and bpf) which can still run in hardware interrupt.
This change softint-ifies at ifp->if_input that is called from each device driver (and ieee80211_input) to ensure Layer 2 runs in softint (e.g., ether_input and bridge_input). To this end, we provide a framework (called percpuq) that utlizes softint(9) and percpu ifqueues. With this patch, rxintr of most drivers just queues received packets and schedules a softint, and the softint dequeues packets and does rest packet processing.
To minimize changes to each driver, percpuq is allocated in struct ifnet for now and that is initialized by default (in if_attach). We probably have to move percpuq to softc of each driver, but it's future work. At this point, only wm(4) has percpuq in its softc as a reference implementation.
Additional information including performance numbers can be found in the thread at tech-kern@ and tech-net@: http://mail-index.netbsd.org/tech-kern/2016/01/14/msg019997.html
Acknowledgment: riastradh@ greatly helped this work. Thank you very much!
|
Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.54 |
|
12-Sep-2015 |
christos |
Add missing splx() found by brainy.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.53 |
|
13-Apr-2015 |
riastradh |
Convert sys/dev to use <sys/rndsource.h>.
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base tls-maxphys-base
|
#
1.52 |
|
10-Aug-2014 |
tls |
branches: 1.52.4; Merge tls-earlyentropy branch into HEAD.
|
Revision tags: yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
1.51 |
|
10-Oct-2012 |
skrll |
branches: 1.51.10; Second part of PR/46998. The following is taken from the PR with a slight edit from me.
The TX buffer size is not a function of the SEEQ chip, it is an arbitrary driver threshold, so I've renamed the define accordingly and added a new one to specify how many buffers are used (in my port I allow multiple packets to be in flight at once, so have used #ifndef, such that the makefile can override).
Comment corrected, and make use of the above defines.
Missing delay(1) added, otherwise the 20,000 timeout loop is dependent on the speed of your processor. Matches ea_stoptx logic now.
The FIFO empty check does nothing if the previous mode was 'read', but is required before changing the BUFCODE (per 80C04 datasheet page 19, note [2]). Then the mode is set to write, so a second FIFO empty check is needed incase the previous mode was read.
Treat m0 as a pointer not an integer.
Remove double write of the NULL packet header. Either do memset/ea_writebuf or two writes to SEEQ_BUFWIN, but not both.
The calculation of nextpacket (for hdr[]) assumes bufstart = 0, and puts the packet header pointing in the wrong place when it isn't.
The setting of CFG2_OUTPUT is done in ea_init(), so doing it in ea_rxinit is duplicated code.
|
#
1.50 |
|
10-Oct-2012 |
skrll |
Split softc/device_t Use device_xname
From chuq
|
#
1.49 |
|
10-Oct-2012 |
skrll |
Rename eatxpacket to ea_txpacket for consistency.
First part of PR/46998
|
#
1.48 |
|
10-Jun-2012 |
christos |
branches: 1.48.2; PR/46576: Robert Sprowson: Shutdown doesn't disable TX/RX interrupts in SEEQ8005 driver, plus misc white-space and 0->NULL fixes.
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5
|
#
1.47 |
|
09-May-2012 |
martin |
PR port-acorn32/46435: type mismatch, padbuf should be unsigned char.
|
Revision tags: jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.46 |
|
02-Feb-2012 |
tls |
branches: 1.46.2; Entropy-pool implementation move and cleanup.
1) Move core entropy-pool code and source/sink/sample management code to sys/kern from sys/dev.
2) Remove use of NRND as test for presence of entropy-pool code throughout source tree.
3) Remove use of RND_ENABLED in device drivers as microoptimization to avoid expensive operations on disabled entropy sources; make the rnd_add calls do this directly so all callers benefit.
4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might have lead to slight entropy overestimation for some sources.
5) Add new source types for environmental sensors, power sensors, VM system events, and skew between clocks, with a sample implementation for each.
ok releng to go in before the branch due to the difficulty of later pullup (widespread #ifdef removal and moved files). Tested with release builds on amd64 and evbarm and live testing on amd64.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 rmind-uvmplock-base
|
#
1.45 |
|
05-Apr-2010 |
joerg |
branches: 1.45.8; 1.45.12; Push the bpf_ops usage back into bpf.h. Push the common ifp->if_bpf check into the inline functions as well the fourth argument for bpf_attach.
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.44 |
|
19-Jan-2010 |
pooka |
branches: 1.44.2; 1.44.4; Redefine bpf linkage through an always present op vector, i.e. #if NBPFILTER is no longer required in the client. This change doesn't yet add support for loading bpf as a module, since drivers can register before bpf is attached. However, callers of bpf can now be modularized.
Dynamically loadable bpf could probably be done fairly easily with coordination from the stub driver and the real driver by registering attachments in the stub before the real driver is loaded and doing a handoff. ... and I'm not going to ponder the depths of unload here.
Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base mjf-devfs2-base
|
#
1.43 |
|
08-Apr-2008 |
cegger |
branches: 1.43.4; use aprint_*_dev and device_xname
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.42 |
|
19-Oct-2007 |
ad |
branches: 1.42.16; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base vmlocking-base
|
#
1.41 |
|
26-Aug-2007 |
dyoung |
branches: 1.41.2; 1.41.6; Constify: LLADDR -> CLLADDR. I'm aiming here to make it easier to identify sockaddr_dl abuse that remains in the kernel, especially the potential for overwriting memory past the end of a sockaddr_dl with, e.g., memcpy(LLADDR(), ...).
|
Revision tags: matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
|
#
1.40 |
|
05-Mar-2007 |
he |
branches: 1.40.2; 1.40.10; 1.40.14; Use a char* variable for doing pointer arithmetic with.
|
#
1.39 |
|
04-Mar-2007 |
christos |
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.38 |
|
11-Dec-2005 |
christos |
branches: 1.38.26; merge ktrace-lwp.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base ktrace-lwp-base
|
#
1.37 |
|
27-Feb-2005 |
perry |
branches: 1.37.4; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.36 |
|
30-Oct-2004 |
thorpej |
branches: 1.36.4; 1.36.6; When adding/deleting multicast addresses, only whack the address filter if the interface is marked RUNNING.
Fixes kern/27678.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base nathanw_sa_before_merge nathanw_sa_base
|
#
1.35 |
|
15-Jan-2003 |
bouyer |
branches: 1.35.2; 1.35.6; Use a properly zero'd buffer to pad the packet to ETHER_MIN_LEN XXX should it be ETHER_MIN_LEN-ETHER_CRC_LEN ?
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
|
#
1.34 |
|
03-Nov-2002 |
bjh21 |
Quieten lint a little.
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.33 |
|
07-Jun-2002 |
bjh21 |
When copying a block with an odd size to or from the card, be very careful not to overrun the end of it on the host side, since that might just slip over a page boundary and cause an embarrassing kernel panic.
|
Revision tags: netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
1.32 |
|
15-Nov-2001 |
lukem |
branches: 1.32.8; 1.32.10; don't need <sys/types.h> when including <sys/param.h>
|
#
1.31 |
|
13-Nov-2001 |
lukem |
add/cleanup RCSID
|
Revision tags: thorpej-mips-cache-base
|
#
1.30 |
|
07-Nov-2001 |
bjh21 |
Add support for feeding entropy to rnd(4).
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-Jul-2001 |
thorpej |
branches: 1.29.2; 1.29.6; bcopy -> strcpy
|
#
1.28 |
|
07-Jul-2001 |
thorpej |
bcmp -> memcmp
|
#
1.27 |
|
26-Jun-2001 |
bjh21 |
Add support for handling full-size 802.1Q packets.
|
#
1.26 |
|
23-Jun-2001 |
bjh21 |
ea_mc_reset_8004(): Rather than doing the CRC32 ourselves, call ether_crc32_be() to do it for us.
|
#
1.25 |
|
23-Jun-2001 |
bjh21 |
Fix bogons in previous commit: * Remove harmful debugging code from seeq8005_attach(). * Re-insert variable declarations in ea_mc_reset_8004(), since they aren't dead yet.
|
#
1.24 |
|
22-Jun-2001 |
bjh21 |
Attampt support for 8-bit mode. I believe this should work, but I need a more flexible bus_space on arm26 before I can test it.
|
#
1.23 |
|
12-Jun-2001 |
bjh21 |
No need to pull in INET or NS headers -- that's all done by ether_ioctl() now.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.22 |
|
06-Apr-2001 |
bjh21 |
In ea_writembuf(), reset the DMA pointer for each mbuf we copy, since odd-sized mbufs will confuse things. This makes transmission of odd-sized packets work.
|
#
1.21 |
|
05-Apr-2001 |
bjh21 |
Add a bit of voodoo code from the old "eb" driver that seems to prevent the 80C04 returning garbage when we read from it. This driver can now handle flood pings without dropping packets.
|
#
1.20 |
|
02-Apr-2001 |
bjh21 |
Tweak product ID printing in light of the 80C04A data sheet.
Split out Rx and Tx interrupt handlers into their own functions for clarity.
|
#
1.19 |
|
29-Mar-2001 |
bjh21 |
On an 80C04, try not to start reads at addresses of the form xx,ea, xx,ee, or xx,f0. This appears to heavily alleviate, but not to eliminate entirely, the problems I've been seeing with garbage being read from the rx buffer. I suspect the real solution lies elsewhere.
|
#
1.18 |
|
29-Mar-2001 |
bjh21 |
Print a warning message when the DMA FIFO fails to fill or empty before we time out.
|
#
1.17 |
|
27-Mar-2001 |
bjh21 |
Print the address within the Rx buffer whenever anything goes wrong: it seems to be significant.
|
#
1.16 |
|
27-Mar-2001 |
bjh21 |
Clean up debugging printfs a little.
|
#
1.15 |
|
27-Mar-2001 |
bjh21 |
Add some extra diagnostics: * Use the timer to timoe out transmit operations. * Spot when the "next packet" pointer falls outside the recieve buffer and reset the interface. * Don't reset the interface when we get a bad packet (unless there's something else wrong as well).
|
#
1.14 |
|
27-Mar-2001 |
bjh21 |
Comment and #ifdef cleanup.
|
#
1.13 |
|
25-Mar-2001 |
bjh21 |
Tweak handling of multicast on 80C04. I think we need to set the match mode to "multicast" for it to work, but I could be wrong.
Also make ALLMULTI work on 80C04, but this is untested.
|
#
1.12 |
|
24-Mar-2001 |
bjh21 |
Re-arrange board memory to suit the current (crude) transmit code.
Add ea_writembuf() from mark's code, and re-work eatxpacket() to use it.
|
#
1.11 |
|
24-Mar-2001 |
bjh21 |
Enormous pile of changes from mark's (uncommitted) work on this driver. About the only bit of his code not here is the transmit routines, which I'll merge in separately.
Also a few bug-fixes, so (for instance) multicast on an 8005 doesn't immediately fall back to IFF_ALLMULTI.
|
#
1.10 |
|
24-Mar-2001 |
bjh21 |
Change all the register definitions to match the names using in mark's improved version of the driver.
|
#
1.9 |
|
24-Mar-2001 |
bjh21 |
Handle IFF_ALLMULTI correctly. We can now cope with multicast, but for some reason DAD fails when starting IPv6.
|
#
1.8 |
|
23-Dec-2000 |
bjh21 |
branches: 1.8.2; Print the newline after the memory test. This makes it clear that the delay's related to this driver rather than the next device to be attached.
|
#
1.7 |
|
14-Dec-2000 |
thorpej |
ALTQ'ify.
|
#
1.6 |
|
15-Nov-2000 |
thorpej |
branches: 1.6.2; Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach().
|
#
1.5 |
|
03-Nov-2000 |
bjh21 |
First attempt at multicast stuff. I suspect it doesn't work. Use ether_ioctl -- saves 300 bytes of text.
|
#
1.4 |
|
01-Oct-2000 |
thorpej |
Move the check for "promisc + unicast + not for us" into ether_input(), and change Ethernet drivers to always pass all received frames to ether_input() (with a few exceptions, which are documented in the code).
|
#
1.3 |
|
23-Sep-2000 |
bjh21 |
Substantial overhaul, factoring out of common code, removal of redundancy and general cleanup. Still not a beautiful driver, but one I'd be willing to introduce to my parents now.
|
#
1.2 |
|
21-Sep-2000 |
bjh21 |
Add rudimentary 80C04 support (basically saying "Oh look, an 80C04!"). Move printing the initial ":" into the board driver, like i82586.c does. Don't bother printing the amount of RAM, as it's always 64 KB.
|
#
1.1 |
|
18-Sep-2000 |
bjh21 |
Split the arm26 Ether3 (ea) driver into an MI driver for the SEEQ 8005 chip, and a front-end driver for the Ether3. Only semantic change is to remove ea_claimirq() and ea_releaseirq() on the grounds that the seem too spurious to warrant a callback to the front-end.
|
#
1.63 |
|
23-May-2019 |
msaitoh |
Whitespace fix (mainly tabify).
|
#
1.62 |
|
23-May-2019 |
msaitoh |
-No functional change: - Simplify struct ethercom's pointer near ETHER_FIRST_MULTI(). - Simplify MII structure initialization. - u_int*_t -> uint*_t. - KNF
|
Revision tags: isaki-audio2-base
|
#
1.61 |
|
05-Feb-2019 |
msaitoh |
Remove very old IFF_NOTRAILERS flag.
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
#
1.60 |
|
03-Sep-2018 |
riastradh |
Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
Revision tags: jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base
|
#
1.59 |
|
26-Jun-2018 |
msaitoh |
Implement the BPF direction filter (BIOC[GS]DIRECTION). It provides backward compatibility with BIOC[GS]SEESENT ioctl. The userland interface is the same as FreeBSD.
This change also fixes a bug that the direction is misunderstand on some environment by passing the direction to bpf_mtap*() instead of checking m->m_pkthdr.rcvif.
|
Revision tags: pgoyette-compat-0625
|
#
1.58 |
|
22-Jun-2018 |
msaitoh |
It's not required to include net/bpfdesc.h. Remove it.
|
Revision tags: netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107
|
#
1.57 |
|
15-Dec-2016 |
ozaki-r |
branches: 1.57.8; 1.57.14; Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input
The benefits of the change are: - We can reduce codes - We can provide the same behavior between drivers - Where/When if_ipackets is counted up - Note that some drivers still update packet statistics in their own way (periodical update) - Moved bpf_mtap run in softint - This makes it easy to MP-ify bpf
Proposed on tech-kern and tech-net
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.56 |
|
10-Jun-2016 |
ozaki-r |
branches: 1.56.2; Introduce m_set_rcvif and m_reset_rcvif
The API is used to set (or reset) a received interface of a mbuf. They are counterpart of m_get_rcvif, which will come in another commit, hide internal of rcvif operation, and reduce the diff of the upcoming change.
No functional change.
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.55 |
|
09-Feb-2016 |
ozaki-r |
Introduce softint-based if_input
This change intends to run the whole network stack in softint context (or normal LWP), not hardware interrupt context. Note that the work is still incomplete by this change; to that end, we also have to softint-ify if_link_state_change (and bpf) which can still run in hardware interrupt.
This change softint-ifies at ifp->if_input that is called from each device driver (and ieee80211_input) to ensure Layer 2 runs in softint (e.g., ether_input and bridge_input). To this end, we provide a framework (called percpuq) that utlizes softint(9) and percpu ifqueues. With this patch, rxintr of most drivers just queues received packets and schedules a softint, and the softint dequeues packets and does rest packet processing.
To minimize changes to each driver, percpuq is allocated in struct ifnet for now and that is initialized by default (in if_attach). We probably have to move percpuq to softc of each driver, but it's future work. At this point, only wm(4) has percpuq in its softc as a reference implementation.
Additional information including performance numbers can be found in the thread at tech-kern@ and tech-net@: http://mail-index.netbsd.org/tech-kern/2016/01/14/msg019997.html
Acknowledgment: riastradh@ greatly helped this work. Thank you very much!
|
Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.54 |
|
12-Sep-2015 |
christos |
Add missing splx() found by brainy.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.53 |
|
13-Apr-2015 |
riastradh |
Convert sys/dev to use <sys/rndsource.h>.
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base tls-maxphys-base
|
#
1.52 |
|
10-Aug-2014 |
tls |
branches: 1.52.4; Merge tls-earlyentropy branch into HEAD.
|
Revision tags: yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
1.51 |
|
10-Oct-2012 |
skrll |
branches: 1.51.10; Second part of PR/46998. The following is taken from the PR with a slight edit from me.
The TX buffer size is not a function of the SEEQ chip, it is an arbitrary driver threshold, so I've renamed the define accordingly and added a new one to specify how many buffers are used (in my port I allow multiple packets to be in flight at once, so have used #ifndef, such that the makefile can override).
Comment corrected, and make use of the above defines.
Missing delay(1) added, otherwise the 20,000 timeout loop is dependent on the speed of your processor. Matches ea_stoptx logic now.
The FIFO empty check does nothing if the previous mode was 'read', but is required before changing the BUFCODE (per 80C04 datasheet page 19, note [2]). Then the mode is set to write, so a second FIFO empty check is needed incase the previous mode was read.
Treat m0 as a pointer not an integer.
Remove double write of the NULL packet header. Either do memset/ea_writebuf or two writes to SEEQ_BUFWIN, but not both.
The calculation of nextpacket (for hdr[]) assumes bufstart = 0, and puts the packet header pointing in the wrong place when it isn't.
The setting of CFG2_OUTPUT is done in ea_init(), so doing it in ea_rxinit is duplicated code.
|
#
1.50 |
|
10-Oct-2012 |
skrll |
Split softc/device_t Use device_xname
From chuq
|
#
1.49 |
|
10-Oct-2012 |
skrll |
Rename eatxpacket to ea_txpacket for consistency.
First part of PR/46998
|
#
1.48 |
|
10-Jun-2012 |
christos |
branches: 1.48.2; PR/46576: Robert Sprowson: Shutdown doesn't disable TX/RX interrupts in SEEQ8005 driver, plus misc white-space and 0->NULL fixes.
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5
|
#
1.47 |
|
09-May-2012 |
martin |
PR port-acorn32/46435: type mismatch, padbuf should be unsigned char.
|
Revision tags: jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.46 |
|
02-Feb-2012 |
tls |
branches: 1.46.2; Entropy-pool implementation move and cleanup.
1) Move core entropy-pool code and source/sink/sample management code to sys/kern from sys/dev.
2) Remove use of NRND as test for presence of entropy-pool code throughout source tree.
3) Remove use of RND_ENABLED in device drivers as microoptimization to avoid expensive operations on disabled entropy sources; make the rnd_add calls do this directly so all callers benefit.
4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might have lead to slight entropy overestimation for some sources.
5) Add new source types for environmental sensors, power sensors, VM system events, and skew between clocks, with a sample implementation for each.
ok releng to go in before the branch due to the difficulty of later pullup (widespread #ifdef removal and moved files). Tested with release builds on amd64 and evbarm and live testing on amd64.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 rmind-uvmplock-base
|
#
1.45 |
|
05-Apr-2010 |
joerg |
branches: 1.45.8; 1.45.12; Push the bpf_ops usage back into bpf.h. Push the common ifp->if_bpf check into the inline functions as well the fourth argument for bpf_attach.
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.44 |
|
19-Jan-2010 |
pooka |
branches: 1.44.2; 1.44.4; Redefine bpf linkage through an always present op vector, i.e. #if NBPFILTER is no longer required in the client. This change doesn't yet add support for loading bpf as a module, since drivers can register before bpf is attached. However, callers of bpf can now be modularized.
Dynamically loadable bpf could probably be done fairly easily with coordination from the stub driver and the real driver by registering attachments in the stub before the real driver is loaded and doing a handoff. ... and I'm not going to ponder the depths of unload here.
Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base mjf-devfs2-base
|
#
1.43 |
|
08-Apr-2008 |
cegger |
branches: 1.43.4; use aprint_*_dev and device_xname
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.42 |
|
19-Oct-2007 |
ad |
branches: 1.42.16; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base vmlocking-base
|
#
1.41 |
|
26-Aug-2007 |
dyoung |
branches: 1.41.2; 1.41.6; Constify: LLADDR -> CLLADDR. I'm aiming here to make it easier to identify sockaddr_dl abuse that remains in the kernel, especially the potential for overwriting memory past the end of a sockaddr_dl with, e.g., memcpy(LLADDR(), ...).
|
Revision tags: matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
|
#
1.40 |
|
05-Mar-2007 |
he |
branches: 1.40.2; 1.40.10; 1.40.14; Use a char* variable for doing pointer arithmetic with.
|
#
1.39 |
|
04-Mar-2007 |
christos |
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.38 |
|
11-Dec-2005 |
christos |
branches: 1.38.26; merge ktrace-lwp.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base ktrace-lwp-base
|
#
1.37 |
|
27-Feb-2005 |
perry |
branches: 1.37.4; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.36 |
|
30-Oct-2004 |
thorpej |
branches: 1.36.4; 1.36.6; When adding/deleting multicast addresses, only whack the address filter if the interface is marked RUNNING.
Fixes kern/27678.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base nathanw_sa_before_merge nathanw_sa_base
|
#
1.35 |
|
15-Jan-2003 |
bouyer |
branches: 1.35.2; 1.35.6; Use a properly zero'd buffer to pad the packet to ETHER_MIN_LEN XXX should it be ETHER_MIN_LEN-ETHER_CRC_LEN ?
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
|
#
1.34 |
|
03-Nov-2002 |
bjh21 |
Quieten lint a little.
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.33 |
|
07-Jun-2002 |
bjh21 |
When copying a block with an odd size to or from the card, be very careful not to overrun the end of it on the host side, since that might just slip over a page boundary and cause an embarrassing kernel panic.
|
Revision tags: netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
1.32 |
|
15-Nov-2001 |
lukem |
branches: 1.32.8; 1.32.10; don't need <sys/types.h> when including <sys/param.h>
|
#
1.31 |
|
13-Nov-2001 |
lukem |
add/cleanup RCSID
|
Revision tags: thorpej-mips-cache-base
|
#
1.30 |
|
07-Nov-2001 |
bjh21 |
Add support for feeding entropy to rnd(4).
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-Jul-2001 |
thorpej |
branches: 1.29.2; 1.29.6; bcopy -> strcpy
|
#
1.28 |
|
07-Jul-2001 |
thorpej |
bcmp -> memcmp
|
#
1.27 |
|
26-Jun-2001 |
bjh21 |
Add support for handling full-size 802.1Q packets.
|
#
1.26 |
|
23-Jun-2001 |
bjh21 |
ea_mc_reset_8004(): Rather than doing the CRC32 ourselves, call ether_crc32_be() to do it for us.
|
#
1.25 |
|
23-Jun-2001 |
bjh21 |
Fix bogons in previous commit: * Remove harmful debugging code from seeq8005_attach(). * Re-insert variable declarations in ea_mc_reset_8004(), since they aren't dead yet.
|
#
1.24 |
|
22-Jun-2001 |
bjh21 |
Attampt support for 8-bit mode. I believe this should work, but I need a more flexible bus_space on arm26 before I can test it.
|
#
1.23 |
|
12-Jun-2001 |
bjh21 |
No need to pull in INET or NS headers -- that's all done by ether_ioctl() now.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.22 |
|
06-Apr-2001 |
bjh21 |
In ea_writembuf(), reset the DMA pointer for each mbuf we copy, since odd-sized mbufs will confuse things. This makes transmission of odd-sized packets work.
|
#
1.21 |
|
05-Apr-2001 |
bjh21 |
Add a bit of voodoo code from the old "eb" driver that seems to prevent the 80C04 returning garbage when we read from it. This driver can now handle flood pings without dropping packets.
|
#
1.20 |
|
02-Apr-2001 |
bjh21 |
Tweak product ID printing in light of the 80C04A data sheet.
Split out Rx and Tx interrupt handlers into their own functions for clarity.
|
#
1.19 |
|
29-Mar-2001 |
bjh21 |
On an 80C04, try not to start reads at addresses of the form xx,ea, xx,ee, or xx,f0. This appears to heavily alleviate, but not to eliminate entirely, the problems I've been seeing with garbage being read from the rx buffer. I suspect the real solution lies elsewhere.
|
#
1.18 |
|
29-Mar-2001 |
bjh21 |
Print a warning message when the DMA FIFO fails to fill or empty before we time out.
|
#
1.17 |
|
27-Mar-2001 |
bjh21 |
Print the address within the Rx buffer whenever anything goes wrong: it seems to be significant.
|
#
1.16 |
|
27-Mar-2001 |
bjh21 |
Clean up debugging printfs a little.
|
#
1.15 |
|
27-Mar-2001 |
bjh21 |
Add some extra diagnostics: * Use the timer to timoe out transmit operations. * Spot when the "next packet" pointer falls outside the recieve buffer and reset the interface. * Don't reset the interface when we get a bad packet (unless there's something else wrong as well).
|
#
1.14 |
|
27-Mar-2001 |
bjh21 |
Comment and #ifdef cleanup.
|
#
1.13 |
|
25-Mar-2001 |
bjh21 |
Tweak handling of multicast on 80C04. I think we need to set the match mode to "multicast" for it to work, but I could be wrong.
Also make ALLMULTI work on 80C04, but this is untested.
|
#
1.12 |
|
24-Mar-2001 |
bjh21 |
Re-arrange board memory to suit the current (crude) transmit code.
Add ea_writembuf() from mark's code, and re-work eatxpacket() to use it.
|
#
1.11 |
|
24-Mar-2001 |
bjh21 |
Enormous pile of changes from mark's (uncommitted) work on this driver. About the only bit of his code not here is the transmit routines, which I'll merge in separately.
Also a few bug-fixes, so (for instance) multicast on an 8005 doesn't immediately fall back to IFF_ALLMULTI.
|
#
1.10 |
|
24-Mar-2001 |
bjh21 |
Change all the register definitions to match the names using in mark's improved version of the driver.
|
#
1.9 |
|
24-Mar-2001 |
bjh21 |
Handle IFF_ALLMULTI correctly. We can now cope with multicast, but for some reason DAD fails when starting IPv6.
|
#
1.8 |
|
23-Dec-2000 |
bjh21 |
branches: 1.8.2; Print the newline after the memory test. This makes it clear that the delay's related to this driver rather than the next device to be attached.
|
#
1.7 |
|
14-Dec-2000 |
thorpej |
ALTQ'ify.
|
#
1.6 |
|
15-Nov-2000 |
thorpej |
branches: 1.6.2; Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach().
|
#
1.5 |
|
03-Nov-2000 |
bjh21 |
First attempt at multicast stuff. I suspect it doesn't work. Use ether_ioctl -- saves 300 bytes of text.
|
#
1.4 |
|
01-Oct-2000 |
thorpej |
Move the check for "promisc + unicast + not for us" into ether_input(), and change Ethernet drivers to always pass all received frames to ether_input() (with a few exceptions, which are documented in the code).
|
#
1.3 |
|
23-Sep-2000 |
bjh21 |
Substantial overhaul, factoring out of common code, removal of redundancy and general cleanup. Still not a beautiful driver, but one I'd be willing to introduce to my parents now.
|
#
1.2 |
|
21-Sep-2000 |
bjh21 |
Add rudimentary 80C04 support (basically saying "Oh look, an 80C04!"). Move printing the initial ":" into the board driver, like i82586.c does. Don't bother printing the amount of RAM, as it's always 64 KB.
|
#
1.1 |
|
18-Sep-2000 |
bjh21 |
Split the arm26 Ether3 (ea) driver into an MI driver for the SEEQ 8005 chip, and a front-end driver for the Ether3. Only semantic change is to remove ea_claimirq() and ea_releaseirq() on the grounds that the seem too spurious to warrant a callback to the front-end.
|
#
1.62 |
|
23-May-2019 |
msaitoh |
-No functional change: - Simplify struct ethercom's pointer near ETHER_FIRST_MULTI(). - Simplify MII structure initialization. - u_int*_t -> uint*_t. - KNF
|
Revision tags: isaki-audio2-base
|
#
1.61 |
|
05-Feb-2019 |
msaitoh |
Remove very old IFF_NOTRAILERS flag.
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
#
1.60 |
|
03-Sep-2018 |
riastradh |
Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
Revision tags: jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base
|
#
1.59 |
|
26-Jun-2018 |
msaitoh |
Implement the BPF direction filter (BIOC[GS]DIRECTION). It provides backward compatibility with BIOC[GS]SEESENT ioctl. The userland interface is the same as FreeBSD.
This change also fixes a bug that the direction is misunderstand on some environment by passing the direction to bpf_mtap*() instead of checking m->m_pkthdr.rcvif.
|
Revision tags: pgoyette-compat-0625
|
#
1.58 |
|
22-Jun-2018 |
msaitoh |
It's not required to include net/bpfdesc.h. Remove it.
|
Revision tags: netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107
|
#
1.57 |
|
15-Dec-2016 |
ozaki-r |
branches: 1.57.8; 1.57.14; Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input
The benefits of the change are: - We can reduce codes - We can provide the same behavior between drivers - Where/When if_ipackets is counted up - Note that some drivers still update packet statistics in their own way (periodical update) - Moved bpf_mtap run in softint - This makes it easy to MP-ify bpf
Proposed on tech-kern and tech-net
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.56 |
|
10-Jun-2016 |
ozaki-r |
branches: 1.56.2; Introduce m_set_rcvif and m_reset_rcvif
The API is used to set (or reset) a received interface of a mbuf. They are counterpart of m_get_rcvif, which will come in another commit, hide internal of rcvif operation, and reduce the diff of the upcoming change.
No functional change.
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.55 |
|
09-Feb-2016 |
ozaki-r |
Introduce softint-based if_input
This change intends to run the whole network stack in softint context (or normal LWP), not hardware interrupt context. Note that the work is still incomplete by this change; to that end, we also have to softint-ify if_link_state_change (and bpf) which can still run in hardware interrupt.
This change softint-ifies at ifp->if_input that is called from each device driver (and ieee80211_input) to ensure Layer 2 runs in softint (e.g., ether_input and bridge_input). To this end, we provide a framework (called percpuq) that utlizes softint(9) and percpu ifqueues. With this patch, rxintr of most drivers just queues received packets and schedules a softint, and the softint dequeues packets and does rest packet processing.
To minimize changes to each driver, percpuq is allocated in struct ifnet for now and that is initialized by default (in if_attach). We probably have to move percpuq to softc of each driver, but it's future work. At this point, only wm(4) has percpuq in its softc as a reference implementation.
Additional information including performance numbers can be found in the thread at tech-kern@ and tech-net@: http://mail-index.netbsd.org/tech-kern/2016/01/14/msg019997.html
Acknowledgment: riastradh@ greatly helped this work. Thank you very much!
|
Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.54 |
|
12-Sep-2015 |
christos |
Add missing splx() found by brainy.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.53 |
|
13-Apr-2015 |
riastradh |
Convert sys/dev to use <sys/rndsource.h>.
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base tls-maxphys-base
|
#
1.52 |
|
10-Aug-2014 |
tls |
branches: 1.52.4; Merge tls-earlyentropy branch into HEAD.
|
Revision tags: yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
1.51 |
|
10-Oct-2012 |
skrll |
branches: 1.51.10; Second part of PR/46998. The following is taken from the PR with a slight edit from me.
The TX buffer size is not a function of the SEEQ chip, it is an arbitrary driver threshold, so I've renamed the define accordingly and added a new one to specify how many buffers are used (in my port I allow multiple packets to be in flight at once, so have used #ifndef, such that the makefile can override).
Comment corrected, and make use of the above defines.
Missing delay(1) added, otherwise the 20,000 timeout loop is dependent on the speed of your processor. Matches ea_stoptx logic now.
The FIFO empty check does nothing if the previous mode was 'read', but is required before changing the BUFCODE (per 80C04 datasheet page 19, note [2]). Then the mode is set to write, so a second FIFO empty check is needed incase the previous mode was read.
Treat m0 as a pointer not an integer.
Remove double write of the NULL packet header. Either do memset/ea_writebuf or two writes to SEEQ_BUFWIN, but not both.
The calculation of nextpacket (for hdr[]) assumes bufstart = 0, and puts the packet header pointing in the wrong place when it isn't.
The setting of CFG2_OUTPUT is done in ea_init(), so doing it in ea_rxinit is duplicated code.
|
#
1.50 |
|
10-Oct-2012 |
skrll |
Split softc/device_t Use device_xname
From chuq
|
#
1.49 |
|
10-Oct-2012 |
skrll |
Rename eatxpacket to ea_txpacket for consistency.
First part of PR/46998
|
#
1.48 |
|
10-Jun-2012 |
christos |
branches: 1.48.2; PR/46576: Robert Sprowson: Shutdown doesn't disable TX/RX interrupts in SEEQ8005 driver, plus misc white-space and 0->NULL fixes.
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5
|
#
1.47 |
|
09-May-2012 |
martin |
PR port-acorn32/46435: type mismatch, padbuf should be unsigned char.
|
Revision tags: jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.46 |
|
02-Feb-2012 |
tls |
branches: 1.46.2; Entropy-pool implementation move and cleanup.
1) Move core entropy-pool code and source/sink/sample management code to sys/kern from sys/dev.
2) Remove use of NRND as test for presence of entropy-pool code throughout source tree.
3) Remove use of RND_ENABLED in device drivers as microoptimization to avoid expensive operations on disabled entropy sources; make the rnd_add calls do this directly so all callers benefit.
4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might have lead to slight entropy overestimation for some sources.
5) Add new source types for environmental sensors, power sensors, VM system events, and skew between clocks, with a sample implementation for each.
ok releng to go in before the branch due to the difficulty of later pullup (widespread #ifdef removal and moved files). Tested with release builds on amd64 and evbarm and live testing on amd64.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 rmind-uvmplock-base
|
#
1.45 |
|
05-Apr-2010 |
joerg |
branches: 1.45.8; 1.45.12; Push the bpf_ops usage back into bpf.h. Push the common ifp->if_bpf check into the inline functions as well the fourth argument for bpf_attach.
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.44 |
|
19-Jan-2010 |
pooka |
branches: 1.44.2; 1.44.4; Redefine bpf linkage through an always present op vector, i.e. #if NBPFILTER is no longer required in the client. This change doesn't yet add support for loading bpf as a module, since drivers can register before bpf is attached. However, callers of bpf can now be modularized.
Dynamically loadable bpf could probably be done fairly easily with coordination from the stub driver and the real driver by registering attachments in the stub before the real driver is loaded and doing a handoff. ... and I'm not going to ponder the depths of unload here.
Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base mjf-devfs2-base
|
#
1.43 |
|
08-Apr-2008 |
cegger |
branches: 1.43.4; use aprint_*_dev and device_xname
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.42 |
|
19-Oct-2007 |
ad |
branches: 1.42.16; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base vmlocking-base
|
#
1.41 |
|
26-Aug-2007 |
dyoung |
branches: 1.41.2; 1.41.6; Constify: LLADDR -> CLLADDR. I'm aiming here to make it easier to identify sockaddr_dl abuse that remains in the kernel, especially the potential for overwriting memory past the end of a sockaddr_dl with, e.g., memcpy(LLADDR(), ...).
|
Revision tags: matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
|
#
1.40 |
|
05-Mar-2007 |
he |
branches: 1.40.2; 1.40.10; 1.40.14; Use a char* variable for doing pointer arithmetic with.
|
#
1.39 |
|
04-Mar-2007 |
christos |
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.38 |
|
11-Dec-2005 |
christos |
branches: 1.38.26; merge ktrace-lwp.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base ktrace-lwp-base
|
#
1.37 |
|
27-Feb-2005 |
perry |
branches: 1.37.4; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.36 |
|
30-Oct-2004 |
thorpej |
branches: 1.36.4; 1.36.6; When adding/deleting multicast addresses, only whack the address filter if the interface is marked RUNNING.
Fixes kern/27678.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base nathanw_sa_before_merge nathanw_sa_base
|
#
1.35 |
|
15-Jan-2003 |
bouyer |
branches: 1.35.2; 1.35.6; Use a properly zero'd buffer to pad the packet to ETHER_MIN_LEN XXX should it be ETHER_MIN_LEN-ETHER_CRC_LEN ?
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
|
#
1.34 |
|
03-Nov-2002 |
bjh21 |
Quieten lint a little.
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.33 |
|
07-Jun-2002 |
bjh21 |
When copying a block with an odd size to or from the card, be very careful not to overrun the end of it on the host side, since that might just slip over a page boundary and cause an embarrassing kernel panic.
|
Revision tags: netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
1.32 |
|
15-Nov-2001 |
lukem |
branches: 1.32.8; 1.32.10; don't need <sys/types.h> when including <sys/param.h>
|
#
1.31 |
|
13-Nov-2001 |
lukem |
add/cleanup RCSID
|
Revision tags: thorpej-mips-cache-base
|
#
1.30 |
|
07-Nov-2001 |
bjh21 |
Add support for feeding entropy to rnd(4).
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-Jul-2001 |
thorpej |
branches: 1.29.2; 1.29.6; bcopy -> strcpy
|
#
1.28 |
|
07-Jul-2001 |
thorpej |
bcmp -> memcmp
|
#
1.27 |
|
26-Jun-2001 |
bjh21 |
Add support for handling full-size 802.1Q packets.
|
#
1.26 |
|
23-Jun-2001 |
bjh21 |
ea_mc_reset_8004(): Rather than doing the CRC32 ourselves, call ether_crc32_be() to do it for us.
|
#
1.25 |
|
23-Jun-2001 |
bjh21 |
Fix bogons in previous commit: * Remove harmful debugging code from seeq8005_attach(). * Re-insert variable declarations in ea_mc_reset_8004(), since they aren't dead yet.
|
#
1.24 |
|
22-Jun-2001 |
bjh21 |
Attampt support for 8-bit mode. I believe this should work, but I need a more flexible bus_space on arm26 before I can test it.
|
#
1.23 |
|
12-Jun-2001 |
bjh21 |
No need to pull in INET or NS headers -- that's all done by ether_ioctl() now.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.22 |
|
06-Apr-2001 |
bjh21 |
In ea_writembuf(), reset the DMA pointer for each mbuf we copy, since odd-sized mbufs will confuse things. This makes transmission of odd-sized packets work.
|
#
1.21 |
|
05-Apr-2001 |
bjh21 |
Add a bit of voodoo code from the old "eb" driver that seems to prevent the 80C04 returning garbage when we read from it. This driver can now handle flood pings without dropping packets.
|
#
1.20 |
|
02-Apr-2001 |
bjh21 |
Tweak product ID printing in light of the 80C04A data sheet.
Split out Rx and Tx interrupt handlers into their own functions for clarity.
|
#
1.19 |
|
29-Mar-2001 |
bjh21 |
On an 80C04, try not to start reads at addresses of the form xx,ea, xx,ee, or xx,f0. This appears to heavily alleviate, but not to eliminate entirely, the problems I've been seeing with garbage being read from the rx buffer. I suspect the real solution lies elsewhere.
|
#
1.18 |
|
29-Mar-2001 |
bjh21 |
Print a warning message when the DMA FIFO fails to fill or empty before we time out.
|
#
1.17 |
|
27-Mar-2001 |
bjh21 |
Print the address within the Rx buffer whenever anything goes wrong: it seems to be significant.
|
#
1.16 |
|
27-Mar-2001 |
bjh21 |
Clean up debugging printfs a little.
|
#
1.15 |
|
27-Mar-2001 |
bjh21 |
Add some extra diagnostics: * Use the timer to timoe out transmit operations. * Spot when the "next packet" pointer falls outside the recieve buffer and reset the interface. * Don't reset the interface when we get a bad packet (unless there's something else wrong as well).
|
#
1.14 |
|
27-Mar-2001 |
bjh21 |
Comment and #ifdef cleanup.
|
#
1.13 |
|
25-Mar-2001 |
bjh21 |
Tweak handling of multicast on 80C04. I think we need to set the match mode to "multicast" for it to work, but I could be wrong.
Also make ALLMULTI work on 80C04, but this is untested.
|
#
1.12 |
|
24-Mar-2001 |
bjh21 |
Re-arrange board memory to suit the current (crude) transmit code.
Add ea_writembuf() from mark's code, and re-work eatxpacket() to use it.
|
#
1.11 |
|
24-Mar-2001 |
bjh21 |
Enormous pile of changes from mark's (uncommitted) work on this driver. About the only bit of his code not here is the transmit routines, which I'll merge in separately.
Also a few bug-fixes, so (for instance) multicast on an 8005 doesn't immediately fall back to IFF_ALLMULTI.
|
#
1.10 |
|
24-Mar-2001 |
bjh21 |
Change all the register definitions to match the names using in mark's improved version of the driver.
|
#
1.9 |
|
24-Mar-2001 |
bjh21 |
Handle IFF_ALLMULTI correctly. We can now cope with multicast, but for some reason DAD fails when starting IPv6.
|
#
1.8 |
|
23-Dec-2000 |
bjh21 |
branches: 1.8.2; Print the newline after the memory test. This makes it clear that the delay's related to this driver rather than the next device to be attached.
|
#
1.7 |
|
14-Dec-2000 |
thorpej |
ALTQ'ify.
|
#
1.6 |
|
15-Nov-2000 |
thorpej |
branches: 1.6.2; Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach().
|
#
1.5 |
|
03-Nov-2000 |
bjh21 |
First attempt at multicast stuff. I suspect it doesn't work. Use ether_ioctl -- saves 300 bytes of text.
|
#
1.4 |
|
01-Oct-2000 |
thorpej |
Move the check for "promisc + unicast + not for us" into ether_input(), and change Ethernet drivers to always pass all received frames to ether_input() (with a few exceptions, which are documented in the code).
|
#
1.3 |
|
23-Sep-2000 |
bjh21 |
Substantial overhaul, factoring out of common code, removal of redundancy and general cleanup. Still not a beautiful driver, but one I'd be willing to introduce to my parents now.
|
#
1.2 |
|
21-Sep-2000 |
bjh21 |
Add rudimentary 80C04 support (basically saying "Oh look, an 80C04!"). Move printing the initial ":" into the board driver, like i82586.c does. Don't bother printing the amount of RAM, as it's always 64 KB.
|
#
1.1 |
|
18-Sep-2000 |
bjh21 |
Split the arm26 Ether3 (ea) driver into an MI driver for the SEEQ 8005 chip, and a front-end driver for the Ether3. Only semantic change is to remove ea_claimirq() and ea_releaseirq() on the grounds that the seem too spurious to warrant a callback to the front-end.
|
Revision tags: isaki-audio2-base
|
#
1.61 |
|
05-Feb-2019 |
msaitoh |
Remove very old IFF_NOTRAILERS flag.
|
Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
|
#
1.60 |
|
03-Sep-2018 |
riastradh |
Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
Revision tags: jdolecek-ncqfixes-base pgoyette-compat-0728 phil-wifi-base
|
#
1.59 |
|
26-Jun-2018 |
msaitoh |
Implement the BPF direction filter (BIOC[GS]DIRECTION). It provides backward compatibility with BIOC[GS]SEESENT ioctl. The userland interface is the same as FreeBSD.
This change also fixes a bug that the direction is misunderstand on some environment by passing the direction to bpf_mtap*() instead of checking m->m_pkthdr.rcvif.
|
Revision tags: pgoyette-compat-0625
|
#
1.58 |
|
22-Jun-2018 |
msaitoh |
It's not required to include net/bpfdesc.h. Remove it.
|
Revision tags: netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107
|
#
1.57 |
|
15-Dec-2016 |
ozaki-r |
branches: 1.57.8; 1.57.14; Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input
The benefits of the change are: - We can reduce codes - We can provide the same behavior between drivers - Where/When if_ipackets is counted up - Note that some drivers still update packet statistics in their own way (periodical update) - Moved bpf_mtap run in softint - This makes it easy to MP-ify bpf
Proposed on tech-kern and tech-net
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.56 |
|
10-Jun-2016 |
ozaki-r |
branches: 1.56.2; Introduce m_set_rcvif and m_reset_rcvif
The API is used to set (or reset) a received interface of a mbuf. They are counterpart of m_get_rcvif, which will come in another commit, hide internal of rcvif operation, and reduce the diff of the upcoming change.
No functional change.
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.55 |
|
09-Feb-2016 |
ozaki-r |
Introduce softint-based if_input
This change intends to run the whole network stack in softint context (or normal LWP), not hardware interrupt context. Note that the work is still incomplete by this change; to that end, we also have to softint-ify if_link_state_change (and bpf) which can still run in hardware interrupt.
This change softint-ifies at ifp->if_input that is called from each device driver (and ieee80211_input) to ensure Layer 2 runs in softint (e.g., ether_input and bridge_input). To this end, we provide a framework (called percpuq) that utlizes softint(9) and percpu ifqueues. With this patch, rxintr of most drivers just queues received packets and schedules a softint, and the softint dequeues packets and does rest packet processing.
To minimize changes to each driver, percpuq is allocated in struct ifnet for now and that is initialized by default (in if_attach). We probably have to move percpuq to softc of each driver, but it's future work. At this point, only wm(4) has percpuq in its softc as a reference implementation.
Additional information including performance numbers can be found in the thread at tech-kern@ and tech-net@: http://mail-index.netbsd.org/tech-kern/2016/01/14/msg019997.html
Acknowledgment: riastradh@ greatly helped this work. Thank you very much!
|
Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.54 |
|
12-Sep-2015 |
christos |
Add missing splx() found by brainy.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.53 |
|
13-Apr-2015 |
riastradh |
Convert sys/dev to use <sys/rndsource.h>.
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base tls-maxphys-base
|
#
1.52 |
|
10-Aug-2014 |
tls |
branches: 1.52.4; Merge tls-earlyentropy branch into HEAD.
|
Revision tags: yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
1.51 |
|
10-Oct-2012 |
skrll |
branches: 1.51.10; Second part of PR/46998. The following is taken from the PR with a slight edit from me.
The TX buffer size is not a function of the SEEQ chip, it is an arbitrary driver threshold, so I've renamed the define accordingly and added a new one to specify how many buffers are used (in my port I allow multiple packets to be in flight at once, so have used #ifndef, such that the makefile can override).
Comment corrected, and make use of the above defines.
Missing delay(1) added, otherwise the 20,000 timeout loop is dependent on the speed of your processor. Matches ea_stoptx logic now.
The FIFO empty check does nothing if the previous mode was 'read', but is required before changing the BUFCODE (per 80C04 datasheet page 19, note [2]). Then the mode is set to write, so a second FIFO empty check is needed incase the previous mode was read.
Treat m0 as a pointer not an integer.
Remove double write of the NULL packet header. Either do memset/ea_writebuf or two writes to SEEQ_BUFWIN, but not both.
The calculation of nextpacket (for hdr[]) assumes bufstart = 0, and puts the packet header pointing in the wrong place when it isn't.
The setting of CFG2_OUTPUT is done in ea_init(), so doing it in ea_rxinit is duplicated code.
|
#
1.50 |
|
10-Oct-2012 |
skrll |
Split softc/device_t Use device_xname
From chuq
|
#
1.49 |
|
10-Oct-2012 |
skrll |
Rename eatxpacket to ea_txpacket for consistency.
First part of PR/46998
|
#
1.48 |
|
10-Jun-2012 |
christos |
branches: 1.48.2; PR/46576: Robert Sprowson: Shutdown doesn't disable TX/RX interrupts in SEEQ8005 driver, plus misc white-space and 0->NULL fixes.
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5
|
#
1.47 |
|
09-May-2012 |
martin |
PR port-acorn32/46435: type mismatch, padbuf should be unsigned char.
|
Revision tags: jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.46 |
|
02-Feb-2012 |
tls |
branches: 1.46.2; Entropy-pool implementation move and cleanup.
1) Move core entropy-pool code and source/sink/sample management code to sys/kern from sys/dev.
2) Remove use of NRND as test for presence of entropy-pool code throughout source tree.
3) Remove use of RND_ENABLED in device drivers as microoptimization to avoid expensive operations on disabled entropy sources; make the rnd_add calls do this directly so all callers benefit.
4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might have lead to slight entropy overestimation for some sources.
5) Add new source types for environmental sensors, power sensors, VM system events, and skew between clocks, with a sample implementation for each.
ok releng to go in before the branch due to the difficulty of later pullup (widespread #ifdef removal and moved files). Tested with release builds on amd64 and evbarm and live testing on amd64.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 rmind-uvmplock-base
|
#
1.45 |
|
05-Apr-2010 |
joerg |
branches: 1.45.8; 1.45.12; Push the bpf_ops usage back into bpf.h. Push the common ifp->if_bpf check into the inline functions as well the fourth argument for bpf_attach.
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.44 |
|
19-Jan-2010 |
pooka |
branches: 1.44.2; 1.44.4; Redefine bpf linkage through an always present op vector, i.e. #if NBPFILTER is no longer required in the client. This change doesn't yet add support for loading bpf as a module, since drivers can register before bpf is attached. However, callers of bpf can now be modularized.
Dynamically loadable bpf could probably be done fairly easily with coordination from the stub driver and the real driver by registering attachments in the stub before the real driver is loaded and doing a handoff. ... and I'm not going to ponder the depths of unload here.
Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base mjf-devfs2-base
|
#
1.43 |
|
08-Apr-2008 |
cegger |
branches: 1.43.4; use aprint_*_dev and device_xname
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.42 |
|
19-Oct-2007 |
ad |
branches: 1.42.16; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base vmlocking-base
|
#
1.41 |
|
26-Aug-2007 |
dyoung |
branches: 1.41.2; 1.41.6; Constify: LLADDR -> CLLADDR. I'm aiming here to make it easier to identify sockaddr_dl abuse that remains in the kernel, especially the potential for overwriting memory past the end of a sockaddr_dl with, e.g., memcpy(LLADDR(), ...).
|
Revision tags: matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
|
#
1.40 |
|
05-Mar-2007 |
he |
branches: 1.40.2; 1.40.10; 1.40.14; Use a char* variable for doing pointer arithmetic with.
|
#
1.39 |
|
04-Mar-2007 |
christos |
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.38 |
|
11-Dec-2005 |
christos |
branches: 1.38.26; merge ktrace-lwp.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base ktrace-lwp-base
|
#
1.37 |
|
27-Feb-2005 |
perry |
branches: 1.37.4; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.36 |
|
30-Oct-2004 |
thorpej |
branches: 1.36.4; 1.36.6; When adding/deleting multicast addresses, only whack the address filter if the interface is marked RUNNING.
Fixes kern/27678.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base nathanw_sa_before_merge nathanw_sa_base
|
#
1.35 |
|
15-Jan-2003 |
bouyer |
branches: 1.35.2; 1.35.6; Use a properly zero'd buffer to pad the packet to ETHER_MIN_LEN XXX should it be ETHER_MIN_LEN-ETHER_CRC_LEN ?
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
|
#
1.34 |
|
03-Nov-2002 |
bjh21 |
Quieten lint a little.
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.33 |
|
07-Jun-2002 |
bjh21 |
When copying a block with an odd size to or from the card, be very careful not to overrun the end of it on the host side, since that might just slip over a page boundary and cause an embarrassing kernel panic.
|
Revision tags: netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
1.32 |
|
15-Nov-2001 |
lukem |
branches: 1.32.8; 1.32.10; don't need <sys/types.h> when including <sys/param.h>
|
#
1.31 |
|
13-Nov-2001 |
lukem |
add/cleanup RCSID
|
Revision tags: thorpej-mips-cache-base
|
#
1.30 |
|
07-Nov-2001 |
bjh21 |
Add support for feeding entropy to rnd(4).
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-Jul-2001 |
thorpej |
branches: 1.29.2; 1.29.6; bcopy -> strcpy
|
#
1.28 |
|
07-Jul-2001 |
thorpej |
bcmp -> memcmp
|
#
1.27 |
|
26-Jun-2001 |
bjh21 |
Add support for handling full-size 802.1Q packets.
|
#
1.26 |
|
23-Jun-2001 |
bjh21 |
ea_mc_reset_8004(): Rather than doing the CRC32 ourselves, call ether_crc32_be() to do it for us.
|
#
1.25 |
|
23-Jun-2001 |
bjh21 |
Fix bogons in previous commit: * Remove harmful debugging code from seeq8005_attach(). * Re-insert variable declarations in ea_mc_reset_8004(), since they aren't dead yet.
|
#
1.24 |
|
22-Jun-2001 |
bjh21 |
Attampt support for 8-bit mode. I believe this should work, but I need a more flexible bus_space on arm26 before I can test it.
|
#
1.23 |
|
12-Jun-2001 |
bjh21 |
No need to pull in INET or NS headers -- that's all done by ether_ioctl() now.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.22 |
|
06-Apr-2001 |
bjh21 |
In ea_writembuf(), reset the DMA pointer for each mbuf we copy, since odd-sized mbufs will confuse things. This makes transmission of odd-sized packets work.
|
#
1.21 |
|
05-Apr-2001 |
bjh21 |
Add a bit of voodoo code from the old "eb" driver that seems to prevent the 80C04 returning garbage when we read from it. This driver can now handle flood pings without dropping packets.
|
#
1.20 |
|
02-Apr-2001 |
bjh21 |
Tweak product ID printing in light of the 80C04A data sheet.
Split out Rx and Tx interrupt handlers into their own functions for clarity.
|
#
1.19 |
|
29-Mar-2001 |
bjh21 |
On an 80C04, try not to start reads at addresses of the form xx,ea, xx,ee, or xx,f0. This appears to heavily alleviate, but not to eliminate entirely, the problems I've been seeing with garbage being read from the rx buffer. I suspect the real solution lies elsewhere.
|
#
1.18 |
|
29-Mar-2001 |
bjh21 |
Print a warning message when the DMA FIFO fails to fill or empty before we time out.
|
#
1.17 |
|
27-Mar-2001 |
bjh21 |
Print the address within the Rx buffer whenever anything goes wrong: it seems to be significant.
|
#
1.16 |
|
27-Mar-2001 |
bjh21 |
Clean up debugging printfs a little.
|
#
1.15 |
|
27-Mar-2001 |
bjh21 |
Add some extra diagnostics: * Use the timer to timoe out transmit operations. * Spot when the "next packet" pointer falls outside the recieve buffer and reset the interface. * Don't reset the interface when we get a bad packet (unless there's something else wrong as well).
|
#
1.14 |
|
27-Mar-2001 |
bjh21 |
Comment and #ifdef cleanup.
|
#
1.13 |
|
25-Mar-2001 |
bjh21 |
Tweak handling of multicast on 80C04. I think we need to set the match mode to "multicast" for it to work, but I could be wrong.
Also make ALLMULTI work on 80C04, but this is untested.
|
#
1.12 |
|
24-Mar-2001 |
bjh21 |
Re-arrange board memory to suit the current (crude) transmit code.
Add ea_writembuf() from mark's code, and re-work eatxpacket() to use it.
|
#
1.11 |
|
24-Mar-2001 |
bjh21 |
Enormous pile of changes from mark's (uncommitted) work on this driver. About the only bit of his code not here is the transmit routines, which I'll merge in separately.
Also a few bug-fixes, so (for instance) multicast on an 8005 doesn't immediately fall back to IFF_ALLMULTI.
|
#
1.10 |
|
24-Mar-2001 |
bjh21 |
Change all the register definitions to match the names using in mark's improved version of the driver.
|
#
1.9 |
|
24-Mar-2001 |
bjh21 |
Handle IFF_ALLMULTI correctly. We can now cope with multicast, but for some reason DAD fails when starting IPv6.
|
#
1.8 |
|
23-Dec-2000 |
bjh21 |
branches: 1.8.2; Print the newline after the memory test. This makes it clear that the delay's related to this driver rather than the next device to be attached.
|
#
1.7 |
|
14-Dec-2000 |
thorpej |
ALTQ'ify.
|
#
1.6 |
|
15-Nov-2000 |
thorpej |
branches: 1.6.2; Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach().
|
#
1.5 |
|
03-Nov-2000 |
bjh21 |
First attempt at multicast stuff. I suspect it doesn't work. Use ether_ioctl -- saves 300 bytes of text.
|
#
1.4 |
|
01-Oct-2000 |
thorpej |
Move the check for "promisc + unicast + not for us" into ether_input(), and change Ethernet drivers to always pass all received frames to ether_input() (with a few exceptions, which are documented in the code).
|
#
1.3 |
|
23-Sep-2000 |
bjh21 |
Substantial overhaul, factoring out of common code, removal of redundancy and general cleanup. Still not a beautiful driver, but one I'd be willing to introduce to my parents now.
|
#
1.2 |
|
21-Sep-2000 |
bjh21 |
Add rudimentary 80C04 support (basically saying "Oh look, an 80C04!"). Move printing the initial ":" into the board driver, like i82586.c does. Don't bother printing the amount of RAM, as it's always 64 KB.
|
#
1.1 |
|
18-Sep-2000 |
bjh21 |
Split the arm26 Ether3 (ea) driver into an MI driver for the SEEQ 8005 chip, and a front-end driver for the Ether3. Only semantic change is to remove ea_claimirq() and ea_releaseirq() on the grounds that the seem too spurious to warrant a callback to the front-end.
|
#
1.57 |
|
15-Dec-2016 |
ozaki-r |
Move bpf_mtap and if_ipackets++ on Rx of each driver to percpuq if_input
The benefits of the change are: - We can reduce codes - We can provide the same behavior between drivers - Where/When if_ipackets is counted up - Note that some drivers still update packet statistics in their own way (periodical update) - Moved bpf_mtap run in softint - This makes it easy to MP-ify bpf
Proposed on tech-kern and tech-net
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907
|
#
1.56 |
|
10-Jun-2016 |
ozaki-r |
Introduce m_set_rcvif and m_reset_rcvif
The API is used to set (or reset) a received interface of a mbuf. They are counterpart of m_get_rcvif, which will come in another commit, hide internal of rcvif operation, and reduce the diff of the upcoming change.
No functional change.
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
#
1.55 |
|
09-Feb-2016 |
ozaki-r |
Introduce softint-based if_input
This change intends to run the whole network stack in softint context (or normal LWP), not hardware interrupt context. Note that the work is still incomplete by this change; to that end, we also have to softint-ify if_link_state_change (and bpf) which can still run in hardware interrupt.
This change softint-ifies at ifp->if_input that is called from each device driver (and ieee80211_input) to ensure Layer 2 runs in softint (e.g., ether_input and bridge_input). To this end, we provide a framework (called percpuq) that utlizes softint(9) and percpu ifqueues. With this patch, rxintr of most drivers just queues received packets and schedules a softint, and the softint dequeues packets and does rest packet processing.
To minimize changes to each driver, percpuq is allocated in struct ifnet for now and that is initialized by default (in if_attach). We probably have to move percpuq to softc of each driver, but it's future work. At this point, only wm(4) has percpuq in its softc as a reference implementation.
Additional information including performance numbers can be found in the thread at tech-kern@ and tech-net@: http://mail-index.netbsd.org/tech-kern/2016/01/14/msg019997.html
Acknowledgment: riastradh@ greatly helped this work. Thank you very much!
|
Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.54 |
|
12-Sep-2015 |
christos |
Add missing splx() found by brainy.
|
Revision tags: nick-nhusb-base-20150606
|
#
1.53 |
|
13-Apr-2015 |
riastradh |
Convert sys/dev to use <sys/rndsource.h>.
|
Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base tls-maxphys-base
|
#
1.52 |
|
10-Aug-2014 |
tls |
branches: 1.52.4; Merge tls-earlyentropy branch into HEAD.
|
Revision tags: yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
#
1.51 |
|
10-Oct-2012 |
skrll |
branches: 1.51.10; Second part of PR/46998. The following is taken from the PR with a slight edit from me.
The TX buffer size is not a function of the SEEQ chip, it is an arbitrary driver threshold, so I've renamed the define accordingly and added a new one to specify how many buffers are used (in my port I allow multiple packets to be in flight at once, so have used #ifndef, such that the makefile can override).
Comment corrected, and make use of the above defines.
Missing delay(1) added, otherwise the 20,000 timeout loop is dependent on the speed of your processor. Matches ea_stoptx logic now.
The FIFO empty check does nothing if the previous mode was 'read', but is required before changing the BUFCODE (per 80C04 datasheet page 19, note [2]). Then the mode is set to write, so a second FIFO empty check is needed incase the previous mode was read.
Treat m0 as a pointer not an integer.
Remove double write of the NULL packet header. Either do memset/ea_writebuf or two writes to SEEQ_BUFWIN, but not both.
The calculation of nextpacket (for hdr[]) assumes bufstart = 0, and puts the packet header pointing in the wrong place when it isn't.
The setting of CFG2_OUTPUT is done in ea_init(), so doing it in ea_rxinit is duplicated code.
|
#
1.50 |
|
10-Oct-2012 |
skrll |
Split softc/device_t Use device_xname
From chuq
|
#
1.49 |
|
10-Oct-2012 |
skrll |
Rename eatxpacket to ea_txpacket for consistency.
First part of PR/46998
|
#
1.48 |
|
10-Jun-2012 |
christos |
branches: 1.48.2; PR/46576: Robert Sprowson: Shutdown doesn't disable TX/RX interrupts in SEEQ8005 driver, plus misc white-space and 0->NULL fixes.
|
Revision tags: jmcneill-usbmp-base10 yamt-pagecache-base5
|
#
1.47 |
|
09-May-2012 |
martin |
PR port-acorn32/46435: type mismatch, padbuf should be unsigned char.
|
Revision tags: jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.46 |
|
02-Feb-2012 |
tls |
branches: 1.46.2; Entropy-pool implementation move and cleanup.
1) Move core entropy-pool code and source/sink/sample management code to sys/kern from sys/dev.
2) Remove use of NRND as test for presence of entropy-pool code throughout source tree.
3) Remove use of RND_ENABLED in device drivers as microoptimization to avoid expensive operations on disabled entropy sources; make the rnd_add calls do this directly so all callers benefit.
4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might have lead to slight entropy overestimation for some sources.
5) Add new source types for environmental sensors, power sensors, VM system events, and skew between clocks, with a sample implementation for each.
ok releng to go in before the branch due to the difficulty of later pullup (widespread #ifdef removal and moved files). Tested with release builds on amd64 and evbarm and live testing on amd64.
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 rmind-uvmplock-base
|
#
1.45 |
|
05-Apr-2010 |
joerg |
branches: 1.45.8; 1.45.12; Push the bpf_ops usage back into bpf.h. Push the common ifp->if_bpf check into the inline functions as well the fourth argument for bpf_attach.
|
Revision tags: yamt-nfs-mp-base9 uebayasi-xip-base
|
#
1.44 |
|
19-Jan-2010 |
pooka |
branches: 1.44.2; 1.44.4; Redefine bpf linkage through an always present op vector, i.e. #if NBPFILTER is no longer required in the client. This change doesn't yet add support for loading bpf as a module, since drivers can register before bpf is attached. However, callers of bpf can now be modularized.
Dynamically loadable bpf could probably be done fairly easily with coordination from the stub driver and the real driver by registering attachments in the stub before the real driver is loaded and doing a handoff. ... and I'm not going to ponder the depths of unload here.
Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base mjf-devfs2-base
|
#
1.43 |
|
08-Apr-2008 |
cegger |
branches: 1.43.4; use aprint_*_dev and device_xname
|
Revision tags: ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase bouyer-xenamd64-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base reinoud-bufcleanup-base
|
#
1.42 |
|
19-Oct-2007 |
ad |
branches: 1.42.16; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base4 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base vmlocking-base
|
#
1.41 |
|
26-Aug-2007 |
dyoung |
branches: 1.41.2; 1.41.6; Constify: LLADDR -> CLLADDR. I'm aiming here to make it easier to identify sockaddr_dl abuse that remains in the kernel, especially the potential for overwriting memory past the end of a sockaddr_dl with, e.g., memcpy(LLADDR(), ...).
|
Revision tags: matt-mips64-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base mjf-ufs-trans-base
|
#
1.40 |
|
05-Mar-2007 |
he |
branches: 1.40.2; 1.40.10; 1.40.14; Use a char* variable for doing pointer arithmetic with.
|
#
1.39 |
|
04-Mar-2007 |
christos |
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.38 |
|
11-Dec-2005 |
christos |
branches: 1.38.26; merge ktrace-lwp.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base yamt-km-base4 yamt-km-base3 netbsd-3-base kent-audio2-base ktrace-lwp-base
|
#
1.37 |
|
27-Feb-2005 |
perry |
branches: 1.37.4; nuke trailing whitespace
|
Revision tags: yamt-km-base2 yamt-km-base kent-audio1-beforemerge kent-audio1-base
|
#
1.36 |
|
30-Oct-2004 |
thorpej |
branches: 1.36.4; 1.36.6; When adding/deleting multicast addresses, only whack the address filter if the interface is marked RUNNING.
Fixes kern/27678.
|
Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base nathanw_sa_before_merge nathanw_sa_base
|
#
1.35 |
|
15-Jan-2003 |
bouyer |
branches: 1.35.2; 1.35.6; Use a properly zero'd buffer to pad the packet to ETHER_MIN_LEN XXX should it be ETHER_MIN_LEN-ETHER_CRC_LEN ?
|
Revision tags: fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base
|
#
1.34 |
|
03-Nov-2002 |
bjh21 |
Quieten lint a little.
|
Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
|
#
1.33 |
|
07-Jun-2002 |
bjh21 |
When copying a block with an odd size to or from the card, be very careful not to overrun the end of it on the host side, since that might just slip over a page boundary and cause an embarrassing kernel panic.
|
Revision tags: netbsd-1-6-base eeh-devprop-base newlock-base ifpoll-base
|
#
1.32 |
|
15-Nov-2001 |
lukem |
branches: 1.32.8; 1.32.10; don't need <sys/types.h> when including <sys/param.h>
|
#
1.31 |
|
13-Nov-2001 |
lukem |
add/cleanup RCSID
|
Revision tags: thorpej-mips-cache-base
|
#
1.30 |
|
07-Nov-2001 |
bjh21 |
Add support for feeding entropy to rnd(4).
|
Revision tags: thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
|
#
1.29 |
|
07-Jul-2001 |
thorpej |
branches: 1.29.2; 1.29.6; bcopy -> strcpy
|
#
1.28 |
|
07-Jul-2001 |
thorpej |
bcmp -> memcmp
|
#
1.27 |
|
26-Jun-2001 |
bjh21 |
Add support for handling full-size 802.1Q packets.
|
#
1.26 |
|
23-Jun-2001 |
bjh21 |
ea_mc_reset_8004(): Rather than doing the CRC32 ourselves, call ether_crc32_be() to do it for us.
|
#
1.25 |
|
23-Jun-2001 |
bjh21 |
Fix bogons in previous commit: * Remove harmful debugging code from seeq8005_attach(). * Re-insert variable declarations in ea_mc_reset_8004(), since they aren't dead yet.
|
#
1.24 |
|
22-Jun-2001 |
bjh21 |
Attampt support for 8-bit mode. I believe this should work, but I need a more flexible bus_space on arm26 before I can test it.
|
#
1.23 |
|
12-Jun-2001 |
bjh21 |
No need to pull in INET or NS headers -- that's all done by ether_ioctl() now.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.22 |
|
06-Apr-2001 |
bjh21 |
In ea_writembuf(), reset the DMA pointer for each mbuf we copy, since odd-sized mbufs will confuse things. This makes transmission of odd-sized packets work.
|
#
1.21 |
|
05-Apr-2001 |
bjh21 |
Add a bit of voodoo code from the old "eb" driver that seems to prevent the 80C04 returning garbage when we read from it. This driver can now handle flood pings without dropping packets.
|
#
1.20 |
|
02-Apr-2001 |
bjh21 |
Tweak product ID printing in light of the 80C04A data sheet.
Split out Rx and Tx interrupt handlers into their own functions for clarity.
|
#
1.19 |
|
29-Mar-2001 |
bjh21 |
On an 80C04, try not to start reads at addresses of the form xx,ea, xx,ee, or xx,f0. This appears to heavily alleviate, but not to eliminate entirely, the problems I've been seeing with garbage being read from the rx buffer. I suspect the real solution lies elsewhere.
|
#
1.18 |
|
29-Mar-2001 |
bjh21 |
Print a warning message when the DMA FIFO fails to fill or empty before we time out.
|
#
1.17 |
|
27-Mar-2001 |
bjh21 |
Print the address within the Rx buffer whenever anything goes wrong: it seems to be significant.
|
#
1.16 |
|
27-Mar-2001 |
bjh21 |
Clean up debugging printfs a little.
|
#
1.15 |
|
27-Mar-2001 |
bjh21 |
Add some extra diagnostics: * Use the timer to timoe out transmit operations. * Spot when the "next packet" pointer falls outside the recieve buffer and reset the interface. * Don't reset the interface when we get a bad packet (unless there's something else wrong as well).
|
#
1.14 |
|
27-Mar-2001 |
bjh21 |
Comment and #ifdef cleanup.
|
#
1.13 |
|
25-Mar-2001 |
bjh21 |
Tweak handling of multicast on 80C04. I think we need to set the match mode to "multicast" for it to work, but I could be wrong.
Also make ALLMULTI work on 80C04, but this is untested.
|
#
1.12 |
|
24-Mar-2001 |
bjh21 |
Re-arrange board memory to suit the current (crude) transmit code.
Add ea_writembuf() from mark's code, and re-work eatxpacket() to use it.
|
#
1.11 |
|
24-Mar-2001 |
bjh21 |
Enormous pile of changes from mark's (uncommitted) work on this driver. About the only bit of his code not here is the transmit routines, which I'll merge in separately.
Also a few bug-fixes, so (for instance) multicast on an 8005 doesn't immediately fall back to IFF_ALLMULTI.
|
#
1.10 |
|
24-Mar-2001 |
bjh21 |
Change all the register definitions to match the names using in mark's improved version of the driver.
|
#
1.9 |
|
24-Mar-2001 |
bjh21 |
Handle IFF_ALLMULTI correctly. We can now cope with multicast, but for some reason DAD fails when starting IPv6.
|
#
1.8 |
|
23-Dec-2000 |
bjh21 |
branches: 1.8.2; Print the newline after the memory test. This makes it clear that the delay's related to this driver rather than the next device to be attached.
|
#
1.7 |
|
14-Dec-2000 |
thorpej |
ALTQ'ify.
|
#
1.6 |
|
15-Nov-2000 |
thorpej |
branches: 1.6.2; Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach().
|
#
1.5 |
|
03-Nov-2000 |
bjh21 |
First attempt at multicast stuff. I suspect it doesn't work. Use ether_ioctl -- saves 300 bytes of text.
|
#
1.4 |
|
01-Oct-2000 |
thorpej |
Move the check for "promisc + unicast + not for us" into ether_input(), and change Ethernet drivers to always pass all received frames to ether_input() (with a few exceptions, which are documented in the code).
|
#
1.3 |
|
23-Sep-2000 |
bjh21 |
Substantial overhaul, factoring out of common code, removal of redundancy and general cleanup. Still not a beautiful driver, but one I'd be willing to introduce to my parents now.
|
#
1.2 |
|
21-Sep-2000 |
bjh21 |
Add rudimentary 80C04 support (basically saying "Oh look, an 80C04!"). Move printing the initial ":" into the board driver, like i82586.c does. Don't bother printing the amount of RAM, as it's always 64 KB.
|
#
1.1 |
|
18-Sep-2000 |
bjh21 |
Split the arm26 Ether3 (ea) driver into an MI driver for the SEEQ 8005 chip, and a front-end driver for the Ether3. Only semantic change is to remove ea_claimirq() and ea_releaseirq() on the grounds that the seem too spurious to warrant a callback to the front-end.
|