Commit Graph

2414 Commits

Author SHA1 Message Date
scw 05be817d7b Call clmpcc_init() when setting up the console to get the chip into
a known state.

For some reason, "Bug" on mvme68k can't be relied upon to leave it
in a good enough state for our console routines...
2001-07-12 17:21:01 +00:00
chs 864f123d5a add a missing newline in a printf. 2001-07-10 00:36:36 +00:00
wiz cc0b68092e Correct various misspellings of 'transfer' and inflected forms. 2001-07-08 18:06:42 +00:00
thorpej fa91d59528 Remove unnecessary include files, from Onno van der Linden. 2001-07-08 17:52:02 +00:00
thorpej 0884f20bf7 bzero -> memset 2001-07-07 16:13:44 +00:00
thorpej 7f597fba74 bcopy -> memcpy, strcpy, memmove 2001-07-07 16:00:09 +00:00
thorpej 150ca9d41a bcopy -> memcpy, strcpy 2001-07-07 15:59:37 +00:00
thorpej 06ff822b44 bcopy -> strcpy 2001-07-07 15:57:50 +00:00
thorpej 7a4838199c bcopy -> memcpy 2001-07-07 15:56:07 +00:00
thorpej 7711ad565b bcopy -> memcpy 2001-07-07 15:53:13 +00:00
thorpej c2c26e1362 bcmp -> memcmp 2001-07-07 05:35:39 +00:00
mjacob 0134959e74 If I've told myself once, I've told myself 1000 times- *NEVER* commit
w/o test compiling first. Argh. I nuked one extra line that I shouldn't
have.
2001-07-07 01:44:21 +00:00
thorpej 2861457faf Fix a typo in htosonic32(), pointed out by soda@netbsd.org. 2001-07-06 16:20:07 +00:00
mjacob f0ba6b733c White space cleanup. Fix oopslet about having overlapping loop states.
Handle FW crashes as an isp_async call. Reclaim a missing logging level
bit.
2001-07-06 16:19:10 +00:00
mjacob 3628ea89ae Add some wads more definitions. Add macros for request/response queue
in/out pointer access.
2001-07-06 16:18:08 +00:00
mjacob 70d59a5876 Minor comment update. 2001-07-06 16:17:36 +00:00
mjacob 5089fba315 Defer turning off the no_mbox_ints flag until after the system is ready
for interrupts. Handle FW crashes in outer layer.
2001-07-06 16:17:17 +00:00
mjacob 092afb0ce9 More 2300 support: macroize access to request/response in/out pointers. 2001-07-06 16:16:11 +00:00
mjacob 9386c78f88 Some whitespace cleanup. Initial forcelout support.
Fix longstanding bug where we should have been checking
against Channel B's settings to see whether to apply tag
usage. Oops.

Some more 2300 support- macroize access to request queue in/out pointers.
Firmware crashes now handled in platform outer code via an isp_async call.

If we get a LIP, and we're on a private or public loop, kill off all
active commands as if they had been killed by a 'SCSI Bus Reset'. I've
seen data corruption on commands that complete 'normally' after a LIP.
Bad.
2001-07-06 16:15:38 +00:00
thorpej fd1fd6bb0f If using the hardware cursor, make sure the cursor shape is initialized,
otherwise we won't be able to see anything if the system firmware has
either not initialized it, or initialized it to "invlisible".
2001-07-05 16:45:23 +00:00
thorpej 5c0f65ea82 Do a little manual CSE, taking unneeded comparisons out of loops,
and shrinking the object code somewhat.  On an R4400:

Before:
text    data    bss     dec     hex     filename
16248   16      0       16264   3f88    dp83932.o

