ken [Fri, 16 Oct 1998 21:12:07 +0000 (21:12 +0000)]
Add in the adv(4) and adw(4) man pages for the AdvanSys narrow and wide
SCSI controllers, respectively.
Once these drivers are tested on the alpha, these man pages can probably be
moved up a directory to reflect the fact that they're architecture
independent.
An mdoc guru should probably look at the AUTHORS sections in both of these
pages -- the .An macro seems to cause strange spacing problems.
bde [Fri, 16 Oct 1998 16:53:15 +0000 (16:53 +0000)]
Split up rule for ${COMMONHDRS} so that `make -j N' doesn't create the
6 headers up to 6 times concurrently. Debugged by Don Lewis
(Don.Lewis@tsc.tdk.com).
bde [Fri, 16 Oct 1998 15:33:17 +0000 (15:33 +0000)]
Generate code to interpret ioctl numbers for all ioctls defined in
headers under /usr/include, not just for the ones in <sys/ioctl.h>.
The generated file includes all headers that seem to define ioctls,
so build errors will probably occur if headers become less self-
sufficient than they are already. This is a feature. Build errors
shall not be fixed by adding more includes here.
Optionally generate a case statement instead of a list of if
statements. This source must be edited to change this. The case
statement should be non-optional. It currently can't be, because
many ioctl numbers are not unique.
bde [Fri, 16 Oct 1998 15:00:18 +0000 (15:00 +0000)]
Don't generate unused file ioconf.h.
Didn't bump CONFIGVERS, since ioconf.h was already unused when
CONFIGVERS was last bumped (although essentially the same (CAM)
commit batch that bumped CONFIGVERS also added bogus includes of
ioconf.h).
bde [Fri, 16 Oct 1998 14:22:54 +0000 (14:22 +0000)]
Fixed missing directories in the libraries target:
- in the elf case, csu must be built and installed before any shared
libraries. It wasn't, but we usually used a stale version that
happened to work. E.g., in the !NOTOOLS case we used the version
built and installed by the bootstrap-libraries target. Only cross
building was completely broken.
- the shared libmd must be built and installed before any shared
libraries that link to it. It wasn't, but we sometimes used a stale
version that happened to work, as above. For elf, this caused
bogus linkage of the target shared libatm and libopie with the host
static libmd. It isn't clear what this actually breaks, except for
cross compiling. For aout, the shared libmd is not built at all, so
all shared libraries linked to libmd may be broken. The linker
reports them by spewing RRS warnings.
Note that building src/lib early and building subdirs of src/lib in
the correct order in src/lib/Makefile doesn't help, since the subdirs
are all built before any are installed.
Fixed bitrot in the comments about the ordering requirements.
peter [Fri, 16 Oct 1998 04:30:52 +0000 (04:30 +0000)]
Sample initial set of kld-ified modules. Not all have been completely
converted yet. These are more of a starting point. This is NOT connected
to the parent Makefile.
peter [Fri, 16 Oct 1998 03:55:01 +0000 (03:55 +0000)]
*gulp*. Jordan specifically OK'ed this..
This is the bulk of the support for doing kld modules. Two linker_sets
were replaced by SYSINIT()'s. VFS's and exec handlers are self registered.
kld is now a superset of lkm. I have converted most of them, they will
follow as a seperate commit as samples.
This all still works as a static a.out kernel using LKM's.
peter [Fri, 16 Oct 1998 03:04:15 +0000 (03:04 +0000)]
"fix" the gzipped kernel load problem by having the loader check that it
can seek back to the first PT_LOAD and doing a close/reopen if it cannot.
This is because the first PT_LOAD section includes the ELF headers.
This fixes gzipped kernels on the i386, it should solve mike's problem
for the Alpha.
ken [Fri, 16 Oct 1998 00:26:28 +0000 (00:26 +0000)]
Change the worm(4) man page to note that there is no longer a worm(4)
driver, and point users in the right direction for similar functionality.
The functionality that used to be provided there is now provided by the
cd(4) driver and cdrecord.
Fix cross-references in a few other man pages. (i.e. delete references to
things I haven't written yet)
gibbs [Thu, 15 Oct 1998 23:49:27 +0000 (23:49 +0000)]
-Wunused cleanup.
Correct a problem where an external bus reset on the 'background' channel of
a Twin Channel EISA controller could put the driver into an infinite loop.
gibbs [Thu, 15 Oct 1998 23:17:35 +0000 (23:17 +0000)]
Add a mechanism to send a non-tagged transaction even if a device is
currently operating in a tagged mode. The SIM driver should determine
if a device is in tag mode by looking at the CAM_TAG_ACTION_VALID flag
in the ccb header. If the flag is set, the tag_action field is either
a SCSI II tag message (simple, ordered, head) or CAM_TAG_ACTION_NONE
to specify that no tagging should be performed.
dfr [Thu, 15 Oct 1998 22:00:54 +0000 (22:00 +0000)]
Fix a typo preventing the correct value of kernend from being picked up
from the bootstrap. Also change some debug printfs from #if 0 to
#ifdef DEBUG_CLUSTER to make it easier to debug startup memory problems.
ken [Thu, 15 Oct 1998 19:08:58 +0000 (19:08 +0000)]
Fix several potential buffer overrun conditions. These changes have been
tested both in the kernel and in userland. Also, fix a couple of printf
warnings that show up when CAMDEBUG is defined.
gibbs [Thu, 15 Oct 1998 18:21:50 +0000 (18:21 +0000)]
Bring back support for honoring the primary channel setting for twin channel
EISA adapters. This could have caused the system to find the wrong root
disk.
peter [Thu, 15 Oct 1998 17:16:24 +0000 (17:16 +0000)]
- bzero() after malloc() bug fix
- look up relocation symbol names in correct table bugfix.
- remove unused (initialized to 0) variable and conditional free() of it.
peter [Thu, 15 Oct 1998 17:12:12 +0000 (17:12 +0000)]
- bzero() after malloc(). This is especially obvious when kern_malloc is
compiled with DIAGNOSTIC.
- Don't break from the preload module processing loop prematurely.
peter [Thu, 15 Oct 1998 17:09:19 +0000 (17:09 +0000)]
Fix sysinit_add().
- Don't include multiple copies of the previous sysinit in the new one.
- Leave space for and explicitly null terminate the new list.
bde [Thu, 15 Oct 1998 14:15:09 +0000 (14:15 +0000)]
Fixed breakage of gdbreplay's and gdbserver's BINDIR in previous commit.
They may belong in /usr/libexec/{aout,elf}, but objformat doesn't
support that.
jkoshy [Thu, 15 Oct 1998 13:00:34 +0000 (13:00 +0000)]
Fix a serious bug in make(1)'s handling of archive libraries.
This case did not need to be tested when RANLIBMAG was defined
(as when in an `aout' environment) because Arch_StatMember() treated
the two cases of the library not being present and a member of
the library not being present the same way, forcing a rebuild
of the library. Since in the ELF environment we don't look inside
archive libraries we now need to check if the archive library is
present in order to determine its `out-of-date'-ness.
(I hope I've been able to meet the Oct 15th freeze).
Reported-by: Steve Price (and a few others whom I've forgotten, sorry)
peter [Thu, 15 Oct 1998 00:19:08 +0000 (00:19 +0000)]
Add objformat links for gdb and (while we're at it) c++filt.
This means we can (assuming an a.out gdb is present) debug a.out kernels
and crashdumps with gdb -aout.
ken [Wed, 14 Oct 1998 22:51:51 +0000 (22:51 +0000)]
Narrow the quirk entry for the Seagate Elite 9 a bit to just cover drives
with 71* firmware revisions. Scott Mace <smace@intt.ORG> reports that
drives with 00* firmware revisions do tagged queueing just fine.
ken [Wed, 14 Oct 1998 21:17:39 +0000 (21:17 +0000)]
Disable tagged queueing for the Seagate Elite 9GB drives. They tend to get
hung up when you send tags to them too quickly. (CAM is able to recover
from the problem, but this just avoids it altogether.)
Reviewed by: gibbs
Reported by: Bret Ford <bford@uop.cs.uop.edu>
and: Martin Renters <martin@tdc.on.ca>
ken [Wed, 14 Oct 1998 20:44:05 +0000 (20:44 +0000)]
Disable the 'devstat_end_transaction' busy count printf until after 3.0
release goes out the door. We know there's a bug in the devstat
implementation in the wd driver, but bde and msmith haven't been able to
fix it yet.
So, disable the printf to avoid confusing/worrying people.