summaryrefslogtreecommitdiffstats
path: root/sys/dev/sbni
Commit message (Collapse)AuthorAgeFilesLines
* Disable the inline assembly crc32 routine and use the C version instead.jhb2008-09-101-87/+0
| | | | | | | | The assembly version is reported to be broken on 5.x+. PR: kern/100425 Submitted by: Rashid N. Achilov shelton www.granch.ru MFC after: 1 week
* Resurrect the sbni(4) driver. Someone finally tested the MPSAFE patches andjhb2008-09-105-0/+1988
| | | | | | the driver worked ok with them. Tested by: friends of yar
* Remove the sbni(4) driver. No one responded to calls to test it onjhb2008-07-045-1988/+0
| | | | current@ and stable@.
* Make sbni(4) MPSAFE:jhb2008-07-044-124/+205
| | | | | | | | | | | | | | | | | | | | - Add a mutex to the softc and use it to protect the softc and device hardware. - Setup interrupt handler after attaching device to network stack. - Use device_set_desc() rather than device_quiet() plus a manual printf that simulates the normal probe printf. - Axe next_sbni_unit and instead just leave room for two sbni devices for each bus attachment. - Don't bzero the already-zero'd softc. - Add a detach method to the PCI driver. - Add a lock to protect the list of available devices used to chain interrupt handlers for dual port ISA cards. - Remove unused watchdog routine. - If if_alloc() fails, make sbni_attach() return an error rather than panic'ing. - Consolidate code to free bus resources into sbni_release_resources(). - Clear IFF_DRV_RUNNING|OACTIVE in stop() routine instead of in callers. - Let ether_ioctl() handle SIOCSIFMTU.
* Quiet framelen uninitialized warning. I think it was a false alarm.peter2007-07-051-1/+3
| | | | | | | If check_fhdr() returns false, the frame_ok variable should protect any meaningful evaluations of framelen. Approved by: re (rwatson)
* o break newbus api: add a new argument of type driver_filter_t topiso2007-02-232-2/+2
| | | | | | | | | | | | | bus_setup_intr() o add an int return code to all fast handlers o retire INTR_FAST/IH_FAST For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current Reviewed by: many Approved by: re@
* Sweep kernel replacing suser(9) calls with priv(9) calls, assigningrwatson2006-11-061-2/+3
| | | | | | | | | | | | | specific privilege names to a broad range of privileges. These may require some future tweaking. Sponsored by: nCircle Network Security, Inc. Obtained from: TrustedBSD Project Discussed on: arch@ Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri, Alex Lyashkov <umka at sevcity dot net>, Skip Ford <skip dot ford at verizon dot net>, Antoine Brodin <antoine dot brodin at laposte dot net>
* - Store pointer to the link-level address right in "struct ifnet"ru2005-11-111-3/+3
| | | | | | | | | | rather than in ifindex_table[]; all (except one) accesses are through ifp anyway. IF_LLADDR() works faster, and all (except one) ifaddr_byindex() users were converted to use ifp->if_addr. - Stop storing a (pointer to) Ethernet address in "struct arpcom", and drop the IFP2ENADDR() macro; all users have been converted to use IF_LLADDR() instead.
* Propagate rename of IFF_OACTIVE and IFF_RUNNING to IFF_DRV_OACTIVE andrwatson2005-08-091-9/+9
| | | | | | | | | | | | | | IFF_DRV_RUNNING, as well as the move from ifnet.if_flags to ifnet.if_drv_flags. Device drivers are now responsible for synchronizing access to these flags, as they are in if_drv_flags. This helps prevent races between the network stack and device driver in maintaining the interface flags field. Many __FreeBSD__ and __FreeBSD_version checks maintained and continued; some less so. Reviewed by: pjd, bz MFC after: 7 days
* Stop embedding struct ifnet at the top of driver softcs. Instead thebrooks2005-06-103-25/+29
| | | | | | | | | | | | | | | | | | | | struct ifnet or the layer 2 common structure it was embedded in have been replaced with a struct ifnet pointer to be filled by a call to the new function, if_alloc(). The layer 2 common structure is also allocated via if_alloc() based on the interface type. It is hung off the new struct ifnet member, if_l2com. This change removes the size of these structures from the kernel ABI and will allow us to better manage them as interfaces come and go. Other changes of note: - Struct arpcom is no longer referenced in normal interface code. Instead the Ethernet address is accessed via the IFP2ENADDR() macro. To enforce this ac_enaddr has been renamed to _ac_enaddr. - The second argument to ether_ifattach is now always the mac address from driver private storage rather than sometimes being ac_enaddr. Reviewed by: sobomax, sam
* Start each of the license/copyright comments with /*-, minor shuffle of linesimp2005-01-064-4/+4
|
* Since if_sbni doesn't contain locking or run with INTR_MPSAFE, markrwatson2004-08-131-1/+2
| | | | the interface as IFF_NEEDSGIANT so if_start is run holding Giant.
* We don't need to initialize if_output, ether_ifattach() does itmux2004-05-231-1/+0
| | | | for us.
* Remove improper use of if_addrhead in device drivers to checkluigi2004-04-151-4/+0
| | | | | | | | | | | | if the link-level address has been initialized already. The majority of modern drivers never does this and works fine, which makes me think that the check is totally unnecessary and a residue of cut&paste from other drivers. This change is done to simplify locking because now almost none of the drivers uses this field. The exceptions are "ct" "ctau" and "cx" where i am not sure if i can remove that part.
* Convert callers to the new bus_alloc_resource_any(9) API.njl2004-03-172-4/+4
| | | | | Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
* Announce ethernet MAC addresss in ether_ifattach().mdodd2004-03-141-2/+1
|
* Replace the if_name and if_unit members of struct ifnet with new membersbrooks2003-10-312-5/+4
| | | | | | | | | | | | | if_xname, if_dname, and if_dunit. if_xname is the name of the interface and if_dname/unit are the driver name and instance. This change paves the way for interface renaming and enhanced pseudo device creation and configuration symantics. Approved By: re (in principle) Reviewed By: njl, imp Tested On: i386, amd64, sparc64 Obtained From: NetBSD (if_xname)
* There is no way to enter the attach routine twice with the same softcbrooks2003-10-301-19/+17
| | | | | | | without a detach call in between so don't try to deal with that possiability. This is a diff-reduction commit for the upcoming if_xname conversion.
* Use PCIR_BAR(x) instead of PCIR_MAPS.jhb2003-09-021-1/+1
| | | | | Glanced over by: imp, gibbs Tested by: i386 LINT
* Use __FBSDID().obrien2003-08-243-6/+10
| | | | Also some minor style cleanups.
* Prefer new location of pci include files (which have only been in theimp2003-08-221-2/+2
| | | | | tree for two or more years now), except in a few places where there's code to be compatible with older versions of FreeBSD.
* Fix i386 assembly constraints. The same register cannot bekan2003-07-111-3/+3
| | | | in output and clobber lists at the same time.
* - Express hard dependencies on bus (pci, isa, pccard) andmdodd2003-04-152-4/+4
| | | | | | | | network layer (ether). - Don't abuse module names to facilitate ifconfig module loading; such abuse isn't really needed. (And if we do need type information associated with a module then we should make it explicit and not use hacks.)
* Back out M_* changes, per decision of the TRB.imp2003-02-191-2/+2
| | | | Approved by: trb
* Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.alfred2003-01-211-2/+2
| | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
* network interface driver changes:sam2002-11-141-15/+7
| | | | | | | | | | | | | | o don't strip the Ethernet header from inbound packets; pass packets up the stack intact (required significant changes to some drivers) o reference common definitions in net/ethernet.h (e.g. ETHER_ALIGN) o track ether_ifattach/ether_ifdetach API changes o track bpf changes (use BPF_TAP and BPF_MTAP) o track vlan changes (ifnet capabilities, revised processing scheme, etc.) o use if_input to pass packets "up" o call ether_ioctl for default handling of ioctls Reviewed by: many Approved by: re
* Use if_printf() instead of printf() to print "sbni#: blah".brooks2002-10-011-4/+3
|
* This driver doesn't need to include <sys/bus_private.h> either.phk2002-09-282-2/+0
| | | | Spotted by: FlexeLint
* use __packed/__aligned rather than GCC-specific __attribute__.alfred2002-09-231-1/+1
|
* printf() formats fixesfjoe2002-08-062-2/+2
|
* Make driver portable:fjoe2002-08-054-45/+56
| | | | | | | | | | | | - bus_space'ify - generate fake ethernet address using read_random() instead of reading from timer i/o ports Other minor fixes: - remove "hack" in connect_to_master() - use M_ZERO - remove unused variable in sbni_ioctl() - properly release irq in sbni_attach_isa() on attach errors
* back out one change that crept in (will be committed later)fjoe2002-08-051-1/+1
|
* style fixesfjoe2002-08-053-26/+30
|
* fix driver name in DRIVER_MODULEfjoe2002-07-152-2/+2
| | | | MFC after: 3 days
* Change the suser() API to take advantage of td_ucred as well as do ajhb2002-04-011-3/+5
| | | | | | | | | | | | general cleanup of the API. The entire API now consists of two functions similar to the pre-KSE API. The suser() function takes a thread pointer as its only argument. The td_ucred member of this thread must be valid so the only valid thread pointers are curthread and a few kernel threads such as thread0. The suser_cred() function takes a pointer to a struct ucred as its first argument and an integer flag as its second argument. The flag is currently only used for the PRISON_ROOT flag. Discussed on: smp@
* Rename a variable that might accidentally be duplicated elsewhere.msmith2002-01-083-5/+5
|
* Add driver for Granch SBNI12-xx ISA and PCI network adapters.fjoe2001-11-215-0/+1898
MFC after: 1 week
OpenPOWER on IntegriCloud