Before:
text    data    bss     dec     hex     filename
14424   16      0       14440   3868    dp83932.o
2001-07-05 15:02:27 +00:00
thorpej b7ea2efc25 A new DP83932 ``SONIC'' driver, which uses bus_dma(9) and does I/O
directly to mbufs.  Handles both 32-bit and 16-bit, big- and little-
endian configurations of the chip (we could squeeze out some conditionals
yet, though).
2001-07-05 14:37:41 +00:00
toshii 4866f1a22b Fix typo. s/extention/extension/ 2001-07-05 08:38:24 +00:00
thorpej a1054ae7c6 D'oh, use the right bitbang ops for the DL10022, pointed out by
Masanori Kanaoka <kanaoka@ann.hi-ho.ne.jp>.
2001-07-05 05:36:02 +00:00
thorpej a2985ca976 Fix variable names in the strict-alignment case. 2001-07-05 05:28:29 +00:00
wiz e7313e53ae Fix typo in comment. 2001-07-04 20:34:03 +00:00
jdolecek 6d63e5d890 g/c WE_FLAGS_*, use DP8390_FORCE_{8|16}BIT_MODE instead WE_FLAGS_*
counterpart. Fixes kern/7295 by Martin Husemann.
2001-07-04 11:14:10 +00:00
onoe 5cf8e98cb5 Experimental support for LEAP, which is cisco's implementation of IEEE802.11
EAP in aironet firmware.  Currently it seems that only cisco's RADIUS server
implements EAP for IEEE802.11, and the function is not tested at all.
2001-06-29 11:24:42 +00:00
onoe e7e0a9984c Do not re-enable the driver after resume if the interface is marked down.
Change the first argument of awi_init/awi_stop from struct awi_softc to
struct ifnet to match the definition if_init/if_stop, though we don't
use ether_ioctl() yet.
2001-06-28 10:40:04 +00:00
onoe 950ec87b20 Do not re-enable after resume if interface is marked down. 2001-06-28 10:34:17 +00:00
nathanw 67bde7ddf3 The back end driver doesn't need PCMCIA headers, but it does need
<machine/bus.h>.
2001-06-27 22:22:12 +00:00
bjh21 770912bb85 Add support for handling full-size 802.1Q packets. 2001-06-26 22:00:44 +00:00
bouyer e27abfaddf Make it compile with SCSIPI_DEBUG 2001-06-26 12:19:49 +00:00
onoe 65f0069f5b restore awi_power() to reenable awi after resume.
... forgot why it is disabled...
2001-06-26 08:41:19 +00:00
onoe 3e2b22f383 Fix keyid bit position of encrypted packet to make non-first key usable. 2001-06-25 12:11:59 +00:00
onoe 4fe2f5eda7 AWI_DEBUG only:
awi_dump_pkt dumps packet before encryption in transmit.
2001-06-25 12:09:51 +00:00
onoe b383383c20 Fix capability information in association request to reflect ESS/IBSS mode.
This fix is required to interoperate with Cisco's access point.
2001-06-25 12:06:14 +00:00
bjh21 27a2f91b72 Add sc_flags to seeq8005_softc, and put a flag in it. 2001-06-25 11:38:28 +00:00
wdk 98f7903dd8 Don't reprogram SCC registers unless the values have changed.
Some CMOS Z85C30 SCC's (as used in the SGI Indy and Mips Magnum 3000's)
reset the baud rate generator when a new prescaler is loaded - despite
what is documented in the datasheet.

Avoids "character glitch" problems when line discipline characteristics
are changed at the start of the login process, or during a ftp session
on the /dev/console device.

