12138 Commits

Author SHA1 Message Date
msmith
ac6a24ba47 Remove some debugging code.
Do a much better job of DWIM with partial device specifications.
Fix the module metadata build process, which was completely broken.
Use a larger read buffer when copying large objects in; this
improves performance marginally and will avoid flushning any small caches
we might choose to implement.
1998-10-09 07:11:19 +00:00
msmith
67ce8300f6 Sync the MODINFO constants with <sys/linker.h>
Remove debugging in command_read().
Correctly strip leading controls on script commands.
Make 'ls' more DWIM in regard to pathnames.  We can still do better.
1998-10-09 07:09:22 +00:00
msmith
90918b0880 MODINFO_NAME can't be 0, that's the end of the metadata area. 1998-10-09 07:06:43 +00:00
jkh
ff1c526f59 Add some evil temporary phys-to-kern translation for mfs. 1998-10-09 06:21:12 +00:00
wpaul
b3de6c4a6a Add support for yet another "cyclone" board, with PCI device id 0x905A.
This is a 100BaseFX board with SC fiber media connectors. I don't actually
have one of these but I've been told it works with the xl driver.

Submitted by: Jason Wright from the openbsd group
1998-10-09 03:59:24 +00:00
msmith
5164883728 Missing defines for the kernel environment and module metadata lookup
functions
1998-10-09 01:44:09 +00:00
jkh
b222d6d82f include proper header for Mike's new stuff. 1998-10-09 01:40:56 +00:00
msmith
d8d7e646f4 Kernel environment access, preloaded module lookup. 1998-10-09 00:31:29 +00:00
msmith
0d4797aebc Initialise kernel environment and module metadata pointers. 1998-10-09 00:31:06 +00:00
msmith
6f4943246a New files for kernel environment and module metadata interfaces. 1998-10-09 00:30:50 +00:00
jdp
2846983609 Fix a panic on SMP systems, caused by sleeping while holding a
simple-lock.

The reviewer raises the following caveat: "I believe these changes
open a non-critical race condition when adding memory to the pool
for the zone. I think what will happen is that you could have two
threads that are simultaneously adding additional memory when the
pool runs out. This appears to not be a problem, however, since
the re-aquisition of the lock will protect the list pointers."
The submitter agrees that the race is non-critical, and points out
that it already existed for the non-SMP case.  He suggests that
perhaps a sleep lock (using the lock manager) should be used to
close that race.  This might be worth revisiting after 3.0 is
released.

