Commit Graph

1939 Commits

Author SHA1 Message Date
Jordan K. Hubbard
10bfdf2bae From: "Serge V.Vakulenko" <vak@gw.cronyx.msk.su>
This is new version of Seagate ST01/02, Future Domain TMC-885, TMC-950
SCSI driver for FreeBSD.  I started from the 2.0R version and mostly
rewrote it.  New features are:

1) New probe algorithm.  Old driver read the BIOS region of the adapter
   memory and find the copyright string.  The problem was in the BIOS itself:
   it conflicted with IDE disks.  The solution was to unplug it and
   make the probe algorithm to work without it.
2) Proper timeout handling in numerous places where the driver
   polls waiting for some event.
3) Assembler flagments added in critical places, mostly for data transfer
   to of from the target.  It was possible to make it faster,
   but at the price of decreasing reliability.
4) Target-dependent delays when waiting for REQ deassert event.
   Some devices seem to be slower (CD-ROMS, some tape drives),
   and some seem to be too fast (disks).  The driver tests the REQ
   deassert timeout for each target and then uses it for polling.
5) Device flags added for SCSI parity control and sense request
   priority control.
6) Generic cleanup, after which the driver became much more readable
   (at least by me:).
7) Target data parity error logging is limited to avoid log file overflow.
8) Manual page added.

Submitted by:	serge
1994-12-31 05:31:48 +00:00
Bruce Evans
43469be308 icu.s:
Move definition of `stat_imask' to clock.c.

clock.c:
Rename `rtcmask' to `stat_imask' and export it.  Rename `clkmask' to
`clk_imask' for consistency.

Only calculate TIMER_DIV(hz) once.

Merge debugging and "garbage" code to produce debugging code and format the
output better.

Make writertc() static inline and use it everywhere.  Now all accesses to
the clock registers go through rtcin() and writertc().

Move rtc initialization to cpu_initclocks().

Merge enablertclock() with cpu_initclocks() and remove enablertclock().
The extra entry point was just a leftover from 1.1.5.
1994-12-30 12:43:35 +00:00
Bruce Evans
06ea59471c spl.h:
Don't calculate imask for splstatclock() every call.

