Commit Graph

1982 Commits

Author SHA1 Message Date
Peter Dufault
f948427e16 Added ssc device 1995-01-08 13:42:19 +00:00
Peter Dufault
081964045f Added residual length for 1542C only 1995-01-08 13:41:28 +00:00
Peter Dufault
e8831d3712 added ssc device 1995-01-08 13:40:31 +00:00
Peter Dufault
832ac3cac7 Added "change address" ioctl for ssc device. 1995-01-08 13:39:46 +00:00
Peter Dufault
7562b0d606 Reviewed by: gibbs@estienne.CS.Berkeley.EDU
Reenabled "SCIOCOMAND" ioctl.
Restructured so low level drivers can easily request retries.
Added preliminary fixed SCSI devices (should be revisited before 2.1)
Added "ssc" device that can have its' (HBA, ID, LUN) set via ioctl.
1995-01-08 13:38:38 +00:00
David Greenman
f7c9e2441f Restored Herb's current copyright. The one in the file appeared to have
been run through indent and additionally doesn't contain clauses 3 and 4
that were apparantly added sometime after the driver was put into FreeBSD.
1995-01-08 10:47:23 +00:00
Andreas Schulz
ddfdef1374 Submitted by: Steve Gerakines
Delete some parts of the ultra 24F tests for the controller, so that
it now accepts a broader range.
1995-01-07 23:23:40 +00:00
Jordan K. Hubbard
f677a957bf Fix indenting of gsc entry, reserve 48 for cyclades. 1995-01-07 23:20:08 +00:00
Andreas Schulz
a9700525d8 Work around a compiler bug in gcc2.6.3 in handling (long long) variables and
shifting. Also correct the original code as Garrett noticed it in mail.
Leave the mishandled code in to use it later if future versions of gcc
are correct. The code was part of the calibrate_cyclecounter routine to
get the speed of the pentium chip.
1995-01-07 17:26:35 +00:00
Jordan K. Hubbard
2f6df2645b Gunther Schadow <gusw@fub46.zedat.fu-berlin.de>'s
driver for the Genius GS-4500 hand scanner.
Submitted by:	gusw@fub46.zedat.fu-berlin.de
1995-01-07 14:52:08 +00:00
David Greenman
d8e5ab9731 Got rid of unused nclist declaration. 1995-01-07 06:08:15 +00:00
Joerg Wunsch
dc5df763e4 Peter's work to work around one of the most annoying bugs in the
floppy driver (or in the hardware?).  It turned out to be caused by
spurious interrupts, right after an FDC reset.

Also major cleanup in the low-level structure, there are now functions
performing error-checks for the FDC I/O.

Submitted by:	(mostly) Peter Dufault <dufault@FreeBSD.org>
1995-01-06 15:20:00 +00:00
Bruce Evans
123bcf5fda Fix scaling for TIOCM[SG]DTRWAIT to work when hz != 100.
Bruce
1995-01-06 15:03:41 +00:00
Bruce Evans
4c5e4b09a7 Fix error handling for new TIOCSDRAINWAIT ioctl. 1995-01-06 14:56:42 +00:00
Stefan Eßer
623976474c Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de>
Reviewed by: <wollman>
First hooks and defines for the ISDN driver,
that soon will see the light ...
1995-01-05 19:51:51 +00:00
Justin T. Gibbs
ff2e6a8b6f Add VNINACT flag. LFS has a habbit of skipping the ufs_inactive procedure.
It used to do this by setting a global <Yuck>.  Now we set th VNINACT
flag in the vnode to force a skip of ufs_inactive.

Sorry for missing this file in my last commit folks.

Index: vnode.h
===================================================================
RCS file: /usr/cvs/src/sys/sys/vnode.h,v
retrieving revision 1.14
diff -c -r1.14 vnode.h
*** 1.14	1994/11/14 13:51:53
--- vnode.h	1994/12/03 01:06:27
***************
*** 116,121 ****
--- 116,122 ----
  #define	VALIASED	0x0800	/* vnode has an alias */
  #define	VDIROP		0x1000	/* LFS: vnode is involved in a directory op */
  #define VVMIO		0x2000	/* VMIO flag */
