Justin T. Gibbs [Mon, 8 Mar 1999 22:42:52 +0000 (22:42 +0000)]
Add necessary splcam() protection around target mode setup and teardown
routines as well as card access that occurs for the AC_LOST_DEVICE async
event.
Justin T. Gibbs [Mon, 8 Mar 1999 21:35:03 +0000 (21:35 +0000)]
Ask the card where our interrupt is instead of attempting to use the EISA
config info. On early revision cards (742a), the EISA register space,
other than the location used to determine the address of the card's main
command ports, is write only.
Justin T. Gibbs [Mon, 8 Mar 1999 21:32:59 +0000 (21:32 +0000)]
Pull 'ISA style' probe where interrupt information is determined through
commands sent to card, into the base driver module. It is now used for
EISA board probes too.
Fix a number of memory leaks and other memory-related disorders.
Also, unbreak the breakage introduced at the last revision of module.c.
This changes the semantics of mod_searchfile() (and mod_searchmodule())
to make the caller's responsibility freeing the buffer returned. This
is different from other functions in loader's code, and was done as a
fix for kern/9631. If someone wants to revert this to the original
behavior, don't forget to fix kern/9631 in another way.
This should also fix bin/10462, which was introduced as a result of the
first try at kern/9631 (module.c last revision).
The 4 gig version of the Seagate Medalist Pro seems to have the same
trouble with tagged queueing as the 6.5 gig version.
So, I've added a quirk entry for it to limit it to two outstanding
transactions at a time, just like the 6.5G version. While I'm at it, add a
quirk for the 9G version of the drive, since it most likely has the same
problem.
Brian Somers [Sun, 7 Mar 1999 18:23:56 +0000 (18:23 +0000)]
Upgrade (almost) to natd 2.0b1
- Transparent proxy support.
- PERMANENT_LINK IS NOW OBSOLETE, use redirect_port instead.
- Drop support for early FreeBSD 2.2 versions
- If separate input & output sockets are being used
use them to find out packet direction instead of
normal mechanism. This can be handy in complex environments
with multiple interfaces.
- PPTP redirect support by Dru Nelson <dnelson@redwoodsoft.com> added.
- Logging enhancements from Martin Machacek <mm@i.cz> added.
Doug Rabson [Sun, 7 Mar 1999 16:06:41 +0000 (16:06 +0000)]
* Register sysctl nodes before running sysinits when loading files and
unregister them after sysuninits when unloading.
* Add code to vfs_register() to set the oid number of vfs sysctls to
the type number of the filesystem.
Bill Paul [Sun, 7 Mar 1999 04:39:25 +0000 (04:39 +0000)]
Also add 1000baseSX, 1000baseLX, 1000baseCX and 1000baseTX media types. At
this point I don't know if there are any actual gigabit ethernet devices
that support media other than 1000baseSX (multi-mode fiber) but who knows.
Brian Somers [Sun, 7 Mar 1999 01:02:39 +0000 (01:02 +0000)]
Reopen descriptor 0 as /dev/tty when in interactive mode
in OpenBSD as well as FreeBSD (I still don't know why).
Add a debug diagnostic when creating a child process as
a link.
Archie Cobbs [Sat, 6 Mar 1999 23:10:42 +0000 (23:10 +0000)]
When an incoming packet is reflected back as an ICMP reply, make sure we
zero "m->m_pkthdr.rcvif", otherwise ipfw may wrongly match the outgoing packet.
PR: kern/9723
Submitted by: David Malone <dwmalone@maths.tcd.ie>
Garrett Wollman [Sat, 6 Mar 1999 22:27:02 +0000 (22:27 +0000)]
Fix callout_init(). This didn't have any practical effect since it
was only used to initialize the static timeouts, which unconditionally
clears the only bits which could have caused problems.
Alan Cox [Sat, 6 Mar 1999 07:11:33 +0000 (07:11 +0000)]
Upgrading a map's lock to exclusive status should increment
the map's timestamp. In general, whenever an exclusive lock is
acquired the timestamp should be incremented.
Bruce Evans [Sat, 6 Mar 1999 05:21:09 +0000 (05:21 +0000)]
Don't depend on <ufs/ufs/quota.h> or another (old) prerequisite including
<sys/queue.h>. This fixes my recent breakage of biosboot by unpolluting
<ufs/ufs/quota.h> in the !KERNEL case.
Garrett Wollman [Sat, 6 Mar 1999 04:46:20 +0000 (04:46 +0000)]
Expose a slightly-lower-level interface to timeouts which allows callers
to manage their own memory. Tested on my machine (make buildworld).
I've made analogous changes on the alpha, but don't have a machine
to test.
Justin T. Gibbs [Fri, 5 Mar 1999 23:35:48 +0000 (23:35 +0000)]
Keep track of negotiated transfer parameters for each initiator<->target
connection.
Clean up support for devices featuring the multiple target SCSI ID feature.
On aic7890/91/96/97 chips, we can now assume the target role on multiple
target ids simultaneously. Although these chips also have sufficient
instruction space to hold to support the initiator and target role at the
same time, the initiator role is currently disabled as it will conflict
(chip design restriction) with the multi-tid feature. I'll probably add
a nob to enable the initiator (there-by disabling multi-tid) some time
in the future.
Return queue full or busy, depending on the tagged nature of the incoming
request, if our command input queue fills up in host memeory.
Deal with accept target I/O resource shortages.
If we get an underrun on a transaction that wasn't supposed to transmit
any data, don't attempt to print out the S/G list. The code would
run until hitting a non-present page. (oops)
Justin T. Gibbs [Fri, 5 Mar 1999 23:25:11 +0000 (23:25 +0000)]
Implement the control device for the "targ" target mode processor target
emulator so that instances can be dynamically added and removed from the
system.
Properly reference count peripheral instances so they are cleaned up when
destroyed by the control device.
Set a timeout for test unit ready commands. Before it was uninitialized
and could cause us to drop off the bus when no real timeout had occurred.
Justin T. Gibbs [Fri, 5 Mar 1999 23:18:16 +0000 (23:18 +0000)]
Protect access to the EDT with splcam() to protect against corruption
caused by temporary EDT allocations performed by controller drivers in
their interrupt routiens.
Reference count bus entries in the EDT in preparation for support for
dynamic controller arrival and departure.
Have children of the EDT hold references to their parents.
Correct routing of the XPT_IMMED_NOTIFY ccb type for use in
target mode applications.
Fix a few cases where the generation count for EDT data members was
not being updated when a modification occurred.
splcam() problem Noticed by: Tor Egge <tegge@FreeBSD.org>
Justin T. Gibbs [Fri, 5 Mar 1999 23:12:02 +0000 (23:12 +0000)]
Allocate a target mode instance to handle our target mode session, clean
it up on exit. The address for attaching the emulator (path, target id,
lun) is now specified on the command line. Some attempt at cathing
signals and cleaning up target mode instances is now made.
Bruce Evans [Fri, 5 Mar 1999 19:27:22 +0000 (19:27 +0000)]
Fixed bitrot in the types of fusword() and susword(). swords will
probably always be 16 bits if they exist at all, and fusword() and
susword() are only used in i386 code, so there aren't any portability
functions with them.
Bruce Evans [Fri, 5 Mar 1999 16:38:13 +0000 (16:38 +0000)]
The magic "no-cpu" cpu number is 0xff. Don't misrepresent cpu
numbers as chars or use bogus casts in an attempt to unmisrepresnt
them. In top, don't assume that 0xff is the only negative cpu
number when cpu numbers are (mis)represented.
Bruce Evans [Fri, 5 Mar 1999 14:43:29 +0000 (14:43 +0000)]
Don't use backslash-newline to split the too-long line for
".Fn dialog_ftree ...", since my synopsis checker doesn't support it
and no other too-long .Fn lines are split.
Bruce Evans [Fri, 5 Mar 1999 12:56:37 +0000 (12:56 +0000)]
The pseudocode in the synopsis didn't come close to actually
compiling, since <stdio.h> correctly doesn't declare off_t although
the pseudo-prototypes for the new fseeko() and ftello() functions
use it. Handle this like the corresponding problem for va_list
versus the vprintf() family.
Bruce Evans [Fri, 5 Mar 1999 11:25:31 +0000 (11:25 +0000)]
Moved kernel declarations inside the KERNEL ifdef, and removed
include of <sys/queue.h> in the !KERNEL case. The prerequisites
for <ufs/ufs/quota.h> were broken in Lite2 by converting some of
the kernel declarations to use queue macros without including
<sys/queue.h>. <sys/queue.h> was included in applications in
/usr/src instead. We polluted this file instead of merging the
changes in the applications.
Include <sys/queue.h> in the KERNEL case, and forward-declare all
structs that are used in prototypes, so that this file is almost
self-sufficient even in the kernel.
Bruce Evans [Fri, 5 Mar 1999 10:29:34 +0000 (10:29 +0000)]
Backed out most of rev.1.4. I didn't submit it; I only submitted a
request for it something like it. It was poorly worded and too
far from both POSIX wording and normal (mal)practice by referring to
sysconf(_SC_NGROUPS_MAX) instead of {NGROUPS_MAX} or NGROUPS. POSIX.1
uses curly braces to mark up "symbolic constants or limits [that may
be] defined in certain headers". Since we don't document this markup,
don't use it. Just use NGROUPS_MAX.
Søren Schmidt [Fri, 5 Mar 1999 09:43:30 +0000 (09:43 +0000)]
Now all actual probing of both ATA & ATAPI devices are done after
interrupts are enabled, this kills the last "unwanted interrupts"
(and there is no ugly hacks like in the old driver to avoid them).
COmmand interrupt devices are now supported, this applies mostly
to older CDROM's and apparently also the ZIP.
Fixed problems:
Number of total sectors wrong on some older drives.
Fixed by not using the LBA size unless we know its valid.
There has also been more general code clenaups, some reorgs also.
Bruce Evans [Fri, 5 Mar 1999 09:28:33 +0000 (09:28 +0000)]
Changed the type of quotactl()'s 4th arg from `char *' to `void *'
so that non-sloppy applications can call it without using disgusting
casts to avoid warnings. The 4th arg is sort of varargs -- it must
sometimes represent a filename, sometimes a struct pointer, and is
sometimes unused. The arg type is still caddr_t in the kernel.
Alan Cox [Fri, 5 Mar 1999 08:05:44 +0000 (08:05 +0000)]
Fix an SMP-only TLB invalidation bug. Specifically, disable
a TLB invalidation optimization that won't work given the
limitations of our current SMP support.
This patch should be applied to -stable ASAP.
Thanks to John Capo <jc@irbs.com>,
Steve Kargl <sgk@troutmask.apl.washington.edu>, and
Chuck Robey <chuckr@mat.net>
for testing.