Commit Graph

654 Commits

Author SHA1 Message Date
David Greenman
61be67ba43 Much better fix/support for the 83c795 based cards (the new SMC EtherEZ)
by steve@simon.chi.il.us (Steven E. Piette). Minor changes by me.
1995-01-23 19:06:08 +00:00
Poul-Henning Kamp
b1b8617459 if_ze was not updated when the arp_ifinit stuff was done. now it is. 1995-01-23 18:02:32 +00:00
Poul-Henning Kamp
1aaca524e0 Fixed $Id$ 1995-01-23 02:31:53 +00:00
Jordan K. Hubbard
cc877a0fe1 Add support for Olof Johansson's WD7000 driver.
Submitted by:   Olof Johansson <offe@ludd.luth.se>
1995-01-23 00:25:44 +00:00
Søren Schmidt
02fb646de1 Second round in syscons update:
Support for pseudo graphic mouse cursor (not complete yet)
Some cheap speed fixes.
More cleanups.
Call ourselves scxxxx finally.
1995-01-20 08:35:32 +00:00
Bill Paul
2b237b4058 Submitted by: Bill Paul (wpaul@ctr.columbia.edu)
Obtained from:
sio.c and sioreg.c changed to allow autodetecting the RB_SERIAL flag
passed by the boot blocks so that the kernel can switch to 'serial
console' mode automagically. 'options COMCONSOLE' can still be specified
to force the kernel to always use the serial port as a console.
CONUNIT and CONADDR can also be specified in the kernel config file
if the user wants to shift the console to a different port.
1995-01-20 07:34:18 +00:00
Andreas Schulz
c82762a9c3 Submitted by: Bruce Evans
Put in the much shorter and cleaner version for the calibrate_cycle_counter
for the Pentium that Bruce suggested. Tested here on my Pentium  and
it works okay.
1995-01-19 22:05:27 +00:00
Peter Dufault
8d38e0afd0 Print out exactly what we think the board is, and for the latest
rev Adaptec boards enable data transfer length detection instead
of assuming requested amount of data is transferred.
1995-01-19 12:33:10 +00:00
Jordan K. Hubbard
0b3782714e Enable floppy-tape controller by default again. Flags no longer has any
special meaning.
1995-01-17 17:32:33 +00:00
Justin T. Gibbs
f61afda9a4 Add $Id 1995-01-16 16:31:34 +00:00
Garrett Wollman
b60e6e6e9f Some fixes to device configuration, now that I've had a chance to do it
properly from the beginning:

	1) The `kern_devconf' struct should be a part of the driver's
	   `softc' structure (now it is).
	2) The `description' should say what the device actually is,
	   rather than just giving a model number (now it does).
	3) The device should be registered even if the probe fails, so
	   that it can be reconfigured later.
	4) For netifs, the device state should follow the IFF_UP flag.

Other network interfaces should follow this example.  (Please?)  Eventually
there should be a rundown routine doing the equivalent of setting IFF_UP
off, and perhaps more if warranted.
1995-01-15 00:18:17 +00:00
Bruce Evans
3831ab07f8 Define some public labels for use by trap(). 1995-01-14 11:00:27 +00:00
Søren Schmidt
2a13b58b61 Oops, forgot one change when DDB is defined. 1995-01-13 17:13:13 +00:00
Andrey A. Chernov
b9937fcc84 Use (n - 1) in ESC [ xxx d and ESC [ xxx ` 1995-01-13 03:19:22 +00:00
Justin T. Gibbs
451ab98ff3 Add in aic7770.c (EISA/VL Adaptors) and aic7870.c (PCI adaptor) dependancies
for the ahc driver.
1995-01-13 02:23:27 +00:00
Andrey A. Chernov
9db2473d62 Back out cursor wrap (restore original thing)
Submitted by: Bill Paul
1995-01-12 20:14:28 +00:00
Joerg Wunsch
dac0f2dbc1 Argl!, finally found this bummer. The code testing for a write-
protected drive at open() time has been *totally bogus*!  The guy who
submitted it didn't understand all the implications of calling
set_motor(), and the `who' who included the patch into the tree did it
blindly...  Pleeeeze, don't commit code to this driver unless you are
really going to understand what it does!  This one caused me to pull
out even more hears, and those who know me do know that i ain't got
too many o'them. :-)
1995-01-12 19:20:28 +00:00
Søren Schmidt
6378775666 First round in syscons update. Several new features has been added:
No kernel config options anymore besides keyboard language layout.
Virtual consoles are now dynamically allocated, no NCONS anymore.
Software cursor blinking/nonblinking.
Visual bell for laptops (don't beep at meetings :-).
Cursor/bell default type setable via config "flags" instead of as defines.
Cursor/bell type setable via ioctl's.
New video modes 80x30 80x60 for some laptops, and those with multisync monitors.
Scroll-lock history (length currently fixed at 100 lines).
Lots of cleanups, some only commented out for now (will goaway soon).
Support for new features in vidcontrol/kbdcontrol.
Updated manpages.
1995-01-12 11:47:05 +00:00
Joerg Wunsch
dc16046f96 Finally implement support for the `lsdev' program. The controller is
now marked busy as long as it's being in non-reset state, and the
drives are busy as long as at least one instance is open.

Also reformat everything to fit into 80 columns again.

Changed my mind wrt. error reporting for a write-protected drive and
an open() with write intent; ENXIO has been too weird, now return EIO.
Some portions of the code need to be rewritten to use tprintf()
instead of simple printf()'s, so the messages will also appear on the
session terminal, however.
1995-01-11 16:13:01 +00:00
Jordan K. Hubbard
ed4a82f717 Latest update from Serge Vakulenko <vak@cronyx.ru>
Submitted by:	vak
1995-01-10 11:41:28 +00:00
Joerg Wunsch
b324392f6b fix for: kern/97: wt DELAY patch
Wangtek PC-02 QIC-02 controller with Cipher 150MB tape drive

        Any attemp to open /dev/rwt0 hangs.

        The following patch to /sys/i386/isa/wt.c is derived from Mikael
Hybsch's wt driver.

Submitted by:	Terry Lee <terry@uivlsi.csl.uiuc.edu>
1995-01-09 17:55:10 +00:00
Jordan K. Hubbard
716831f5f4 Add a MIN macro. 1995-01-09 11:38:40 +00:00
Peter Dufault
081964045f Added residual length for 1542C only 1995-01-08 13:41:28 +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
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
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
Andrey A. Chernov
33c38bd574 Fight against hanging modems: add timeout to ttywait.
Reviewed by: Bruce
1995-01-05 00:01:07 +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
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
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
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
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
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
62f603b64d Change an 0 to WHOLE_DISK_SLICE. 1994-12-30 12:19:11 +00:00
Bruce Evans
0c4fe20e8a Keep track of the devconf state. 1994-12-27 13:07:07 +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
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
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
Garrett Wollman
dd2e410221 Move ARP interface initialization into if_ether.c:arp_ifinit(). 1994-12-22 21:56:22 +00:00