Tested on -sgimips, -mipsco and -alpha platforms
2001-06-25 08:30:11 +00:00
enami ffd45d10e3 Invert the logic in last commit so that it actually works. 2001-06-25 06:44:41 +00:00
matt 33fb36075d Add a flag to the softc to prevent recursion in ifstart 2001-06-25 04:46:28 +00:00
onoe a9f2f7b41b add stubs for wiconfig(8). 2001-06-25 04:43:33 +00:00
onoe 1761d48452 cleanup unnecessary include files. 2001-06-25 04:29:19 +00:00
bjh21 abfd1d9e70 ea_mc_reset_8004(): Rather than doing the CRC32 ourselves, call
ether_crc32_be() to do it for us.
2001-06-23 17:32:21 +00:00
bjh21 3177727ba7 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.
2001-06-23 13:40:35 +00:00
bjh21 9e396bc385 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.
2001-06-22 20:31:55 +00:00
thorpej 2ab206fbb5 Update, based on i8259a manual. 2001-06-21 18:57:04 +00:00
bouyer b1a2f97303 Also print DSA addr in a DIAGNOSTING printf. 2001-06-21 16:55:20 +00:00
onoe ea8bda451f Add support for persistent key.
Fix promiscuous mode, taken from FreeBSD.
Fix to re-enable the card after suspend/resume.
Reflect current operational rate to if_media interface.
Avoid duplicate copy in transmit.
Move most of debug printfs into IFF_DEBUG.
Disable ANCACHE - designed for IPv4 only and no one use it.
Add IFF_ALLMULTI flags, as we don't have multicast filter.
Convert bzero/bcopy to memset/memcpy.
... sorry for jumbo commit.
2001-06-21 12:49:06 +00:00
onoe 0e7b0f3f43 add definitions for LEAP stuff in 350 series.
fix the value for AN_802_3_OFFSET to 0x34 (no one uses)
2001-06-21 12:33:24 +00:00
thorpej ee9070cc5a Add a long-needed register descripton file for the i8259 PIC.
This was taken from the PIIX4 manual, and thus doesn't have all
the legacy crap (relative to "modern" ISA PICs, anyway), so if
you have a real i8259 manual, fill in some more bits.
2001-06-21 03:43:43 +00:00
uwe 35e011d31b Convert to use cnmagic(9). Unifdef DDB and DDB_BREAK_CHAR.
While I'm here, s/ungetc/readahead/ in com_common_* because that's
what it _really_ is, "ungetc" is a very confusing name.
2001-06-20 03:07:25 +00:00
wiz ac951736bc `response', not `responce' 2001-06-19 13:45:52 +00:00
wiz f3f6c5b675 `accessible' only has one `a'. 2001-06-19 12:52:20 +00:00
jdolecek a7d6a8f2f1 The ifa is needed for CCITT&&LLC case, provide it in that case 2001-06-19 07:19:35 +00:00
thorpej 62224968e1 Add support for the Adaptec AIC-6915 10/100 Ethernet. This is
a 64-bit PCI chip, available in 1, 2, and 4 port models.
2001-06-18 22:05:35 +00:00
onoe 319ea4a342 make it compilable: delete unused variable 'ifa' from lance_ioctl() 2001-06-18 13:47:18 +00:00
jdolecek e65b619faa Convert to use ether_ioctl() for SIOCSIFADDR and SIOCSIFFLAGS. 2001-06-18 11:06:26 +00:00
jdolecek adaaf11f9f make pckbc_slot_names[], pckbc_portcmd const 2001-06-17 16:15:41 +00:00
thorpej 4c49d6fa2a Split the Tx and Rx interrupt routines into separate functions,
and add some (optional) event counters.
2001-06-15 22:16:00 +00:00
itojun 4d51fe368b change the meaning of ifnet.if_lastchange to meet RFC1573 ifLastChange.
follows BSD/OS practice and ucd-snmp code (FreeBSD does it for specific
interfaces only).

was: if_lastchange get updated on every packet transmission/receipt.
now: if_lastchange get updated when IFF_UP is changed.
2001-06-14 05:44:23 +00:00
bjh21 6acf237023 Use the new generic mechanism for forcing polling on a SCSI interface, rather
than doing it ourselves.
2001-06-13 18:27:27 +00:00
bjh21 4bc5a3b295 Add explicit support for IDE and SCSI adaptors which don't support interrupts.
On such adaptors, all transfers are done in polling mode.

OK'ed by Manuel on tech-kern.
2001-06-13 18:17:38 +00:00
wiz c03a48d64f withough -> without 2001-06-13 10:45:57 +00:00
thorpej 015345c74b Don't need INET or NS includes here. 2001-06-12 22:32:51 +00:00
thorpej 9988acd41e Don't need INET or NS includes here. 2001-06-12 22:28:15 +00:00
bjh21 18e8d752f6 No need to pull in INET or NS headers -- that's all done by ether_ioctl() now. 2001-06-12 20:53:39 +00:00
wiz 0a600be867 receive, not recieve 2001-06-12 15:17:10 +00:00
wiz 2a8c778f1b retrieve, not retreive 2001-06-12 14:59:27 +00:00
wiz b50f28c38a underrun, not underun 2001-06-12 11:48:51 +00:00
bjh21 33afab3251 Add a short-circuit return from wdcprobe for IDE controllers without pullup
resistors, which return the last value written to the bus on a read.  This
makes detecting empty channels on my HCCS and D.T. Software IDE interfaces
rather faster.
2001-06-11 21:18:36 +00:00
wiz 40ac848024 Fix various misspellings of compatible/compatibility. 2001-06-11 01:50:48 +00:00
wiz 0a3b1c29a1 transceiver, not transciever. 2001-06-11 01:19:53 +00:00
ad bfac43a1c8 Centralise the geometry fudge. 2001-06-10 10:48:42 +00:00
ad 5f1286dfb9 Don't make assumptions about the contents of the system drive table. 2001-06-10 10:34:44 +00:00
scw 737763fde7 Forgot to commit this as part of the mvme68k evcnt(9) changes. 2001-06-10 08:27:42 +00:00
briggs acf06d2e27 If the adapter is returning a selection timeout, then we should be
returning XS_SELTIMEOUT, not XS_TIMEOUT.  Pointed out by Andrew Doran.
2001-06-09 18:08:20 +00:00
briggs 8c948a0386 Patches from takashi.yamamoto@bigfoot.com in kern/13139.
- Set XS_TIMEOUT on a selection timeout condition.
- Do not bother to call AscStartChip() in AscResetChipAndScsiBus()--
  just clear the chip status.