Reviewed by:	dg (David Greenman)
Submitted by:	tegge (Tor Egge)
1998-10-09 00:24:49 +00:00
jkh
ababcfc884 Allow the module area to be used in order to find the MFS image
(in addition to allowing it to be compiled in) and stop overloading
the MFS_ROOT variable to store size information.
1998-10-08 23:34:44 +00:00
msmith
0a6f31055f Fix up the kernel environment and module data pointers in the bootinfo if
they are present.
If we are told where the end of the loaded kernel image is, believe it.
1998-10-08 21:03:41 +00:00
des
e3725de368 Make that annoying "device busy" message dependent on DEBUG (using the
DEB macro). There are probably quite a few other messages that warrant
a similar treatment, and many more that should be converted to plain
log messages (e.g. "WARNING: wrintr but write DMA inactive!"). Now
that I think of it, same goes for the CAM code (e.g. the famed "tagged
openings" message)
1998-10-08 20:55:54 +00:00
kato
f20c820e31 Discard previous commit. 1998-10-08 17:20:58 +00:00
kato
57d35933f2 Oops, discard my previous commits becase sumitted code is for RELENG_2_2. 1998-10-08 17:16:41 +00:00
kato
7dc0c1a3d6 Add entry for EtherEZ98 and Access/PC N98C+ cards.
Reviewed by:	kato
Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
1998-10-08 17:07:44 +00:00
kato
b1846b499f Add ungermann-Bass Access/PC N98C+ support to fe driver (PC-98).
Reviewed by:	kato
Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
1998-10-08 17:06:32 +00:00
kato
4d4145bdee Add SMC EtherEZ98 support to ed driver (PC-98).
Reviewed by:	kato
Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
1998-10-08 17:04:59 +00:00
kato
29d7df02f8 BIOS ROM base address is 0xe8000 on PC-98. 1998-10-08 16:15:22 +00:00
wpaul
d0066a99a0 Correctly update the tail pointer of the transmit queue in tl_start()
(one-liner). I have yet to actually encounter any problems due to this
bug, but why take chances.
1998-10-08 15:45:36 +00:00
kato
e52e6a8d2c Sync with sys/i386/conf/GENERIC revision up to 1.123. 1998-10-08 12:10:07 +00:00
kato
a36bbf007a Sync with sys/i386/i386/userconfig.c revision 1.111. 1998-10-08 12:09:38 +00:00
sos
8b065be54c Remove debug output on disk change. 1998-10-08 06:41:44 +00:00
ken
68c2a3a49f Add the quirk entry framework to handle disabling the synchronize cache
command on drives that don't like it.  Right now, there's just a bogus
quirk entry in the table that doesn't do anything, but that should be
changed once we get actual inquiry data for drives that don't like the
synchronize cache command.

Also, add a shutdown hook that runs through all direct access peripherals
and runs a synchronize cache on them if they're still open, and if
synchronize cache isn't disabled via a quirk entry.

Add a synchronize cache call at the end of dadump() (again, conditionalized
on the quirk entry), so we can insure that the disk cache contents get
flushed to physical media after a dump.

Check the new quirk entry in daclose() to decide whether or not to
synchronize the cache for a disk at final close.

Reviewed by:	gibbs
1998-10-08 05:46:38 +00:00
alex
06ba723cf3 Check the timeval passed to BIOCSRTIMEOUT with itimerfix. Use tvtohz()
to convert the timeval into a tick count.

Suggested by:	bde
Reviewed by:	bde

Handle hz > 1000 in BIOCGRTIMEOUT.

Pointed out by:	bde
Reviewed by:	bde
Obtained from:	OpenBSD
1998-10-08 00:32:08 +00:00
des
8f4fb55b82 Add missing newline in probe message.
PR:		kern/8168
Submitted by:	Stefan Eggers <seggers@semyam.dinoco.de>
1998-10-07 14:42:24 +00:00
luoqi
b09f25123d Use vm_page_xxx() inline functions to manipulate vm_page::flags, vm_page::busy.
As a side effect, a few wakeup() calls are added, which might fix some of the
missing vm_page wakeups people have been seeing.

Reviewed by:	Doug Rabson	<dfr@nlsystems.com>
1998-10-07 13:59:26 +00:00
obrien
0d6146b8ef Fix syntax errors I introduced. 1998-10-07 13:51:46 +00:00
peter
e21834764b Fix that pesky boot aguments parsing bug. (I think :-) 1998-10-07 10:55:46 +00:00
msmith
aaa2a6fba9 Request the flags back when checking for keyboard status.
Submitted by:	rnordier
1998-10-07 07:34:31 +00:00
gibbs
8ea5e0c143 Add entries for the adw device driver. 1998-10-07 03:42:44 +00:00
gibbs
c3bd7bdfdd ahc_pci.c:
Disable DPARCKEN in the DSCOMMAND0 register on the aic7890/91/96/97.
	Parity checking is broken for some chip/MB combinations and this
	is the work around recommended by Adaptec.

dpt_pci.c:
	Remove a superflous '{' that prevented DPT_ALLOW_MEMIO from working.

pcireg.h:
	Add a definition for Parity Error Reponse bit in the PCI Space
	command register.
1998-10-07 03:40:51 +00:00
gibbs
04f5e2e068 Fix a parent tag reference count bug during tag teardown.
Enable optimization for nobounce_dmamap clients by setting the map
held by the client to NULL.  This allows the macros in bus.h to check
against a constant to avoid function calls.

Don't attempt to 'free()' contigmalloced pages in bus_dmamem_free().
We currently leak these pages, which is not ideal, but is better than
a panic.  The leak will be fixed when contigmalloc is merged into the
bus dma framework after 3.0R.
1998-10-07 03:38:14 +00:00
gibbs
0c2fc2fa25 Add a missing newline. 1998-10-07 03:34:13 +00:00
gibbs
d925bde25d Don't set the active flag on a transaction resource until it has been
queued.

Perform dma segment setup outside of splcam protection as this can take
some time and the protection is not necessary.

Inline a function.

Clean up some whitespace.
1998-10-07 03:32:57 +00:00
gibbs
848e5bffcd Add ADW_ALLOW_MEMIO and DPT_ALLOW_MEMIO. Until our configuration
framework properly detects broken PCI-PCI bridges, users will have to
manually enable memory mapped I/O for these drivers. <sigh>
1998-10-07 03:30:55 +00:00
gibbs
45e0ab6055 Add a quirk entry for the CFP2107, another drive with broken
tagged queuing support.

Ensure that we report that a device supports tagged queuing even if
the system is waiting a "command count delay" before starting to use
them.

If a user disables disconnects on a device ensure that tagged queuing
is also turned off.  We did the right thing during initial configuration,
but could be confused by manual changes.
1998-10-07 03:25:21 +00:00
gibbs
b397316abd Add support for the ASC3550 AdvanSys SCSI Host Controller (aka 940UW). 1998-10-07 03:20:52 +00:00
imp
213e62e351 Up the read capacity timeout from 20 seconds to 60 seconds to keep my
JAZ drive happy.  This shouldn't impact fast drives, and will keep cam
from failing on very slow ones (that are spinning up, say).  20
seconds was almost long enough, but not in all cases.

Suggested by: gibbs
1998-10-07 03:09:19 +00:00
ken
e99a1c7e41 Some fixes for the CD and DA drivers from bde. (and some of my own as
well)  Among them:

[ cd driver ]
1. Old labeling code was still there.
2. Error handling for dsopen() was broken (no test for the `error'
   returned by dsopen(); bogus test of an `error' that is known to be 0).
3. cdopen() closed the physical device after certain errors although there
   may still be open partitions on it.
4. cdclose() closed the physical device although there may still be open
   partitions on it.
5. Some printf format fixes was incomplete or missing.
6. cdioctl() truncated unit numbers mod 256.
7. cdioctl() was missing locking.

[ da driver ]
1. daclose() closed the physical device although there may still be open
   partitions on it.  This was fixed many years ago in sd.c rev.1.57.
2. A minor optimization (the dk_slices != NULL test) in sdopen() became
   uglier in daopen().  It is not worth doing.  da only regressed compared
   with od and my version of sd, since I never committed the change to sd.
   daopen() should probably do less if some partition is already open.
   This is not addressed by the diffs.
[ ... ]
5. "opt_hw_wdog.h" was not included, so the HW_WDOG code was unreachable.

- Added a getdev CCB call in the cdopen() and daopen() calls so that the
  vendor name and device name are available for the disklabel.  (suggested
  by bde)

- Removed vestigal devfs support in both drivers, since we can't properly
  work with devfs yet.  (ask bde for details on this)

- Cleaned up the probe code in both drivers in the failure cases.  There
  were a number of things wrong here.  The peripheral driver instances
  weren't getting properly cleaned up.  Sometimes the wrong probe message
  would get printed out (with the failure message appended), so it wasn't
  very clear that we failed to attach.  SCSI sense information was printed,
  even when the error in question wasn't a SCSI error.  I put similar fixes
  into the changer driver in revision 1.2 of scsi_ch.c.

Reviewed by:	gibbs
Submitted by:	bde (partially)
1998-10-07 02:57:57 +00:00
msmith
29868f7f79 Enable the DOS filesystem. NOTE: you will have to rebuild libstand in
order to be able to build again.
1998-10-07 02:39:32 +00:00
msmith
87bb4f6f57 - Drain the keyboard buffer when initialising.
- Be pedantic about the return from int 16 fn 01.
1998-10-07 02:39:06 +00:00
msmith
387d0e8c2b - VERBOSE_LS is obsolete, as the heap is much better behaved now.
- Don't whine about nodes we can't stat(); these are usually
   symlinks that lead out of the filesystem.
 - Autoboot is now controlled by $autoboot_delay, which is a value
   in seconds or NO to disable autoboot.
 - Don't autoboot at the end of boot.conf if we have already tried.
 - Add a 'read' command to complement 'echo'.  Both are still hidden.
 - Improve the 'source' command/function so that it is possible to
   source scripts off removable media.  The entire script is read and
   saved before beginning execution.  Script lines beginning with
   '@' will not be echoed when being executed.  Script execution will
   normally terminate at the first error, however if the script line
   begins with '-' this behaviour is overriden for that command.
1998-10-07 02:38:26 +00:00
msmith
436333e172 VERBOSE_LS is obsolete 1998-10-07 02:33:01 +00:00
alex
6d718e342c Cast the return value of tvtohz() from a long to an int to satisfy the
compiler that we know what we're doing (the value returned has already
been restricted to int ranges).

Reviewed by:	bde
1998-10-06 23:17:44 +00:00
joerg
5ac8fdd716 Minor cleanup: kill a couple of unused variables, and a couple of
uninitialized variables.

Obtained from:	The isdn4bsd project (partially)
1998-10-06 21:12:45 +00:00
joerg
cc7de0de26 In an attempt to reduce the huge number of differences between the
FreeBSD repository version of this file and the isdn4bsd version,
adopt those changes from the i4b version that make this file
BSD-version independent.  I attempted to avoid uglifying this file too
much, thus deviated a little from the i4b version (and hope they will
adopt the changes, too).

The diffs mostly concentrate on:

. #include differences between the systems
. different callout handling between FreeBSD vs. Net/OpenBSD
. interface naming (Net/OpenBSD store the ASCII name including the
  unit # in struct ifnet, FreeBSD only the name)
. use of random() in FreeBSD vs. time-based pseudo-randomization in
  Net/OpenBSD (for loopback detection ad CHAP challenges -- i
  assume at least OpenBSD could also benefit from random(), but that's
  the way i've got this file)
. interface address list elements are named a little differently
  between FreeBSD and Net/OpenBSD

I attempted to segregate those compat fixes from other code fixes and
enhancements.

Obtained from:	The isdn4bsd project
1998-10-06 20:47:53 +00:00
ken
c621cf717d Disable multi-lun probing and serial number inquiries for the Exabyte 8200. 1998-10-06 19:27:19 +00:00
dfr
685a5b889f Add functions for accessing dense and bwx memory for pci devices. These
routines are necessary to allow the use of certain types of hardware on
the alpha, particularly a Myrinet card.

Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>
1998-10-06 14:18:40 +00:00