Remove declaration of nonexistent variable `high_imask'.

Sort declarations of imasks and spl's.
1994-12-30 12:42:15 +00:00
Bruce Evans
62f603b64d Change an 0 to WHOLE_DISK_SLICE. 1994-12-30 12:19:11 +00:00
Bruce Evans
2336b9d7d7 Print "(null)" instead of "<null>" for NULL string args for consistency
with the libc and ddb printf's.

Print "(fmt null)\n" for NULL formats.
1994-12-30 12:17:42 +00:00
Bruce Evans
cac3ff6bba Avoid compiler warnings for overflow in ~(__LDPGSZ - 1). 1994-12-30 08:06:19 +00:00
Bruce Evans
1365ed99fb Clean up previous commits (format for 80 columns...). 1994-12-30 08:02:16 +00:00
Bruce Evans
7010a8abed Save 16 bytes of data by not explicitly initializing to 0. 1994-12-30 07:48:07 +00:00
David Greenman
73c2ab4621 Moved declaration of ifnet pointer out of the header file and into the
.c file where it belongs. Bezeroed some uninitialized malloc data.
1994-12-30 06:46:21 +00:00
David Greenman
5197faa894 Fix specification of octal constants.
Submitted by:	John Beukema <jbeukema@HK.Super.NET>
1994-12-30 05:38:14 +00:00
David Greenman
8f5067ba28 Make printf() a bit more robust and allow NULL strings (print them as
"<null>"). It bad to have diagnostic printfs cause panics when they are
trying to tell you about another problem.
1994-12-28 06:28:34 +00:00
David Greenman
be6a1d148e Fixed multiple bugs that cause null pointers to be followed or FREEed data
to be accessed if a process blocks when it is being run down.
1994-12-28 06:15:08 +00:00
Andrey A. Chernov
c74995075b Move INSTALL?=install line duplicated into each .mk to sys.mk
instead
1994-12-28 03:51:03 +00:00
Bruce Evans
59f08b8ba7 Use the same current time throughout ffs_update().
Update some macro names in comments.

Don't use MNT_WAIT for something not related to mounting.
1994-12-27 14:44:42 +00:00
Bruce Evans
e4bebee03e Use the same current time throughout ITIMES(). I want all current
timestamps for an atomic operation such as rename() on a local file
system to be identical.

Uniformize yet another idempotency ifdef.  The comment nesting was
bogus.
1994-12-27 13:59:14 +00:00
Bruce Evans
0c4fe20e8a Keep track of the devconf state. 1994-12-27 13:07:07 +00:00
Bruce Evans
a176f73d19 Fix panic for `cp -p' by root to an msdos file system. Improve handling
of attributes so that `cp -p' to an msdos file system can succeed under
favourable circumstances (no uid or gid changes and no nonzero flags
except SF_ARCHIVED).

msdosfs_vnops.c:
The in-core inode flags were confused with the on-disk inode flags, so
chflags() clobbered the lock flag and caused a panic.

denode.h, msdosfs_denode.c, msdosfs_vnops.c:
Support the msdosfs archive attibute (ATTR_ARCHIVE) by mapping it to
the complement of the SF_ARCHIVED flag and setting the ATTR_ARCHIVE
bit when a file's modification time is set (but not when a file's
permissions are set; this is the standard wrong DOS behaviour).

denode.h, msdosfs_denode.c:
Remove the DE_UPDAT() macro.  It was only used once, and the corresponding
macro in ufs has already been removed.

denode.h:
Don't change the timestamp for directories in DE_TIMES() (be consistent
with deupdat()).

msdosfs_vnops.c:
Handle chown() better: return EPERM instead of EINVAL if there are
insufficient permissions; otherwise, allow null changes.
1994-12-27 12:37:36 +00:00
David Greenman
2048dd682c Fixed two security holes in the pcmmap() function.
Submitted by:	Bruce Evans
1994-12-27 08:43:06 +00:00
Andreas Schulz
3c8f8257cd Add a patch that someone on the net has used to run on his IBM Thinkpad.
Sorry, lost the name and mail of the original author. The whole patch
is ifdefed, so it should not disturb someone else in the moment.
1994-12-26 17:50:18 +00:00
Andreas Schulz
2d85986466 Add examples for the sony and the panasonic drivers. 1994-12-26 17:33:52 +00:00
Andreas Schulz
8c2f8d0653 Correct the devices.i386 for the major numbers. 8 was already used now
by the lkm driver, so put scd and pcd to the numbers they have now
in i386/conf.c.
Add the pcd.c file for the panasonic driver in files.i386.
1994-12-26 01:06:41 +00:00
Andreas Schulz
60ecea7924 Add entries for the sony and panasonic drives and drivers. 1994-12-25 23:25:54 +00:00
Andrey A. Chernov
beae072bc9 Merge several probe diagnostics into one.
Adjust for newer model for all non-LUxxx too.
FLAGS status register names cleanup
1994-12-24 13:24:02 +00:00
Bruce Evans
82189b149e Fix comments on dk_wds and dk_wpms to match code. Improve comment on
dk_time.
1994-12-24 10:11:18 +00:00
Bruce Evans
9834a1b204 Fix the "wds" count stat. 1994-12-24 09:48:32 +00:00
Bruce Evans
11fa0751bc Fix the "wd" count stat. The seek and xfer stats are still very bogus
for wd (they both count the number of sectors).  The wpms stat is still
moderately bogus for all drivers.  Even the count stat could be handled
better (partial blocks should be counted as full blocks; should errors
and retries be counted?).
1994-12-24 09:43:12 +00:00
Bruce Evans
026c9b2ce6 Really fix the "byte" count stat. `wd's are actually blocks of 32 16-bit
words in dkstat-speak.  `ms's are seconds in dkstat-speak...
1994-12-24 09:19:00 +00:00
Bruce Evans
13d7c724ca Obtained from: 1.1.5
Fix single-stepping of emulated FPU instructions.

Don't panic if an FPU instruction is attempted but there is no FPU
and no FPU emulator is configured.
1994-12-24 07:22:58 +00:00
David Greenman
55c4727190 Revert last patch - it's wrong. 1994-12-23 23:03:32 +00:00
David Greenman
be7b04cd7e Fixed byte count stat.
Submitted by:	John Dyson
1994-12-23 22:44:55 +00:00
Nate Williams
1603af0d3b Warning and weak reference macros which are used to generate link-time
messages.

Obtained from: NetBSD
1994-12-23 22:38:54 +00:00
Nate Williams
d27e9722db Document some of the fields used by the new shlib code.
Obtained from: NetBSD
1994-12-23 22:32:48 +00:00
David Greenman
45cbbb298d Do vm_page_rename more conservatively in rcollapse and qcollapse, and
change list walk so that it doesn't get stuck in an infinite loop.

Submitted by:	 John Dyson
1994-12-23 05:00:19 +00:00
David Greenman
7609ab12e4 Initialize b_vnbuf.le_next before returning a new buffer in getpbuf and
trypbuf. Move a couple of splbio's to be slightly less conservative.
1994-12-23 04:56:51 +00:00
David Greenman
602d2b481a Protect vnode buffer chain manipulation with splbio to prevent list
corruption..
1994-12-23 04:52:55 +00:00
David Greenman
edd5a4af47 Restore my changes in rev 1.11 that Garrett killed in his commit. 1994-12-22 23:42:25 +00:00
Garrett Wollman
b2774d00ad Make arp_rtrequest() static since nobody needs to referene it any more. 1994-12-22 22:00:30 +00:00
Garrett Wollman
dd2e410221 Move ARP interface initialization into if_ether.c:arp_ifinit(). 1994-12-22 21:56:22 +00:00
Stefan Eßer
9a3c07de07 Add support for -v option passed to boot loader (bootverbose).
Reviewed by:
Submitted by:
Obtained from:
1994-12-22 21:20:39 +00:00
Stefan Eßer
68d2fa1f21 Added SCSI_DATA_OUT to flags passed to the device driver in sd_dump()
since device drivers may decide not to accept a data out phase without
this flag present.
Submitted by:	Wolfgang Stanglmeier <wolf@dentaro.GUN.de>
1994-12-22 21:18:48 +00:00
Garrett Wollman
59d8d13f60 Added `ds', a black-hole network interface. 1994-12-22 21:00:05 +00:00
David Greenman
511cdd1649 Removed bogus semicolon at end of a #define line. 1994-12-22 07:20:03 +00:00
David Greenman
6f7bc393bb Fixed a benign off by one error. 1994-12-22 05:18:12 +00:00
Bruce Evans
222d875bec Print `slicename' and not a bogus pointer in diskerr() 1994-12-22 04:42:31 +00:00
Garrett Wollman
074c4a4e2e Add generic part of generic multiple-physical-interface support (the
successor of IFF_ALTPHYS).
1994-12-21 22:57:05 +00:00
Garrett Wollman
b30cbe4a6b Add a #define for if_rawoutput(), which isn't used now, but eventually will
be.
1994-12-21 18:03:41 +00:00
Garrett Wollman
f811ab0233 Avoid a serious race by blocking netisrs while walking the route tree.
(IWBRNI we could just block IP netisrs...)
1994-12-21 17:25:52 +00:00
Garrett Wollman
3c896bda76 Correct sysctl info so that net.inet.ip.rtexpire is actually accessible. 1994-12-21 17:23:59 +00:00
Andrey A. Chernov
f8c32a9711 Remove get status from probe, confuse LU002
Add check stbytes[1] != stbytes[2] for presence real Mitsumi
controller
1994-12-21 15:17:59 +00:00
Andrey A. Chernov
0bda4f122a stbytes miss by one for new model 1994-12-21 15:12:41 +00:00