Commit Graph

10393 Commits

Author SHA1 Message Date
thorpej
ca4d373730 Implement support for IP/TCP/UDP checksum offloading provided by
network interfaces.  This works by pre-computing the pseudo-header
checksum and caching it, delaying the actual checksum to ip_output()
if the hardware cannot perform the sum for us.  In-bound checksums
can either be fully-checked by hardware, or summed up for final
verification by software.  This method was modeled after how this
is done in FreeBSD, although the code is significantly different in
most places.

We don't delay checksums for IPv6/TCP, but we do take advantage of the
cached pseudo-header checksum.

Note: hardware-assisted checksumming defaults to "off".  It is
enabled with ifconfig(8).  See the manual page for details.

Implement hardware-assisted checksumming on the DP83820 Gigabit Ethernet,
3c90xB/3c90xC 10/100 Ethernet, and Alteon Tigon/Tigon2 Gigabit Ethernet.
2001-06-02 16:17:06 +00:00
toshii
9590a56496 Use bus_space_{read,write}_multi_stream_2 where available. 2001-06-02 15:49:16 +00:00
bjh21
fd7e9d6d32 Clean up hcsc_match: Don't check the manufacturer ID, since podule IDs are
unique anyway.  Do check whether the description starts with "SCSI", since
HCCS used the same ID for their IDE podule.
2001-06-02 12:07:34 +00:00
bjh21
e9ff9b9d73 Enable disconnect/reselect (now that it works) and parity checking. 2001-06-02 11:43:40 +00:00
thorpej
2da55b9a39 Define some extra configuration block bits used on the i82550 (a.k.a.
PRO 100/S), including the extended RFA format.  Don't hard-code the
RFA size to allow us to use the extended format in the future.
2001-06-02 01:04:01 +00:00
jdolecek
f6af05f407 Back the last revision off, upon Bill Sommerfeld's request 2001-06-02 00:46:00 +00:00
jdolecek
5dbe622e77 When polling, raise priority level to tty, to block keyboard interrupts
when the system is "warm", i.e. interrupts are not blocked anymore.
This seems to be necessary on my PS/2 Model 70 keyboard - without this,
system ends up in endless loop calling the keyboard intr routine if a key
is pressed when polling. This _may_ be just specific to level-triggered
interrupts PS/2 MCA uses, though it's more likely it's just the way the
particular keyboard controller works.

Discussed on tech-kern@.
2001-06-02 00:01:04 +00:00
thorpej
33a6994da1 Driver for Broadcom BCM5400-family Gig-E PHYs. Programming
information gleaned from FreeBSD.
2001-06-01 16:49:59 +00:00
haya
1331bcc296 cardbusvar.h is divided into two files: cardbusvar.h and cardbusreg.h. 2001-06-01 10:30:37 +00:00
bouyer
88f3192778 Fix typo in sddump() which caused core dumps to fail with ENXIO. 2001-06-01 08:39:54 +00:00
simonb
b3e7ecfd97 Delete the XXX'd includes of <dev/isa/isavar.h> and <sys/kernel.h>.
These aren't needed.  Tested on i386 and alpha.
2001-06-01 00:38:31 +00:00
tron
264d7e1264 Install "dev/scsipi/scsipi_cd.h" again because it is e.g. used by the
CD player include in version 2.x of the "kdemultimedia" package.
2001-05-31 21:54:07 +00:00
thorpej
996df042df Add support for the DP83815 MacPHYTER internal PHY to the DP83843 PHYTER
driver, since for our purposes, they are compatible.
2001-05-31 20:30:21 +00:00
thorpej
1042f830e5 Regen; added several more PHYs. 2001-05-31 19:41:07 +00:00
thorpej
0c94166e28 Add several additional PHYs. 2001-05-31 19:40:33 +00:00
thorpej
f752c7d328 On the Gig PHYTER, For whatever reason, the 10baseT-related bits of the
BMSR are wired to 0, yet the PHY supports 10baseT.  So, to get around
this, we test the ANAR 10baseT bits after a PHY reset.  These bits are
set according to input pin 180.  If we see the 10baseT ANAR bits set,
we fake them in the BMSR so that we can actually autonegotiate 10baseT.
2001-05-31 18:47:22 +00:00
thorpej
2128d9199a Enable frobbing the 1000baseT control register on Gig-E PHYs,
used for hard-wiring master mode, and for advertising the 1000baseT
media options during autonegotiation.
2001-05-31 18:44:48 +00:00
thorpej
628a67ab31 Add a driver for the NatSemi DP83891 and DP83861 Gig PHYTER
10/100/1000 PHYs.
2001-05-31 16:06:58 +00:00
thorpej
ea1aed7db2 Make the number of ticks between auto-negotiation tries PHY-specific,
and default every PHY to 5 seconds (what we used before).  If we find
Gig-E media on a PHY, bump it to 10 seconds, since it can take 5
seconds just to negotiate a Gig-E link.
2001-05-31 16:02:29 +00:00
ad
f4afeda420 Reduce the delay when polling so that dumps go faster. 2001-05-31 11:31:43 +00:00
haya
4d3b32a658 Cosmetic change. 2001-05-31 08:33:40 +00:00
thorpej
ad090e7062 Regen; added NatSemi DP83891. 2001-05-31 03:32:38 +00:00
thorpej
3ae72855b1 Add product ID for the NatSemi DP83891 1000baseTX PHY. 2001-05-31 03:32:20 +00:00
thorpej
9f63d3cd86 Typo in last. 2001-05-31 03:07:14 +00:00
thorpej
f07f44812d The 1000baseT CR and SR are overlapped with the 100base-T2 CR and SR.
Note this in a comment.  Add the 1000baseT CR and SR bits.
2001-05-31 03:06:46 +00:00
nisimura
e7c225d7b2 Regen; product IDs for IDT RC32334 and RC32332 systeml controllers. 2001-05-31 01:13:33 +00:00
nisimura
811d8d9102 Add product IDs for IDT RC32234 and RC32334 system controllers. 2001-05-31 01:10:34 +00:00
bouyer
3fccfbf68d Uninitialised variables, from Krister Walfridsson: in umass_scsipi_request()
initialize cmd before using it. Now that it's initialised earlier, use it
instead of xs->cmd
2001-05-30 20:31:39 +00:00
bouyer
6973b27309 Uninitialised variable (from Krister Walfridsson): in acard_chip_map()
drop compatchan and use the real channel number instead.
2001-05-30 20:30:02 +00:00
bouyer
708bb529d3 uninitialised variable (from Krister Walfridsson):
in st_cmprss(), init flags to 0 (never changed, but this should change soon
anyway, for ATAPI tapes support)
2001-05-30 20:28:17 +00:00
lukem
d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
mrg
c13e3a6693 use _KERNEL_OPT 2001-05-30 11:40:35 +00:00
haya
f591dd2f9d Cosmetic change. 2001-05-30 09:21:47 +00:00
chs
ffcbc851a0 fix some problems in sddump() with uninitialized variables. 2001-05-29 01:02:39 +00:00
bjh21
c5260261ba Use the pseudo-DMA facilities of the HCCS SCSI podule. Code largely derived
from the pc532 "ncr" driver.