+ #define VNINACT		0x4000  /* LFS: skip ufs_inactive() in lfs_vunref */

  /*
   * Vnode attributes.  A field value of VNOVAL represents a field whose value
1995-01-05 16:22:17 +00:00
David Greenman
010cf3b9e3 Make sure that the object being collapsed doesn't go away on us...by
gaining extra references to it.

Submitted by:	John Dyson
Obtained from:
1995-01-05 04:30:40 +00:00
David Greenman
f81dd52383 Initialize map start hint to vm_map_find()...not doing so will cause it
to fail if the random thing on the stack happens to be too large.

Submitted by:	David Jones <dej@qpoint.torfree.net>
1995-01-05 03:59:38 +00:00
Andrey A. Chernov
33c38bd574 Fight against hanging modems: add timeout to ttywait.
Reviewed by: Bruce
1995-01-05 00:01:07 +00:00
Justin T. Gibbs
61acca9f2f Change panic messges that are ffs_blah functions to say they are ffs not
ufs functions.
1995-01-04 23:48:04 +00:00
Justin T. Gibbs
1a451e33ef LFS stability patches. There is still a problem with directory update
ordering that can prove fatal during large batches of deletes, but this
is much better than it was.  I probably won't be putting much more time
into this until Seltzer releases her new version of LFS which has
fragment support.  This should be availible just before USENIX.
1995-01-04 23:46:34 +00:00
David Greenman
53cdbe34f1 Made a few cosmetic changes, and fixed a bug in handling the case of the
remote DMA not completing correctly (the packet was still queued for xmit).
1995-01-04 21:10:17 +00:00
David Greenman
b5ba45f6f3 Corrected the list of volatile registers for outsb, outsw, and outsl.
This bug caused my ethernet driver to break, among other things no doubt.
1995-01-04 20:42:25 +00:00
Paul Traina
e228c81074 Fix the GUS driver so that it will initialize properly from power-on...
no more DOS boots to start it up.

Simply did a localized nuke of the OUTB macro in this file.  This is
a kludge, since it seems it may actually be necessary in other GUS
files (tbd).

Thanks to: Amancio Hasty & Ken Hornstein
1995-01-04 20:07:27 +00:00
Bruce Evans
f73f117cf0 Don't allow negative console numbers for the VT_WAITACTIVE ioctl. Use the
correct console number for the VT_WAITACTIVE ioctl.  Invalid console numbers
caused waiting on an invalid pointer.

Use bcopyw() instead of move_up() and move_down().  bcopyw() handles
overlapped copies and should be faster.  Actually use bcopy().  bcopy()
is slightly faster if video memory is 16-bit and about twice as fast if
it is 32-bit.  bcopy() is said to fail on someGA's, but syscons already
depends on it working for other accesses to video memory.
1995-01-03 16:56:05 +00:00
Jordan K. Hubbard
c4cab716b9 From Gene Stark:
If nd->swap_nblks is zero in nfs_mountroot(), then the system
       comes up without initializing swapdev_vp to an actual vnode pointer.
       The swap pager assumes a non-NULL value for swapdev_vp.

       The fix is to try initializing local swap if no NFS swap space
       is specified.
1995-01-03 07:44:10 +00:00
Bruce Evans
37e52b59cc Use sufficient parentheses in macros.
Remove bogus input operands for fnsave(), fnstcw() and fnstsw().

Change all fwait's to fnop's.  This might help avoid hardware bugs.
Wait after fninit with an fnop.  This should be safer now.

Fix some spelling and formatting errors.

Use natural sizes for control and status words (u_short, promotes to int).

Don't clobber the SWI_CLOCK_MASK bits in npx0_imask when using IRQ13.

Set the devconf state correctly (always busy, if configured).  Improve
code for npx_registerdev() a little (gcc can't keep id->id_unit in a
register for some reason).  Don't register a nonexistent npx device.

Print a useful message in npxattach() again (delete references to errors
and not the whole message).  Don't print "387 emulator" if there is no
emulator in the kernel.

Use %p for pointers in error messages.

Don't clobber the FPU state when there is an FPU exception.  Just clear
the exception flags (after saving the flags as before).  This allows
debuggers and SIGFPE handlers to look at the full exception state.
SIGFPE handlers should normally return via longjmp(), which restores a
good FPU state (as before).  Returning from a SIGFPE handler may leave
the FPU in the wrong state (as before).

Clear the busy latch _after_ clearing the exception flags so that there
is less chance of getting a bogus h/w interrupt for a control operation.

Clear the saved exception status word when the next FPU instruction is
excuted so that it doesn't stick around until the next exception.

Clear the busy latch after fnsave() in npxsave() in case it was set when
npxsave() was called.
1995-01-03 04:00:06 +00:00
Bruce Evans
d5ebbddc5e Replace sv_ex_tw by padding (it is no longer used; the tag word in sv_env
is valid).

Expand comment about bogus padding for emulators.

Update prototpe for npxinit().
1995-01-03 03:57:46 +00:00
Andreas Schulz
832f3afd12 Submitted by: Ben Jackson
just a missing newline in a kernel printf added.
1995-01-02 22:56:00 +00:00
Bruce Evans
85ae1cf1dc Remove `MKDEP= -p'. Now I know why lkm compiled so fast after headers
are changed.
1995-01-01 21:11:55 +00:00
David Greenman
84bcd8659a Possible fix for NE2000 problems...the remote byte count wasn't word
aligned even though the transfers are 16bit.
1995-01-01 06:38:14 +00:00
David Greenman
c38c2f7f9b Get rid of unused variable. 1995-01-01 03:54:34 +00:00
Andreas Schulz
d3287e7c11 Change the errors in the XT_KEYBOARD patch. red in the face. Thanks Bruce. 1994-12-31 20:34:19 +00:00
Justin T. Gibbs
53a69701bc Handle both channels of Twin channeled devices. Respect the configuration
values for syncronous negotiation.  The 284x series adaptors can now be
supported without the Bios being enabled.  If you disable the Bios on the
274x series adaptors, all configuration parameters revert to the default
since there is no way to retrieve them.
1994-12-31 19:31:56 +00:00
Justin T. Gibbs
58e4304e3d Handle the aic7770 driver's dependancies correctly.
YOU MUST REBUILD CONFIG.
1994-12-31 19:27:29 +00:00
Justin T. Gibbs
8ff1d93efb Update the sequencer code to handle both channels of Twin channel devices.
You can now sling 14 devices off of a 274xT.  In the process of adding
twin channel support, I removed all evident restrictions on supporting
Wide channeled devices, but I do not have a Wide controller to test them
on.

aic7770_seq.h, the pre-compiled header, is no longer needed since config
handles this dependancy.
1994-12-31 19:26:54 +00:00
Jordan K. Hubbard
00ed485bc4 Really provide support for 3COM cards now.
Submitted by:	wpaul
1994-12-31 17:16:50 +00:00
Jordan K. Hubbard
95da7f140e Another part of Bill Paul's fix to swapgeneric to properly use the -a flag.
Submitted by:	wpaul
1994-12-31 17:15:16 +00:00
Jordan K. Hubbard
dd4a485085 From Bill Paul:
- /sys/i386/i386/swapgeneric.c is just plain broke. But fear not, for I
  have unbroken it. One thing that swapgeneric.c does is walk through the
  list of configured devices searching for a boot device. The only easy
  way to accomplish this in 2.0 is to use Garret Wollman's kern_devconf
  stuff. *BUT*, the head of the kern_devconf linked list (dc_list) is declared
  static in /sys/kern/kern_devconf.c. This means that swapgeneric.c can't
  see it at link time. I had to remove the 'static' keyword to get around
  this little problem. I hope this doesn't break anything anywhere.

  *Furthermore,* there's a small matter of making the call to setconf()
  in swapgeneric.c disappear when 'config kernel swap generic' isn't used.
  You could change /sbin/config to create a dummy setconf() function in
  swapkernel.c, but that seems messy somehow. (It's also someting of an
  'it isn't broken, why are you fixing it' situation.) My solution was to
  do what the NetBSD people did and put an #ifdef GENERIC around the call
  to setconf(). If your kernel is called GENERIC or you define 'options
  GENERIC,' then you can use 'config kernel swap generic' and it'll work.

  That aside, the upshot is that: a) swapgeneric.c actually works, and
  and b) the -a boot flag now works as well. If you boot with -a, as in
  "Boot: wd(0,a)/kernel -a" you will be presented with a 'root device?'
  prompt after the autoconfig phase, at which point you can specify what
  device you want mounted as root. Regrettably, you can't specify an NFS
  filesystem. Yet. Three files are affected: /sys/i386/i386/swapgeneric.c,
  /sys/i386/i386/autoconf.c and /sys/kern/kern_devconf.c.

Submitted by:	wpaul
1994-12-31 17:11:59 +00:00
Jordan K. Hubbard
63c5d14d1b Miscellaneous changes from Bill Paul:
- /sys/i386/isa/if_ed.c doesn't quite know how to deal with SMC EtherEZ
  ethernet cards. The EtherEZ looks just like the Elite Ultra, except it
  has only 8K of shared memory. The only way to have it properly detected
  is to zero and test a few bytes of memory just about the first 8K region.
  If it clears properly, it's an Elite Ultra, otherwise it's an EtherEZ.

  I've also got an EtherEZ patch for netboot (Makefile, ether.c and ether.h).

- /sys/i386/isa/syscons.c wraps at the next to the last column rather than
  the last column, like it should. You don't really notice this unless you
  use certain programs that write all the way out to, say, the 80th column,
  like VMSmail. Along with a one-line fix for this are some changes to
  implement a non-blinking cursor. Put 'options "NOBLINK_CURSOR"' in your
  config file and give it a try. :)

Submitted by:	wpaul
1994-12-31 17:09:58 +00:00
Jordan K. Hubbard
86dccd9394 From: Luigi Rizzo <luigi@labinfo.iet.unipi.it>
Would you please commit this two-line patch to /sys/i386/isa/b004.c
(the Transputer driver) so that it at least compiles under 2.x
Haven't tried if the driver is working properly, but a kernel with
compiled-in driver has been running for two days now with no apparent
problems.
Submitted by:	luigi
1994-12-31 12:32:59 +00:00
Andrey A. Chernov
16e544e7a1 Fix problem when attached process detached
Submitted by: Gary Jennejohn
1994-12-31 12:26:50 +00:00
Andrey A. Chernov
1af33e5a7a Changes to allow keypad 5 produce \E[E like SCO/ANSI term does 1994-12-31 11:38:39 +00:00
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