History log of /src/sys/dev/pcmcia/if_xi.c |
Revision | | Date | Author | Comments |
1.96 |
| 25-Sep-2022 |
thorpej | Remove unnecessary include of <sys/malloc.h>.
|
1.95 |
| 08-Apr-2022 |
andvar | fix various typos, mainly in comments, but also log messages, docs, game text.
|
1.94 |
| 02-Feb-2020 |
thorpej | - Adopt <net/if_stats.h>. - Use ifmedia_fini().
|
1.93 |
| 06-Jan-2020 |
msaitoh | branches: 1.93.2; Protect ec_multicnt.
|
1.92 |
| 28-Nov-2019 |
maxv | localify
|
1.91 |
| 30-Oct-2019 |
msaitoh | ether_input() automatically add input bytes to if_ibytes, so it's not required to do in the driver who use ether_input().
|
1.90 |
| 28-May-2019 |
msaitoh | branches: 1.90.2; Use ETHER_LOCK()/ETHER_UNLOCK() for all ethernet drivers to protect ec_multi*.
|
1.89 |
| 23-May-2019 |
msaitoh | Whitespace fix (mainly tabify).
|
1.88 |
| 23-May-2019 |
msaitoh | No functional change: - Simplify MII structure initialization and reference. - u_int*_t -> uint*_t. - KNF
|
1.87 |
| 22-Apr-2019 |
msaitoh | These drivers do ether_ioctl() on SIOC{ADD,DEL}MULTI, SIOC{G,S}IFMEDIA and default case in the switch statement. Only the default case didn't check the return value with ENETRESET. Integrate them to one ether_ioctl() with ENETRESET test. This change might improve some other ioctl()s which return ENETRESET by calling if_init().
|
1.86 |
| 05-Feb-2019 |
msaitoh | Remove very old IFF_NOTRAILERS flag.
|
1.85 |
| 22-Jan-2019 |
msaitoh | Change MII PHY read/write API from:
int (*mii_readreg_t)(device_t, int, int); void (*mii_writereg_t)(device_t, int, int, int); to:
int (*mii_readreg_t)(device_t, int, int, uint16_t *); int (*mii_writereg_t)(device_t, int, int, uint16_t);
Now we can test if a read/write operation failed or not by the return value.
In 802.3 spec says that the PHY shall not respond to read/write transaction to the unimplemented register(22.2.4.3). Detecting timeout can be used to check whether a register is implemented or not (if the register conforms to the spec). ukphy(4) can be used this for MII_MMDACR and MII_MMDAADR.
Note that I noticed that the following code do infinite loop in the read/wirte function. If it accesses unimplemented PHY register, it will hang. It should be fixed:
arm/at91/at91emac.c arm/ep93xx/epe.c arm/omap/omapl1x_emac.c mips/ralink/ralink_eth.c arch/powerpc/booke/dev/pq3etsec.c(read) dev/cadence/if_cemac.c <- hkenken dev/ic/lan9118.c
Tested with the following device:
axe+ukphy axe+rgephy axen+rgephy (tested by Andrius V) wm+atphy wm+ukphy wm+igphy wm+ihphy wm+makphy sk+makphy sk+brgphy sk+gentbi msk+makphy sip+icsphy sip+ukphy re+rgephy bge+brgphy bnx+brgphy gsip+gphyter rtk+rlphy fxp+inphy (tested by Andrius V) tlp+acphy ex+exphy epic+qsphy vge+ciphy (tested by Andrius V) vr+ukphy (tested by Andrius V) vte+ukphy (tested by Andrius V)
Not tested (MAC): arm:at91emac arm:cemac arm:epe arm:geminigmac arm:enet arm:cpsw arm:emac(omac) arm:emac(sunxi) arm:npe evbppc:temac macppc:bm macppc:gm mips:aumac mips:ae mips:cnmac mips:reth mips:sbmac playstation2:smap powerpc:tsec powerpc:emac(ibm4xx) sgimips:mec sparc:be sf ne(ax88190, dl10019) awge ep gem hme smsh mtd sm age alc ale bce cas et jme lii nfe pcn ste stge tl xi aue mue smsc udav url
Not tested (PHY): amhphy bmtphy dmphy etphy glxtphy ikphy iophy lxtphy nsphyter pnaphy rdcphy sqphy tlphy tqphy urlphy
|
1.84 |
| 08-Jan-2019 |
msaitoh | u_int{8,16,32}_t -> uint{8,16,32}_t. No functional change.
|
1.83 |
| 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!)
|
1.82 |
| 26-Jun-2018 |
msaitoh | branches: 1.82.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.
|
1.81 |
| 22-Jun-2018 |
msaitoh | It's not required to include net/bpfdesc.h. Remove it.
|
1.80 |
| 15-Dec-2016 |
ozaki-r | branches: 1.80.8; 1.80.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
|
1.79 |
| 08-Dec-2016 |
ozaki-r | Apply deferred if_start framework
if_schedule_deferred_start checks if the if_snd queue contains packets, so drivers don't need to check it by themselves.
|
1.78 |
| 02-Oct-2016 |
christos | MFREE -> m_free
|
1.77 |
| 10-Jun-2016 |
ozaki-r | branches: 1.77.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.
|
1.76 |
| 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!
|
1.75 |
| 25-May-2015 |
ozaki-r | Remove leftover IPX-related stuffs
No objection on tech-kern and tech-net.
|
1.74 |
| 10-Aug-2014 |
tls | branches: 1.74.4; Merge tls-earlyentropy branch into HEAD.
|
1.73 |
| 22-Jul-2012 |
matt | branches: 1.73.2; 1.73.12; Fix mii_statchg to take a 'struct ifnet *' instead of device_t. This fixes problem with a common MDIO bus used for multiple interfaces. Some drivers converted to CFATTACL_DECL_NEW.
|
1.72 |
| 02-Feb-2012 |
tls | 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.
|
1.71 |
| 05-Apr-2010 |
joerg | branches: 1.71.8; 1.71.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.
|
1.70 |
| 19-Jan-2010 |
pooka | branches: 1.70.2; 1.70.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.
|
1.69 |
| 06-Dec-2009 |
dyoung | device_t/softc split.
|
1.68 |
| 13-Nov-2009 |
dyoung | Don't use com_activate(), it's gone away. Thanks to Andreas Wrede for pointing out that these drivers still used com_activate().
Use device_private(). Join some lines.
Remove superfluous activation hooks.
Add child-detachment hooks (not used, yet).
TBD: device_t/softc split.
|
1.67 |
| 12-May-2009 |
cegger | struct device * -> device_t, no functional changes intended.
|
1.66 |
| 14-Mar-2009 |
dsl | Change about 4500 of the K&R function definitions to ANSI ones. There are still about 1600 left, but they have ',' or /* ... */ in the actual variable definitions - which my awk script doesn't handle. There are also many that need () -> (void). (The script does handle misordered arguments.)
|
1.65 |
| 07-Nov-2008 |
dyoung | branches: 1.65.4; *** Summary ***
When a link-layer address changes (e.g., ifconfig ex0 link 02:de:ad:be:ef:02 active), send a gratuitous ARP and/or a Neighbor Advertisement to update the network-/link-layer address bindings on our LAN peers.
Refuse a change of ethernet address to the address 00:00:00:00:00:00 or to any multicast/broadcast address. (Thanks matt@.)
Reorder ifnet ioctl operations so that driver ioctls may inherit the functions of their "class"---ether_ioctl(), fddi_ioctl(), et cetera---and the class ioctls may inherit from the generic ioctl, ifioctl_common(), but both driver- and class-ioctls may override the generic behavior. Make network drivers share more code.
Distinguish a "factory" link-layer address from others for the purposes of both protecting that address from deletion and computing EUI64.
Return consistent, appropriate error codes from network drivers.
Improve readability. KNF.
*** Details ***
In if_attach(), always initialize the interface ioctl routine, ifnet->if_ioctl, if the driver has not already initialized it. Delete if_ioctl == NULL tests everywhere else, because it cannot happen.
In the ioctl routines of network interfaces, inherit common ioctl behaviors by calling either ifioctl_common() or whichever ioctl routine is appropriate for the class of interface---e.g., ether_ioctl() for ethernets.
Stop (ab)using SIOCSIFADDR and start to use SIOCINITIFADDR. In the user->kernel interface, SIOCSIFADDR's argument was an ifreq, but on the protocol->ifnet interface, SIOCSIFADDR's argument was an ifaddr. That was confusing, and it would work against me as I make it possible for a network interface to overload most ioctls. On the protocol->ifnet interface, replace SIOCSIFADDR with SIOCINITIFADDR. In ifioctl(), return EPERM if userland tries to invoke SIOCINITIFADDR.
In ifioctl(), give the interface the first shot at handling most interface ioctls, and give the protocol the second shot, instead of the other way around. Finally, let compatibility code (COMPAT_OSOCK) take a shot.
Pull device initialization out of switch statements under SIOCINITIFADDR. For example, pull ..._init() out of any switch statement that looks like this:
switch (...->sa_family) { case ...: ..._init(); ... break; ... default: ..._init(); ... break; }
Rewrite many if-else clauses that handle all permutations of IFF_UP and IFF_RUNNING to use a switch statement,
switch (x & (IFF_UP|IFF_RUNNING)) { case 0: ... break; case IFF_RUNNING: ... break; case IFF_UP: ... break; case IFF_UP|IFF_RUNNING: ... break; }
unifdef lots of code containing #ifdef FreeBSD, #ifdef NetBSD, and #ifdef SIOCSIFMTU, especially in fwip(4) and in ndis(4).
In ipw(4), remove an if_set_sadl() call that is out of place.
In nfe(4), reuse the jumbo MTU logic in ether_ioctl().
Let ethernets register a callback for setting h/w state such as promiscuous mode and the multicast filter in accord with a change in the if_flags: ether_set_ifflags_cb() registers a callback that returns ENETRESET if the caller should reset the ethernet by calling if_init(), 0 on success, != 0 on failure. Pull common code from ex(4), gem(4), nfe(4), sip(4), tlp(4), vge(4) into ether_ioctl(), and register if_flags callbacks for those drivers.
Return ENOTTY instead of EINVAL for inappropriate ioctls. In zyd(4), use ENXIO instead of ENOTTY to indicate that the device is not any longer attached.
Add to if_set_sadl() a boolean 'factory' argument that indicates whether a link-layer address was assigned by the factory or some other source. In a comment, recommend using the factory address for generating an EUI64, and update in6_get_hw_ifid() to prefer a factory address to any other link-layer address.
Add a routing message, RTM_LLINFO_UPD, that tells protocols to update the binding of network-layer addresses to link-layer addresses. Implement this message in IPv4 and IPv6 by sending a gratuitous ARP or a neighbor advertisement, respectively. Generate RTM_LLINFO_UPD messages on a change of an interface's link-layer address.
In ether_ioctl(), do not let SIOCALIFADDR set a link-layer address that is broadcast/multicast or equal to 00:00:00:00:00:00.
Make ether_ioctl() call ifioctl_common() to handle ioctls that it does not understand.
In gif(4), initialize if_softc and use it, instead of assuming that the gif_softc and ifp overlap.
Let ifioctl_common() handle SIOCGIFADDR.
Sprinkle rtcache_invariants(), which checks on DIAGNOSTIC kernels that certain invariants on a struct route are satisfied.
In agr(4), rewrite agr_ioctl_filter() to be a bit more explicit about the ioctls that we do not allow on an agr(4) member interface.
bzero -> memset. Delete unnecessary casts to void *. Use sockaddr_in_init() and sockaddr_in6_init(). Compare pointers with NULL instead of "testing truth". Replace some instances of (type *)0 with NULL. Change some K&R prototypes to ANSI C, and join lines.
|
1.64 |
| 05-Apr-2008 |
cegger | branches: 1.64.4; 1.64.10; 1.64.12; use aprint_*_dev and device_xname
|
1.63 |
| 19-Jan-2008 |
dyoung | branches: 1.63.6; Make many ethernet drivers share the common code for MII media handling, ether_mediastatus() and ether_mediachange(). Check for a non-ENXIO error return from mii_mediachg(). (ENXIO indicates that a PHY is suspended.)
This patch shrinks the source code size by 979 lines. There was a 5100-byte savings on the NetBSD/i386 kernel configuration, ALL.
I have made a few miscellaneous changes, too:
gem(4): use LIST_EMPTY(), LIST_FOREACH(). mtd(4): handle media ioctls, for a change! axe(4): do not track link status in sc->axe_link any longer nfe(4), aue(4), axe(4), udav(4), url(4): do not reset all PHYs on a change of media
Except for the change to mtd(4), no functional changes are intended.
XXX This patch affects more architectures than I can feasibly XXX compile and run. I have compiled macppc, sparc64, i386. I XXX have run the patches on i386 boxen with bnx(4) and sip(4). XXX Compiling and running on evbmips (MERAKI, ADM5120) is in XXX progress.
|
1.62 |
| 01-Sep-2007 |
dyoung | branches: 1.62.6; 1.62.12; Change a bazillion occurrences of code resembling this,
error = (cmd == SIOCADDMULTI) ? ether_addmulti(ifr, &sc->sc_ec) : ether_delmulti(ifr, &sc->sc_ec);
if (error == ENETRESET) {
to this,
if ((error = ether_ioctl(ifp, cmd, data)) == ENETRESET) {
which does the same thing.
(A bazillion is a very large number. This seems to make the i386 ALL kernel smaller by 3kB to 4kB.)
Use ifreq_getaddr() twice in es(4).
Whitespace nits.
|
1.61 |
| 29-Aug-2007 |
dyoung | Constify: LLADDR() -> CLLADDR().
|
1.60 |
| 04-Mar-2007 |
christos | branches: 1.60.2; 1.60.10; 1.60.14; 1.60.16; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.59 |
| 16-Nov-2006 |
christos | branches: 1.59.4; __unused removal on arguments; approved by core.
|
1.58 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.57 |
| 07-Sep-2006 |
dogcow | branches: 1.57.2; 1.57.4; remove more vestiges of CCITT, LLC, HDLC, NS, and NSIP.
|
1.56 |
| 14-Apr-2006 |
christos | Coverity CID 1112: If we did not get a packet, bail out early.
|
1.55 |
| 20-Feb-2006 |
thorpej | branches: 1.55.2; 1.55.4; 1.55.6; Use device_is_active() rather than testing dv_flags for DVF_ACTIVE directly.
|
1.54 |
| 24-Dec-2005 |
perry | branches: 1.54.2; 1.54.4; 1.54.6; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
1.53 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.52 |
| 27-Feb-2005 |
perry | branches: 1.52.4; nuke trailing whitespace
|
1.51 |
| 04-Feb-2005 |
perry | de-__P
|
1.50 |
| 30-Jan-2005 |
thorpej | Eliminate the use of M_HASFCS.
|
1.49 |
| 30-Oct-2004 |
thorpej | branches: 1.49.4; 1.49.6; When adding/deleting multicast addresses, only whack the address filter if the interface is marked RUNNING.
Fixes kern/27678.
|
1.48 |
| 12-Aug-2004 |
mycroft | Remove sc_offset. It's always 0, and if we did want to use it, "that's what bus_space_subregion() is for".
|
1.47 |
| 12-Aug-2004 |
mycroft | Remove the "known bugs" section. I've fixed both of them.
Use tsleep() rather than delay(). XXX Most of these are probably unnecessary anyway. In particular, I believe that what xi_full_reset() does is totally gratuitous after power-cycling the socket; it should only be necessary if we want to use power-saving mode.
|
1.46 |
| 09-Aug-2004 |
mycroft | Add a hack that makes the address register programming more reliable on my CE2 cards.
|
1.45 |
| 09-Aug-2004 |
mycroft | The "savedpage" stuff is nonsense. Every place we touch the device is protected by splnet(), so there's no reason to even try.
|
1.44 |
| 09-Aug-2004 |
mycroft | Go online in xi_init(), not xi_full_reset(). Enable/disable receive in xi_init()/xi_stop().
|
1.43 |
| 08-Aug-2004 |
mycroft | Don't try to use the MII media status if we're not using MII.
|
1.42 |
| 08-Aug-2004 |
mycroft | * Some rearrangement of where the power control hooks are called. * Don't splnet() in xi_init() -- the callers do that. * Don't do the enable call in xi_init() -- it should be done only in a process context so it can sleep. * Call xi_start() at the end of xi_init() to restart output. * If the interface is already up, we only need to call xi_set_address() to change state on SIOCSIFFLAGS.
|
1.41 |
| 08-Aug-2004 |
mycroft | Hey, my LEDs work now.
|
1.40 |
| 08-Aug-2004 |
mycroft | Set xidebug to 0 by default.
|
1.39 |
| 08-Aug-2004 |
mycroft | Split "xi" into a "xirc" frontend (similar to mhzc; it attaches two child devices) and a "xi" backend.
My CE2 and CEM2 cards are now probed correctly. However, there are still some problems with one model of the CE2, and the CEM2 doesn't seem to get any modem interrupts.
While I'm at it, fix several bugs:
* The tuple scan for the MAC address was broken in multiple ways. * xi_intr() did not deal well with a shared interrupt. * We were setting the wrong page number to look at the receive status. (How did this work???) * Remove the xi_full_reset() from xi_reset(). Move the parts of xi_full_reset() needed to undo the effect of xi_stop() into xi_init(). This allows a stop/init pair to DTRT, and much quicker, as used by various ioctl()s. * Set the TRS register before reading the TSO register, as the Linux driver does. While I'm at it, fix the name. * Fix numerous problems with xi_set_address(). "Where do I begin?" There's a chance that multicast works now, but I haven't tested it. * Explicitly clear the MSR register, and also force SELECT_MII to 0 if we didn't find any PHYs. * Clean up some cruft that appears to be bogus.
Probably needs more work, but it's a start.
|
1.38 |
| 07-Aug-2004 |
mycroft | Simplify the revision matching code. This is more like what the current Linux driver does.
|
1.37 |
| 07-Aug-2004 |
mycroft | Oops; forgot a return.
|
1.36 |
| 07-Aug-2004 |
mycroft | Tighten up the CIS parsing code a little. Fix a double-free in a failure case. Turn off the card if it doesn't fully attach.
|
1.35 |
| 06-Aug-2004 |
mycroft | Don't call rnd_detach_source() if we never called rnd_attach_source(). Very minor other cleanup.
|
1.34 |
| 07-Jul-2004 |
mycroft | More cleanup: * Print "devinfo" in a canonial place (like we do in the SCSI code). * Use aprint_{error,normal}() during attach. * More PCMCIA_STR_* removal.
|
1.33 |
| 28-Oct-2003 |
mycroft | Eliminate bogus initializer. We shouldn't be adding the time stamp to the entropy pool if the interrupt wasn't for us.
|
1.32 |
| 25-Oct-2003 |
christos | Fix uninitialized variable warnings
|
1.31 |
| 23-Jun-2003 |
martin | branches: 1.31.2; Make sure to include opt_foo.h if a defflag option FOO is used.
|
1.30 |
| 27-Feb-2003 |
martin | bus_size_t != bus_addr_t, so use bus_size_t where appropriate. Fixes PR kern/20482 by John Ruschmeyer.
|
1.29 |
| 22-Feb-2003 |
tsutsui | hz -> Hz
|
1.28 |
| 10-Dec-2002 |
bouyer | Commit patch I sent to tech-net on 29/09/2002: The driver puts the adapter in promisc mode to receive multicast addresses. At last set the IFF_PROMISC flag so that the upper layer filters frames that are not for us. Sure, the real fix would be to get multicast filters working ...
|
1.27 |
| 23-Oct-2002 |
perry | remove redundant defines caught by lint
|
1.26 |
| 02-Oct-2002 |
thorpej | Add trailing ; to CFATTACH_DECL.
|
1.25 |
| 30-Sep-2002 |
thorpej | Use CFATTACH_DECL().
|
1.24 |
| 27-Sep-2002 |
thorpej | Declare all cfattach structures const.
|
1.23 |
| 22-Sep-2002 |
martin | Apply a patch from Murray Armfield in PR kern/18372: bring in some changes from FreeBSD to improve receive performance.
|
1.22 |
| 01-Jun-2002 |
lukem | SIMPLEQ rototill: - implement SIMPLEQ_REMOVE(head, elm, type, field). whilst it's O(n), this mirrors the functionality of SLIST_REMOVE() (the other singly-linked list type) and FreeBSD's STAILQ_REMOVE() - remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD(). this mirrors the functionality of SLIST_REMOVE_HEAD() (the other singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD() - remove notes about SIMPLEQ not supporting arbitrary element removal - use SIMPLEQ_FOREACH() instead of home-grown for loops - use SIMPLEQ_EMPTY() appropriately - use SIMPLEQ_*() instead of accessing sqh_first,sqh_last,sqe_next directly - reorder manual page; be consistent about how the types are listed - other minor cleanups
|
1.21 |
| 05-May-2002 |
takemura | branches: 1.21.2; 1.21.4; Added cast '(u_int16_t *)'. 4th arg of bus_space_read_multi_2 and bus_space_write_multi2 shuld be u_int16_t *.
|
1.20 |
| 12-Jan-2002 |
tsutsui | Call malloc(9) with M_ZERO flag instead of memset() after malloc().
|
1.19 |
| 15-Dec-2001 |
soren | Use bus_size_t's for bus space read/write offsets.
|
1.18 |
| 13-Nov-2001 |
lukem | add RCSIDs
|
1.17 |
| 08-Nov-2001 |
christos | PR/14503: Cesar Crusius: Add Xircom XE2000.
|
1.16 |
| 25-Oct-2001 |
bouyer | Commit changes I posted to tech-kern on Oct 14, which makes the ethernet part of my Xircom RealPort Ethernet 10/100 + Modem (REM56G) work. The modem part is still not usable (this would need some PCMCIA magic that I don't know how to do; see my message to tech-kern on Oct 07). Change to pcmcia_cis.c from OpenBSD. I checked that this doesn't break a 3com 3C562D (ethernet+modem) which I also have.
|
1.15 |
| 26-Sep-2001 |
chris | branches: 1.15.2; Move the call to the xi_pcmcia_identify to before the first use of sc->sc_flags. Doesn't fix my problem with auto negotiate, but it might help others.
|
1.14 |
| 07-Jul-2001 |
thorpej | branches: 1.14.2; 1.14.4; bzero -> memset
|
1.13 |
| 07-Jul-2001 |
thorpej | bcmp -> memcmp
|
1.12 |
| 07-Jul-2001 |
thorpej | bcopy -> memcpy
|
1.11 |
| 01-Jul-2001 |
gmcgarry | Jumbo patch:
- data alignment fix - kludge around broken multicast by using promisc mode (IPv6 router solicitation now works) - add support as random source - support device power-up and power-down - vlan support - misc. comment and style fixes
|
1.10 |
| 10-Jun-2001 |
gmcgarry | Packet includes CRC, so mark it in the mbuf header. Fixes the "discarding oversize frame (len=1518)" problem.
|
1.9 |
| 21-Feb-2001 |
jdolecek | branches: 1.9.2; make some more constant arrays 'const'
|
1.8 |
| 14-Jan-2001 |
thorpej | Use splnet() to block network interrupts, not splimp().
|
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 |
| 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.4 |
| 31-Jul-2000 |
gmcgarry | XIDEBUG_CONFIG -> XID_CONFIG. From R.Massar@Fh-Worms.DE
|
1.3 |
| 24-Jul-2000 |
gmcgarry | Improve the model identification and match. Addresses PR-10485.
|
1.2 |
| 09-Jun-2000 |
gmcgarry | branches: 1.2.2; 1.2.4; Rename remaining references from xe to xi. Clean up debug messages.
|
1.1 |
| 05-Jun-2000 |
gmcgarry | New driver for Xircom CreditCard PCMCIA Ethernet. Replaces xe driver which didn't work. Renamed to avoid clash with next68k network driver.
|
1.2.4.2 |
| 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.2.4.1 |
| 09-Jun-2000 |
minoura | file if_xi.c was added on branch minoura-xpg4dl on 2000-06-22 17:07:46 +0000
|
1.2.2.2 |
| 11-Jun-2001 |
he | Pull up revision 1.10 (requested by gmcgarry): Packet includes CRC, so mark it in the mbuf header. Fixes the ``discarding oversize frame (len=1518)'' problem.
|
1.2.2.1 |
| 09-Aug-2000 |
gmcgarry | Pull up rev 1.3-1.4: (approved by thorpej)
revision 1.3: Improve the model identification and match. Addresses PR-10485.
revision 1.4: XIDEBUG_CONFIG -> XID_CONFIG. From R.Massar@Fh-Worms.DE
|
1.6.2.6 |
| 12-Mar-2001 |
bouyer | Sync with HEAD.
|
1.6.2.5 |
| 18-Jan-2001 |
bouyer | Sync with head (for UBC+NFS fixes, mostly).
|
1.6.2.4 |
| 05-Jan-2001 |
bouyer | Sync with HEAD
|
1.6.2.3 |
| 22-Nov-2000 |
bouyer | Sync with HEAD.
|
1.6.2.2 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.6.2.1 |
| 15-Nov-2000 |
bouyer | file if_xi.c was added on branch thorpej_scsipi on 2000-11-20 11:42:45 +0000
|
1.9.2.10 |
| 19-Dec-2002 |
thorpej | Sync with HEAD.
|
1.9.2.9 |
| 11-Nov-2002 |
nathanw | Catch up to -current
|
1.9.2.8 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.9.2.7 |
| 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.9.2.6 |
| 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.9.2.5 |
| 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.9.2.4 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.9.2.3 |
| 26-Sep-2001 |
nathanw | Catch up to -current. Again.
|
1.9.2.2 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.9.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.14.4.1 |
| 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.14.2.4 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.14.2.3 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.14.2.2 |
| 11-Feb-2002 |
jdolecek | Sync w/ -current.
|
1.14.2.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.15.2.1 |
| 12-Nov-2001 |
thorpej | Sync the thorpej-mips-cache branch with -current.
|
1.21.4.2 |
| 30-Jun-2003 |
grant | Pull up revision 1.28 (requested by bouyer in ticket #1351):
The driver puts the adapter in promisc mode to receive multicast addresses. At last set the IFF_PROMISC flag so that the upper layer filters frames that are not for us.
|
1.21.4.1 |
| 02-Oct-2002 |
lukem | Pull up revision 1.23 (requested by martin in ticket #891): Apply a patch from Murray Armfield in PR kern/18372: bring in some changes from FreeBSD to improve receive performance.
|
1.21.2.1 |
| 20-Jun-2002 |
gehenna | catch up with -current.
|
1.31.2.8 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.31.2.7 |
| 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.31.2.6 |
| 02-Nov-2004 |
skrll | Sync with HEAD.
|
1.31.2.5 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.31.2.4 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.31.2.3 |
| 25-Aug-2004 |
skrll | Sync with HEAD.
|
1.31.2.2 |
| 12-Aug-2004 |
skrll | Sync with HEAD.
|
1.31.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.49.6.2 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.49.6.1 |
| 12-Feb-2005 |
yamt | sync with head.
|
1.49.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.52.4.4 |
| 21-Jan-2008 |
yamt | sync with head
|
1.52.4.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.52.4.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.52.4.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.54.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.54.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.54.2.1 |
| 01-Mar-2006 |
yamt | sync with head.
|
1.55.6.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.55.4.1 |
| 19-Apr-2006 |
elad | sync with head.
|
1.55.2.2 |
| 14-Sep-2006 |
yamt | sync with head.
|
1.55.2.1 |
| 24-May-2006 |
yamt | sync with head.
|
1.57.4.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.57.4.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.57.2.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.59.4.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.60.16.2 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.60.16.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.60.14.1 |
| 03-Sep-2007 |
jmcneill | Sync with HEAD.
|
1.60.10.1 |
| 03-Sep-2007 |
skrll | Sync with HEAD.
|
1.60.2.1 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.62.12.1 |
| 20-Jan-2008 |
bouyer | Sync with HEAD
|
1.62.6.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.63.6.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.63.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.64.12.2 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.64.12.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.64.10.1 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.64.4.4 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.64.4.3 |
| 11-Mar-2010 |
yamt | sync with head
|
1.64.4.2 |
| 16-May-2009 |
yamt | sync with head
|
1.64.4.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.65.4.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.70.4.1 |
| 30-May-2010 |
rmind | sync with head
|
1.70.2.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.71.12.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.71.8.2 |
| 30-Oct-2012 |
yamt | sync with head
|
1.71.8.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.73.12.1 |
| 07-Apr-2014 |
tls | Be a little more clear and consistent about harvesting entropy from devices:
1) deprecate RND_FLAG_NO_ESTIMATE
2) define RND_FLAG_COLLECT_TIME, RND_FLAG_COLLECT_VALUE
3) define RND_FLAG_ESTIMATE_TIME, RND_FLAG_ESTIMATE_VALUE
4) define RND_FLAG_DEFAULT: RND_FLAG_COLLECT_TIME| RND_FLAG_COLLECT_VALUE|RND_FLAG_ESTIMATE_TIME
5) Make entropy harvesting from environmental sensors a little more generic and remove it from individual sensor drivers.
6) Remove individual open-coded delta-estimators for values from a few places in the tree (uvm, environmental drivers).
7) 0 -> RND_FLAG_DEFAULT, actually gather entropy from various drivers that had stubbed out code, other minor cleanups.
|
1.73.2.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.73.2.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.74.4.5 |
| 05-Feb-2017 |
skrll | Sync with HEAD
|
1.74.4.4 |
| 05-Oct-2016 |
skrll | Sync with HEAD
|
1.74.4.3 |
| 09-Jul-2016 |
skrll | Sync with HEAD
|
1.74.4.2 |
| 19-Mar-2016 |
skrll | Sync with HEAD
|
1.74.4.1 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.77.2.2 |
| 07-Jan-2017 |
pgoyette | Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
|
1.77.2.1 |
| 04-Nov-2016 |
pgoyette | Sync with HEAD
|
1.80.14.5 |
| 26-Jan-2019 |
pgoyette | Sync with HEAD
|
1.80.14.4 |
| 18-Jan-2019 |
pgoyette | Synch with HEAD
|
1.80.14.3 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.80.14.2 |
| 28-Jul-2018 |
pgoyette | Sync with HEAD
|
1.80.14.1 |
| 25-Jun-2018 |
pgoyette | Sync with HEAD
|
1.80.8.2 |
| 06-Nov-2019 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #1427):
sys/arch/arm/broadcom/bcm53xx_eth.c: revision 1.39 sys/dev/pcmcia/if_xi.c: revision 1.91 sys/dev/ic/aic6915.c: revision 1.40 sys/dev/pci/if_tl.c: revision 1.117 sys/arch/arm/gemini/gemini_gmac.c: revision 1.18 sys/dev/ic/elinkxl.c: revision 1.133 sys/dev/pci/if_ste.c: revision 1.57 sys/dev/pci/if_alc.c: revision 1.43 sys/dev/pci/if_stge.c: revision 1.72 sys/dev/pci/if_ale.c: revision 1.34 sys/dev/pci/if_age.c: revision 1.62 sys/dev/pci/if_txp.c: revision 1.60 sys/dev/ic/i82557.c: revision 1.156 sys/dev/pci/if_vte.c: revision 1.27 sys/arch/powerpc/booke/dev/pq3etsec.c: revision 1.47 sys/arch/arm/gemini/if_gpn.c: revision 1.13
if_percpuq(9) and ether_input() automatically increment if_ipackets, so don't add number of RX frames from device's statistics counter to if_ipackets to avoid double count.
|
1.80.8.1 |
| 26-Jul-2018 |
snj | Pull up following revision(s) (requested by msaitoh in ticket #938): sys/arch/acorn32/podulebus/if_ie.c: revision 1.41 sys/arch/amiga/dev/if_es.c: revision 1.58 sys/arch/amiga/dev/if_qn.c: revision 1.45 sys/arch/arm/at91/at91emac.c: revision 1.20 sys/arch/arm/ep93xx/epe.c: revision 1.37 sys/arch/emips/ebus/if_le_ebus.c: revision 1.14 sys/arch/emips/ebus/if_le_ebus.c: revision 1.15 sys/arch/mac68k/dev/if_mc.c: revision 1.46 sys/arch/macppc/dev/am79c950.c: revision 1.39 sys/arch/newsmips/apbus/if_sn.c: revision 1.40 sys/arch/next68k/dev/mb8795.c: revision 1.59 sys/arch/playstation2/dev/if_smap.c: revision 1.25 sys/arch/playstation2/dev/if_smap.c: revision 1.26 sys/arch/sun2/dev/if_ec.c: revision 1.28 sys/arch/sun3/dev/if_ie.c: revision 1.63 sys/arch/x68k/dev/if_ne_intio.c: revision 1.19 sys/arch/xen/xen/if_xennet_xenbus.c: revision 1.75 sys/arch/xen/xen/xennetback_xenbus.c: revision 1.63 sys/dev/bi/if_ni.c: revision 1.45 sys/dev/cadence/if_cemac.c: revision 1.12 sys/dev/ic/am7990.c: revision 1.78 sys/dev/ic/am79900.c: revision 1.27 sys/dev/ic/an.c: revision 1.67 sys/dev/ic/cs89x0.c: revision 1.40 sys/dev/ic/dm9000.c: revision 1.13 sys/dev/ic/dm9000.c: revision 1.14 sys/dev/ic/dp8390.c: revision 1.88 sys/dev/ic/elink3.c: revision 1.141 sys/dev/ic/elinkxl.c: revision 1.122 sys/dev/ic/hme.c: revision 1.98 sys/dev/ic/i82586.c: revision 1.77 sys/dev/ic/lance.c: revision 1.53 sys/dev/ic/mb86950.c: revision 1.27 sys/dev/ic/mb86960.c: revision 1.86 sys/dev/ic/mtd803.c: revision 1.34 sys/dev/ic/pdq_ifsubr.c: revision 1.59 sys/dev/ic/rrunner.c: revision 1.86 sys/dev/ic/seeq8005.c: revision 1.58 sys/dev/ic/sgec.c: revision 1.47 sys/dev/ic/smc90cx6.c: revision 1.72 sys/dev/ic/smc91cxx.c: revision 1.96 sys/dev/ic/tropic.c: revision 1.49 sys/dev/ic/wi.c: revision 1.245 sys/dev/isa/if_eg.c: revision 1.93 sys/dev/isa/if_el.c: revision 1.95 sys/dev/isa/if_iy.c: revision 1.101 sys/dev/ofw/ofnet.c: revision 1.58 sys/dev/pci/if_alc.c: revision 1.27 sys/dev/pci/if_de.c: revision 1.152 sys/dev/pci/if_fpa.c: revision 1.61 sys/dev/pci/if_jme.c: revision 1.34 sys/dev/pci/if_tl.c: revision 1.108 sys/dev/pci/if_vte.c: revision 1.19 sys/dev/pci/ixgbe/ixgbe.h: revision 1.50 sys/dev/pcmcia/if_cnw.c: revision 1.62 sys/dev/pcmcia/if_malo_pcmcia.c: revision 1.17 sys/dev/pcmcia/if_ray.c: revision 1.89 sys/dev/pcmcia/if_xi.c: revision 1.81 sys/dev/pcmcia/mhzc.c: revision 1.51 sys/dev/pcmcia/xirc.c: revision 1.34 sys/dev/qbus/if_de.c: revision 1.33 sys/dev/qbus/if_qe.c: revision 1.78 sys/dev/qbus/if_qt.c: revision 1.22 sys/dev/sbus/be.c: revision 1.87 sys/dev/sbus/qe.c: revision 1.68 sys/dev/scsipi/if_se.c: revision 1.96 sys/dev/usb/if_atu.c: revision 1.59 sys/net/if_l2tp.c: revision 1.28 via patch sys/net/if_ppp.c: revision 1.160 It's not required to include net/bpfdesc.h. Remove it. -- Simplify like other drivers. NULL check of ifp->if_bpf is done in bpf_mtap(), so it's not required to do it here. -- Remove duplicated inclusion of net/bpf.h. -- Remove duplicated inclusion of net/bpf.h. -- Simplify bpf_mtap() call. No functional change.
|
1.82.2.3 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.82.2.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.82.2.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.90.2.2 |
| 28-Jan-2020 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #662):
sys/dev/pcmcia/if_xi.c: revision 1.93 sys/arch/x86/pci/if_vmx.c: revision 1.54 sys/dev/pci/if_de.c: revision 1.165 sys/arch/arm/ti/if_cpsw.c: revision 1.10 sys/arch/arm/omap/if_cpsw.c: revision 1.26 sys/dev/isa/if_iy.c: revision 1.112 sys/dev/pcmcia/if_ray.c: revision 1.96
Add ETHER_LOCK() and ETHER_UNLOCK() to protect ec_multiaddrs.
XXX These drivers don't check whether enm_addrlo and enm_addrhi are the same or not, so it won't work correctly if an multicast address entry has a range.
Protect ec_multicnt.
|
1.90.2.1 |
| 06-Nov-2019 |
martin | Pull up following revision(s) (requested by msaitoh in ticket #403):
sys/arch/arm/broadcom/bcm53xx_eth.c: revision 1.39 sys/dev/pcmcia/if_xi.c: revision 1.91 sys/dev/ic/aic6915.c: revision 1.40 sys/dev/pci/if_tl.c: revision 1.117 sys/arch/arm/gemini/gemini_gmac.c: revision 1.18 sys/dev/ic/elinkxl.c: revision 1.133 sys/dev/pci/if_ste.c: revision 1.57 sys/dev/pci/if_alc.c: revision 1.43 sys/dev/pci/if_stge.c: revision 1.72 sys/dev/pci/if_ale.c: revision 1.34 sys/dev/pci/if_age.c: revision 1.62 sys/dev/pci/if_txp.c: revision 1.60 sys/dev/ic/i82557.c: revision 1.156 sys/dev/pci/if_vte.c: revision 1.27 sys/arch/powerpc/booke/dev/pq3etsec.c: revision 1.47 sys/arch/arm/gemini/if_gpn.c: revision 1.13
if_percpuq(9) and ether_input() automatically increment if_ipackets, so don't add number of RX frames from device's statistics counter to if_ipackets to avoid double count.
|
1.93.2.1 |
| 29-Feb-2020 |
ad | Sync with head.
|