This gets me up to 300 KB/s from /dev/rsd0a on my A310.  I think
bus_space_{read,write}_multi_1 and copy{in,out} are the bottlenecks now.
2001-05-28 22:54:10 +00:00
tshiozak
83da433ada fix for UX96 (and all Yamaha specific devices, hopefully).
- fix how to get endpoint addresses.
  - fix allocate count of pipes.
  - add necessary null checks for asymmetry jacks.
2001-05-28 20:52:06 +00:00
tshiozak
5505749bb1 add new device; Yamaha UX96 USB MIDI I/F. 2001-05-28 18:28:04 +00:00
onoe
a62b5c1e2e add a comment why IFF_PROMISC is handled separately for SIOCSIFFLAGS:
Handle special case for IFF_PROMISC.  If only IFF_PROMISC
	flag is changed, do not call an_init() to avoid initiating
	reassociation to another access point.  It is really
	helpful for tcpdump(8).
2001-05-28 00:46:35 +00:00
thorpej
ebf9e47c26 Add quirks for the Algorithmics P-5064 on-board 21143, and a way to
get the Ethernet address from it (they don't have an SROM).

XXX The latter should be replaced with devprops when they exist.
2001-05-27 21:00:33 +00:00
ragge
667dd41596 Remove ethernet CRC on received packets. 2001-05-27 19:36:06 +00:00
thorpej
47745a094d Add support for the Algorithmics ISA floppy controller. 2001-05-27 18:16:21 +00:00
thorpej
ce289cc293 Handle non-contiguous BARs. Needed to be able to configure e.g.
IDE and USB on a PIIX3.
2001-05-27 17:50:40 +00:00
bjh21
cbea766fd0 Add hcsc. 2001-05-26 23:02:06 +00:00
bjh21
5cc459efcc Quick hack of a driver for the HCCS 8-bit SCSI podule, based on the Oak driver.
Tested to the extent that it finds my disc.
2001-05-26 23:01:19 +00:00
bjh21
ebf4596009 regen 2001-05-26 21:48:31 +00:00
bjh21
eb6eb503f1 Fix typo in last commit. 2001-05-26 21:48:21 +00:00
bjh21
7b0faa44c9 regen 2001-05-26 21:47:30 +00:00
bjh21
d5ecc6c516 Add the 8-bit podules I got at Wakefield (except the A3000 Nexus,
which seems not to work).
2001-05-26 21:47:09 +00:00
ragge
41faed1386 Use cdev_decl() instead of local prototyping. 2001-05-26 21:24:38 +00:00
bjh21
6d8a82ebc2 Use bus_space on arm26.
Update the comment to match list of bus_space-using ports.
Delete oak from list of drivers that need converting.
2001-05-26 20:55:48 +00:00