gallatin [Mon, 18 Oct 1999 17:55:38 +0000 (17:55 +0000)]
Increase the timeout to be 3*hz. This recalibrates the timeout so that
it has the same value on all platforms. Previously it was just under
3 seconds on x86 (typically hz<=128) and just under 1/3 of a second on
alpha (typically hz>=1024). This covers up a race between ad_interrupt()
and ad_timeout() which is being looked into.
phk [Mon, 18 Oct 1999 16:59:50 +0000 (16:59 +0000)]
Change the default for the vfs.bdev_buffered sysctl to zero.
This means that access to block devices nodes will act the
same as char device nodes for disk-like devices.
If you encounter problems after this, where programs accessing
disks directly fail to operate, please use the following command
to revert to previous behaviour:
sysctl -w vfs.bdev_buffered=1
And verify that this was indeed the cause of your trouble.
See the mail-archives of the arch@FreeBSD.org list for background.
ache [Mon, 18 Oct 1999 16:30:35 +0000 (16:30 +0000)]
For emacs key binding clearly describe ^t/^u as "begin of file"/"end of file"
Old description "start of text"/"end of text" is too confusing assuming
text currently visible on the screen
mdodd [Mon, 18 Oct 1999 04:27:33 +0000 (04:27 +0000)]
This fixes the problem with SMC NE2000 cards hanging the box on
bootup. Somehow my backout of an abortaive attempt at shared
memory autoconfiguration included this line:
sc->mem_shared = 1;
Which is fairly important as it turns out.
Since I performed my pre-commit testing on a different box with a generic
NE2000 I didn't catch this. Pointy hat.
grog [Sun, 17 Oct 1999 23:55:10 +0000 (23:55 +0000)]
launch_requests:
Put splbio protection around the main launch loop. We've seen cases where
the bottom half was cutting off the branch on which we're sitting.
Experienced-by: Michael Reifenberger <root@nihil.plaut.de>
dwhite [Sun, 17 Oct 1999 22:42:57 +0000 (22:42 +0000)]
Reverse the sense of the /mnt/boot/defaults dir check. This was causing
the bootloader to not load the loader.conf and thus the MFS image. The result
was 'panic: no init'.
mjacob [Sun, 17 Oct 1999 19:03:11 +0000 (19:03 +0000)]
Add in inclusion of machine/md_var.h (so alpha_scsi_bus_register or what
have you is prototyped). Removed code versions in md struct- not used
any more. Allocate transfer dma maps and xflist stuff in mbxdmasetup based
upon isp->isp_maxcmds. Allow for multiple calls to mbxdmasetup (for
isp_reset cases).
mjacob [Sun, 17 Oct 1999 18:58:22 +0000 (18:58 +0000)]
Remove some target mode stuff. It will get re-introduced in a different
file later. Do some pencil-sharpening types of minor changes. Change
how active commands are remembered (using new inline functions to get
handles, etc..). Now do a GET FIRMWARE STATUS after firing up the f/w as
outgoing mailbox 2 will tell you the f/w's notion of the max commands
that can be supported. Attempt to retrieve loop topology. Add in the
appropriate SWIZZLE/UNSWIZZLE macros calls (this is a no-op on Little
Endian machines but is needed for sparc (on other platforms)). Move
the temp port database we use to find out where things have moved to
after a LIP to the softc and off the kernel stack. Follow Qlogic's
hint and don't bother setting a tag for commands that don't have
this enabled (presumably the f/w will do it's own selection then).
Use an INT_PENDING macro to check for an interrupt. The call to
ISP_DMAFREE now just takes the handle- not the 'handle-1' which was
a layering violation. Use CFGPRINTF in a couple of places to make
things less chatty if not booting verbose, or CAMDEBUG compiles, etc..
mjacob [Sun, 17 Oct 1999 18:50:47 +0000 (18:50 +0000)]
Add in isp_debug variable. It defaults to zero unless CAMDEBUG is defined
where it defaults to one. Change simq width allocation to the max number
of commands supported by the HBA after f/w fires up- not the constant
MAXISPREQUEST value. Do some stylistic changes.
mjacob [Sun, 17 Oct 1999 18:48:16 +0000 (18:48 +0000)]
Roll platform major && minor (major now tracks FreeBSD major release).
Add in null SWIZZLE definitions. Add in CFGPRINTF define. Change default
debug level to refer to an external isp_debug variable. Remove inline
functions as they're now in isp_inline.h and include that file.
mjacob [Sun, 17 Oct 1999 18:45:31 +0000 (18:45 +0000)]
Roll core version number. Do some stylistic changes. Ensure that
the result queue length is never less than 64. Move (ick) temp port
database used for post-LIP merging off the kernel stack and put it
into the softc. Remove some target mode stuff which will come back
later in a different file. Change how the list of outstanding commands
are stored (now allocated at mailbox setup time to be just enough for
the max for a specific HBA which can vary). Keep a rotating seed of
the last index for this in the softc. Increase the count of active
commands from 10 to 16 bits.
green [Sun, 17 Oct 1999 16:26:58 +0000 (16:26 +0000)]
quoting << Martin_Blapp
- Completly changed the internals of umount(8). We do three
checks now to see if 'argv' is in the mounttable. It they
all fail, we return to main and print a warning.
- fixed the umount mount-order. The checks are rather complex
to do this. Cause umount(8) should also be able to unmount
several devices at once ('umount -a', 'umount -A',
'umount /mnt /mnt2'), the mount-order get's important.
I added checks to mark and unmark already unmounted devices.
- Various fixes with nfs-unmounts (no rpc-calls were done,
or they were done although there was an existing mount).
Since we allow overlay-mounts, we should also handle them
properly.
- Translate the deprecated nfs-syntax with '@' to ':' like
mount_nfs does. The ':' syntax has now precedence, but '@'
still works.
- 'umount -v' is now fixed for all cases and doesn't print
garbage like two times the mountpoint etc.
- removed non documented and useless umount '-F'.
- hanged nfsmounts can now unmounted 'without' any problems.
I've removed stat() and realpath() checks on the mountpoint.
Instead we just do a realpath() on the basedir of the
mountpath and add the dirname again.
Implemented this as an idea from phk. But there are still
vfs-restrictions if the nfs_mount is busy. If there are
unwritten metadata on a hanged nfs-mount, and we modify
nfs_vfsops.c to not return EBUSY, we get a deadlock :(
The problem has now moved from userland to kernel.
- removed the BUGS part from the umount(8) manpage.
- Converted it to ANSI C (more than 60% of the code have
changed).
Martin_Blapp
Fixed PR's
----------
o [1999/02/03] bin/9893 NFS umount of regular file impossible
s [1995/11/27] bin/841 stale nfs mounts cannot be umounted
o [1999/08/01] bin/12911 alfred NFS umounts are not properly done
if just the mountpoint gets umounted
Only partially solved:
----------------------
The problem is now in kernel:
o [1999/04/07] bin/11005 `umount -f' does not work if the
NFS-server is down.
PR: bin/9893 bin/841 bin/12911 bin/11005
Submitted by: Martin Blapp <mb@imp.ch>
newton [Sun, 17 Oct 1999 14:50:13 +0000 (14:50 +0000)]
Remove unnecessary includes.
phk's script walked through .c and .h files, but some of the ones on
the list are actually derived from sys/svr4/syscalls.master. Make
the necessary changes here and the others will implicitly follow...
mjacob [Sat, 16 Oct 1999 23:53:09 +0000 (23:53 +0000)]
Put an upper bound on the number of BUSY status retries we'll do (use the
retry count for the ccb). This is probably not quite the right thing, but it
is better than silently hanging on (possibly broken) h/w which is what we
do now.
Reviewed by:Justin/Ken: they weren't entirely happy about it but didn't say no.
mjacob [Sat, 16 Oct 1999 23:31:34 +0000 (23:31 +0000)]
Protect xpt_run_dev_sendq in xpt_release_devq_device with splsoftcam. This
seems to handle the case of timeouts firing during probe but after a device
has gone away. It really does help.
Obtained from:gibbs@freebsd.org
ache [Sat, 16 Oct 1999 12:31:49 +0000 (12:31 +0000)]
YP/NIS code: remove unnecessary endgrent() calls which can cause fail on
next try over chroot (descriptor closed). getgrnam() used already handles
endgrent() properly and honors _gr_stayopen. Automatically call
setgroupent(1) when _pw_stayopen is set (for YP/NIS code).
obrien [Sat, 16 Oct 1999 05:42:50 +0000 (05:42 +0000)]
Remove "-k" (kernel-arch) as "i386" is not appropriate on the Alpha.
Also remove the "-d" domain option, as if someone is savey enough to want
this, they are savey enought to make a custom amd_flags in /etc/rc.conf.
wpaul [Sat, 16 Oct 1999 05:24:13 +0000 (05:24 +0000)]
Convert the mx driver to miibus.
In order to make this work, I created a pseudo-PHY driver to deal with
Macronix chips that use the built-in NWAY support and symbol mode port.
This is actually all of them, with the exception of the original MX98713
which presents its NWAY support via the MII serial interface.
The mxphy driver actually manipulates the controller registers directly
rather than using the miibus_readreg()/miibus_writereg() bus interface
since there are no MII registers to read. The mx driver itself pretends
that the NWAY interface is a PHY locayed at MII address 31 for the sole
purpose of allowing the mxphy_probe() routine to know when it needs to
attach to a host controller.
imp [Sat, 16 Oct 1999 05:11:46 +0000 (05:11 +0000)]
Remove name field from controller information. Fix name setting in
pc98 case that I missed before. Attempt to get the irq for the PCIC
first from the loader env var and second from the config system. I've
been able to boot my laptop with a kernel that hardwired the irq to
10. This should allow boot -c to finally start working for pcic irq,
but I've not tested that. Add $FreeBSD$ to slot.h.
msmith [Sat, 16 Oct 1999 03:21:20 +0000 (03:21 +0000)]
Use a much larger buffer for message log retrieval until we are sure that
32 bytes is safe.
Handle successful completion of message log retrieval commands.
With these changes, the driver correctly handles the consequences of drive
death and replacement in a reliable array. Note that the massive backlog
of I/O during handling of such an event can kill the system if softupdates
is enabled.
imp [Fri, 15 Oct 1999 17:29:21 +0000 (17:29 +0000)]
Reorganize the attachement point for pcic (it was unattached and
floating before). Attach pccard devices to pcic, one per slot
(although this may change to one per pcic). pcic is now attached to
isa (to act as a bridge) and pccard is attached to pcic, cbb and
pc98ic (the last two are card bus bridge and the pc98ic version of
pcic, neither of which are in the tree yet). Move pccard compat code
into pccard/pccard_compat.c.
THIS REQUIRES A CONFIG FILE CHANGE. You must change your pcic/card
entries to be:
# PCCARD (PCMCIA) support
controller pcic0 at isa?
controller pcic1 at isa?
controller card0
The old system was upside down and this corrects that problem. It
will make it easier to add support for YENTA pccard/card bus bridges.
Much more cleanup needs to happen before newbus devices can have
pccard attachments. My previous commit's comments were premature.