Commit Graph

50863 Commits

Author SHA1 Message Date
mjacob
c0c2363472 Add in macros && masks so that mailbox command errors can be
selectively printed/supressed in isp_mboxcmd.
2000-08-01 06:55:08 +00:00
mjacob
8836b07cf6 Major whacking for core version 2.0. A major motivator for 2.0 and these
changes is that there's now a Solaris port of this driver, so some things
in the core version had to change (not much, but some).

In order, from the top.....:

A lot of error strings are gathered in one place at the head of the file.
This caused me to rewrite them to look consistent (with respect to
things like 'Port 0x%' and 'Target %d' and 'Loop ID 0x%x'.

The major mailbox function, isp_mboxcmd, now takes a third argument,
which is a mask that selectively says whether mailbox command failures
will be logged. This will substantially reduce a lot of spurious noise
from the driver.

At the first run through isp_reset we used to try and get the current
running firmware's revision by issuing a mailbox command. This would
invariably fail on alpha's with anything but a Qlogic 1040 since SRM
doesn't *start* the f/w on these cards. Instead, we now see whether we're
sitting ROM state before trying to get a running BIOS loaded f/w version.

All CFGPRINTF/PRINTF/IDPRINTF macros have been replaced with calls to
isp_prt. There are seperate print levels that can be independently
set (see ispvar.h), which include debugging, etc.

All SYS_DELAY macros are now USEC_DELAY macros. RQUEST_QUEUE_LEN and
RESULT_QUEUE_LEN now take ispsoftc as a parameter- the Fibre Channel
cards and the Ultra2/Ultra3 cards can have 16 bit request queue entry
indices, so we can make a 1024 entry index for them instead of the
256 entries we've had until now.

A major change it to fix isp_fclink_test to actually only wait the
delay of time specified in the microsecond argument being passed.
The problem has always been that a call to isp_mboxcmd to get he
current firmware state takes an unknown (sometimes long) amount of
time- this is if the firmware is busy doing PLOGIs while we ask
it what's up. So, up until now, the usdelay argument has been
a joke. The net effect has been that if you boot without being plugged
into a good loop or into a switch, you hang. Massively annonying, and
hard to fix because the actual time delta was impossible to know
from just guessing. Now, using the new GET_NANOTIME macros, a precise
and measured amount of USEC_DELAY calls are done so that only the
specified usecdelay is allowed to pass. This means that if the initial
startup of the firmware if followed by a call from isp_freebsd.c:isp_attach
to isp_control(isp, ISP_FCLINK_TEST, &tdelay) where tdelay is 2 * 1000000,
no more than two seconds will actually elapse before we leave concluding
that the cable is unhooked. Jeez. About time....

Change the ispscsicmd entry point to isp_start, and the XS_CMD_DONE
macro to a call to the platform supplied isp_done (sane naming).

Limit our size of request queue completions we'll look at at interrupt
time. Since we've increased the size of the Request Queue (and the
size of the Response Queue proportionally), let's not create an
interrupt stack overflow by having to keep a max completion list
(forw links are not an option because this is common code with
some platforms that don't have link space in their XS_T structures).
A limit of 32 is not unreasonable- I doubt there'd be even this many
request queue completions at a time- remember, most boards now use
fast posting for normal command completion instead of filling out
response queue entries.

In the isp_mboxcmd cleanup, also create an array of command
names so that "ABOUT FIRMWARE" can be printed instead of "CMD #8".

Remove the isp_lostcmd function- it's been deprecated for a while.
Remove isp_dumpregs- the ISP_DUMPREGS goes to the specific bus
register dump fucntion.

Various other cleanups.
2000-08-01 06:51:05 +00:00
ps
4b4777407a If the format string passed to setproctitle begins with a '-'
character, skip the program name when setting the process title.
Ansified with extreme prejudice.

Reviewed by:	peter
2000-08-01 06:37:09 +00:00
mjacob
7bbd9bfadc Core version 2.0 rewrite. In this file we replace isp_tdebug with
isp_prt calls. We now use an argument to the  ISPCTL_FCLINK_TEST
call. We change all IDPRINTF macros to isp_prt calls. We add
the isp_prt function here.
2000-08-01 06:31:44 +00:00
mjacob
1da31893fa Core version 2.0 cleanup/rewrite. Things get rearranged and changed
quite a bit so that all of the ports have a similar set of required
macros/definitions (and in similar places in the isp_<platform>.h
file).

Some new macros/functions added- Mailbox Acquire/Relase macros,
NANOTIME macros, SNPRINTf and STRNCAT. MemoryBarrier beomes
MEMORYBARRIER with much stronger types.
2000-08-01 06:29:55 +00:00
mjacob
90bc592459 Remove isp_prtstst (now in case statement in isp.c). Remove
isp2100_fw_statename as an INLINE (now a function in isp.c). Remove
isp2100_pdb_statename (unused). Redo all ISP_SCSI_XFER_T as XS_T types.
Change all RQUEST_QUEUE_LEN/RESULT_QUEUE_LEN macros to take a parameter.
Add isp_print_bytes function.
2000-08-01 06:26:04 +00:00
mjacob
4900d339a1 Remove isp_tdebug. Change all PRINTF macros to the now common
isp_prt logging function.
2000-08-01 06:24:01 +00:00
mjacob
6bac7972dd Fix typo. Remove isp_tdebug (we'll use ISP_LOGTDEBUG2 in isp->isp_dblev
as a selector now). Change DFLT_CMD_CNT to a fixed amount for now.
2000-08-01 06:23:24 +00:00
mjacob
ae6e6fedab Add in lengths of SBus or PCI registers. 2000-08-01 06:21:21 +00:00
mjacob
add29bbf34 Rewrite for version 2.0. Some structural changes, but also
a substantial amount of commenting about what each platform
specific definitions are supposed to be.
2000-08-01 06:10:21 +00:00
mjacob
4c7c897ac9 Part of major rewrite for core version 2.0- clarification of
mdvec structure, removal of printf/CFGPRINTF in place of isp_prt
calls. Parameterization of RQUEST_QUEUE_LEN/RESULT_QUEUE_LEN.
2000-08-01 05:16:49 +00:00
cokane
2f444ea6dc Bring tdfx_pci.c in sync with some patches I have been testing. Adds better
stability for the Voodoo3/Banshee cards than there was before. Still has a
little way to go before it is completely fixed for those cards though.
2000-08-01 05:10:29 +00:00
jlemon
08a68c236b Back out rev 1.12; its not clear that this is the right thing to do,
and in any event, it wasn't done correctly in the first place.
2000-08-01 04:27:50 +00:00
nsayer
2b61c92449 Reverse the sense of the signed/unsigned formatting bit.
This dramatically cleans up playback quality, at least with mxaudio.
2000-08-01 04:18:15 +00:00
ache
cd67564f78 Back out opt_ipfilter.h creation I add recently and add -DIPFILTER=1
to CFLAGS instead
According to other sources, opt_ipfilter.h not supposed to be included for
modules
2000-08-01 00:44:42 +00:00
ache
8d0d1ec4f6 Replace nonexistent !defined(_LKM) by !defined(KLD_MODULE) 2000-08-01 00:40:32 +00:00
ache
1b638496dc Check IPFILTER (options IPFILTER generates) instead of NIPFILTER 2000-08-01 00:12:27 +00:00
ache
e457a93633 Fix prev. commit: NIPFILTER -> IPFILTER 2000-08-01 00:10:08 +00:00
ache
16cb133f9b Add missing '0' to FreeBSD_version test: 50011 -> 500011 2000-08-01 00:04:24 +00:00
ache
6692152318 Generate opt_ipfilter.h to fix 'make depend' 2000-07-31 23:58:38 +00:00
nsayer
67331bf98c Add 'nc' flag to gettytab -- no carrier. Forces non-blocking open and
setting of CLOCAL. Necessary for 3 wire RS-232 setups with dumb
terminals.

PR:		5959
2000-07-31 23:47:57 +00:00
ache
31d77bcfb1 Nonexistent <sys/pfil.h> -> <net/pfil.h>
Kernel 'make depend' fails otherwise
2000-07-31 23:41:47 +00:00
green
268bc4c32f Make style match the surrounding style. Use memset() instead of bzero()
because it's standard (bah, show me a real system without bzero()...)

Noted by:	bde
2000-07-31 23:36:08 +00:00
ache
739d46b2ab Nonexistent "ipfilter.h" -> "opt_ipfilter.h"
Kernel 'make depend' fails otherwise
2000-07-31 23:35:08 +00:00
kris
2056f8f13d Fix a bug in keyed sorting due to malloc abuse.
Submitted by:	green
2000-07-31 21:37:29 +00:00
obrien
49c864f516 Add all the missing US keymaps. 2000-07-31 21:05:48 +00:00
obrien
ba5c33fe96 Don't offer the PC98 link kit or setup on non-i386 installs. 2000-07-31 20:52:28 +00:00
nsayer
ca266056f4 Add the module Makefile for the newly committed ESS solo sound driver.
It will be connected to the parent Makefile after more testing.
2000-07-31 17:22:30 +00:00
cg
fb1049d339 almost-there ess solo-1 driver, committed so people can tell me why it
doesn't generate irqs.
2000-07-31 16:17:40 +00:00
luoqi
c3d52a9a3e Handle write page faults (both write only or read-modify-write) as MI vm
write-only faults.  This would allow write-only mmapped regions to function
correctly.
2000-07-31 14:47:14 +00:00
sobomax
b79fdb86f6 Add current position (line, column) display. 2000-07-31 14:02:51 +00:00
sheldonh
c07b9583c6 Whitespace only:
Fix an overlong line and trailing whitespace that crept in, in the
previous commit.
2000-07-31 13:49:21 +00:00
darrenr
d18ce92d58 activate pfil_hooks and covert ipfilter to use it 2000-07-31 13:11:42 +00:00
dwmalone
cc221d575a Sleep for a second after tcp wrappers rejects a connection, so we
don't traumatise the parent inetd.

Requested by:	wietse@porcupine.org
Approved by:	markm
2000-07-31 13:10:52 +00:00
n_hibma
cf7c041ce2 Support for the Panasonic / Matshita USB FDD.
Submitted by:		SAKIYAMA Nobuo <sakichan@lares.dti.ne.jp>
PR:			kern/20300
2000-07-31 12:40:26 +00:00
alex
a540cd2f79 Point out, that build/installkernel need a built world and that more
information can be found in the handbook.

Requested by:	sheldonh
Reviewed by:	sheldonh
2000-07-31 12:39:09 +00:00
alex
0a765c451d Crypto sources are no longer export controlled:
Explain, why crypto sources are still in crypto/.

Reviewed by:	markm
2000-07-31 12:24:13 +00:00
nbm
871ca0fce6 Fix the obvious make and sed syntax errors lurking from my last "fix". 2000-07-31 11:00:01 +00:00
kris
8fb74c8657 Don't segv when trying to add a 0-length unit name.
Some string-related cleanups inspired by OpenBSD.

Reviewed by:	asmodai
2000-07-31 10:49:08 +00:00
kris
157ad2beb5 Don't coredump on long input lines. If anyone actually cares, this should
be fixed to actually process long lines instead of truncating them.

Obtained from:	OpenBSD
2000-07-31 10:14:06 +00:00
alex
37a9bf6232 - FreeBSD supports the Alpha Platform as well
- There are now more than 3500 ports in the ports collection.
2000-07-31 09:49:28 +00:00
alex
c158f1f31a - Update the list of backuped files during upgrade according to
sysinstall's source-code.
- wd(4) -> ad(4)
2000-07-31 09:45:43 +00:00
alex
550d50567d Mention the buildkernel/installkernel targets in the documentation. 2000-07-31 09:26:59 +00:00
alfred
36e9193ef5 mbstat should be a read-only sysctl.
Submitted by: Bosko Milekic <bmilekic@dsuper.net>
2000-07-31 09:24:32 +00:00
alex
753cf540b9 Reflect reality:
- Make world doesn't build the modules any more.
- Mention the buildkernel/installkernel targets as common used targets.
- LINT has gone, NOTES is new but cannot be built.  It is a pure reference
  file.  However, I still mentioned LINT but pointed out the difference
  between the ancient LINT and the new NOTES.  This should avoid confusion.
- crypto/ subdir isn't export controlled any more.
2000-07-31 09:22:50 +00:00
ps
7961d6fd99 Remove unnecessary call to splnet when setting an accept filter
since we are already at splnet.
2000-07-31 08:23:43 +00:00
mpp
44f29410ce Xref strfile(8).
PR:		misc/20304
Submitted by:	Kim Scarborough <sluggo@unknown.nu>
2000-07-31 07:28:16 +00:00
peter
dbb716bd06 Add pointers to rfork_thread(3) 2000-07-31 05:43:43 +00:00
ache
785cf59e07 Add #ports/hebrew 2000-07-31 04:14:52 +00:00
asami
6ad510b9f7 Add hebrew. 2000-07-31 00:16:28 +00:00