- Make sure address is word-aligned in AscWriteLramByte().

Tested on my adv (AdvanSys ABP-9xxUA) with CRW8424S and UMAX SuperVista S-12.
Earlier versions of the system would get stuck trying to recover from error
conditions when the CD-RW drive was in heavy use.  I have not seen that
behavior with these small patches.
2001-06-09 17:18:21 +00:00
tsutsui 14f1650c62 Remove unused members from SCSI command block structure. 2001-06-09 13:43:02 +00:00
tsutsui 9cd36c6539 Fix an uninitialized variable in #ifdef DIAGNOSTIC.
Pointed out by soda.
2001-06-09 12:59:50 +00:00
thorpej ff5871412e Correct the receive mode mask in the RXCMD register. 2001-06-07 05:19:26 +00:00
thorpej 025decbccb Don't clear a callout on a scsipi_xfer that has been scsipi_done()'d. 2001-06-07 03:44:00 +00:00
soren 26603afde8 Update URL to documentation PDF. 2001-06-06 22:11:42 +00:00
tsutsui 15f8692183 Make some functions __inline. 2001-06-05 12:42:44 +00:00
thorpej 8ee014b439 Handle the DL10022 case. 2001-06-05 02:31:16 +00:00
mrg 46762d3560 fix lint exposed by GCC 3.0 20010604 (prerelease). 2001-06-04 20:56:51 +00:00
toshii 13aba87bcb Don't pass nonpositive repeat count to CSR_*_MULTI_2.
Should fix kern/13092.
2001-06-04 03:34:47 +00:00
tsutsui bcdd082840 Add a driver for the Initio INIC-940/950 PCI SCSI controllers.
Based on OpenBSD's iha driver, and modified some structures by me.

Tested on arc, i386 and macppc.
2001-06-03 13:43:45 +00:00
thorpej 37368cb858 Use the correct bitbang ops on the DL10022 (oops!). 2001-06-03 04:39:52 +00:00
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
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
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
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
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
mjacob c9de53f96e Create a kernel thread for Fibre Channel cards. This is the new
way of doing business- modulo some startup spasms and peculiarities
of the way kthreads are started (*after* configuration, weird) and
some strangeness with the freeze/thaw code, what now happens is
that any of Loop Down, LIP, Loop Reset or Port Datbase or Name
Server Database Changed ASYNC events cause the queues to freeze
for this channel.  The arrival of a Loop UP is not relevant.

What *is* relevant is that the Port Datbase or Name Server Changed
async event indicate that it's okay to go and (re)evaluate the
state of the FC link and (re)probe local loop and fabric membership.
We have a kthread do this because it's *sooooo* much nicer to be
able to sleep while doing the 130-250 mailbox commands it'll take
to re-evaluate things.

When the state is well known again, we can unfreeze the channel
queues.  Then, as commands start arriving, we simply can start them
or bounce them with XS_SELTIMEOUT (if the device in question has
gone away).  Previously, we did lazy evaluation, which meant that
if a change occurred, we would wait until the very *next* command
to go rebuild stuff.

The reason this is not sensible is:

 a) Even with sleeping, you can hang up your system because you might be
 making some poor stat(2) call pay the price of re-evaluating the whole
 fabric.

 b) If we ever really want to get to dynamic attachment/detachment, we
 should find out sooner, rather than later, where things get to.

Split off ispminphys_1020 from ispminphys- a 1020 has a 24 bit limit-
not anything newer.

Re-enable LIPs and Loop Resets as async events- this allows the outer
layer to set policy about them.

Roll platform major && minor. Remove bogus waitq (no longer used).
Remove callout entry in softc (no longer used). Define some shorthands
for channels. Clean up a variety of cruft left over from the
thorpej_scsipi changeover.
2001-05-25 21:45:55 +00:00
hannken 339a9c8de2 Fix two typos in the BYTE_ORDER != LITTLE_ENDIAN case. 2001-05-25 08:54:40 +00:00