Commit Graph

1899 Commits

Author SHA1 Message Date
Julian Elischer 220112c567 Submitted by: bde@freebsd.org 1995-04-21 22:20:34 +00:00
Bruce Evans 8da0f3b87a Make some functions static like they always should have been.
Change the interfaces of these functions to save space.  The code
that takes the least amount of space is often the opposite to what
you might expect.  E.g., it helps to waste a few bytes passing
pointers so that the compiler can't see that certain addresses
are identical (gcc likes to waste space by reloading fat constants
even when the constant is already in a register).

Rewrite getbootdev() to save 80 bytes of space and to make it less
ugly.  32 bytes were saved simply by omitting the continue statements
in the pseudo-switch.
1995-04-21 16:50:32 +00:00
Bruce Evans 34951155ae Update the pseudo-prototype for serial_putc() to match the actual prototype. 1995-04-21 16:30:18 +00:00
Bruce Evans a9ef92e638 Never pass char or short args to functions. This saves 64 bytes of
recently introduced bloat in just 2 calls to biosread(), although
very little in calls to putc() and serial_putc().  Gcc produces
amazingly bad code for unnecessary conversions.  E.g., if it has
`int x' in register %edx and wants to pass a char, then it could
simply push %edx and access only one byte in the callee.  Instead,
it sometimes unnecessarily spills %edx; it always sign extends
%edx and pushes the result.

Remove useless `extern' in function prototypes.

Remove unused declaration of `end'.

Declare pbzero() and pcpy() like the library bzero and bcopy().

Declare printf() properly.
1995-04-21 16:07:12 +00:00
Joerg Wunsch 9c6e0c69be . Make Poul's boot2 overflow warning less noisy in case the blocks
do fit, and beeping in case of an overflow.

.  Drop a comment about the ``FORCE_COMCONSOLE'' option into
   README.serial.

.  Increase the name buffer for the root directory from 100 bytes
   to 8 KB;  this is in no way ideal, but (IMHO) the best that can
   be done by now.  People did encounter problems with their root
   dir name listing overflowing the allocated buffer space.  Once
   we've got the three-stage boot, we should implement some basic
   malloc().  Swap space is already getting tight now, perhaps the
   swap should go into another 64 KB segment instead.

.  Make the keyboard probe less paranoid.  It should not give up in
   case of a keyboard that's continuously demanding RESEND's.  Even
   though the keyboard reset apparently has not been reported to be
   complete, it's at the very least proven that there IS something
   like a keyboard available.

   This solves problems with the ``Gateway-2000 AllKey programmable''
   (sp?) keyboard, that experienced a total hang with the previous
   probe.

   Thanks goes to Scott Blachowicz <scott@statsci.com> for his
   extensive testing of my various interim (debugging) bootblocks
   to get this working.
1995-04-20 23:15:10 +00:00
Julian Elischer c9755763d9 Add an option to make it easy to default to the hd1 mode
also save a few bytes
1995-04-20 23:05:23 +00:00
Poul-Henning Kamp 3226e381f8 Added a check so compilation fails if the bootblocks are too big.
replaces a switch with ifs to reduce size.
1995-04-20 18:36:14 +00:00
Poul-Henning Kamp d7e591aeab The -current system with 'zp' driver hangs up when resumed from
suspended mode.  The patch for this bug follows.

Reviewed by:
Submitted by:	<hosokawa@mt.cs.keio.ac.jp>
1995-04-20 07:22:04 +00:00
Poul-Henning Kamp 16b560a716 Added -C option to set RB_CDROM, so that we use our cdrom as root. 1995-04-20 06:08:27 +00:00
Poul-Henning Kamp 804e33a872 Add wd2 and wd3 as swap-devices too. 1995-04-20 06:05:17 +00:00
Poul-Henning Kamp f4d1e3d1e7 Remove the slice for the first 63 sectors for the OnTrack case, it's useless
and nobody care about it anyway.
1995-04-20 06:01:51 +00:00
Julian Elischer 999422d707 Reviewed by: no-one yet, but non-intrusive
Submitted by:	julian@tfs.com
Obtained from:	written from scratch

slight changes to make space for devfs..
(also conditional test code in i386/isa/fd.c)

===================================================================
RCS file: /home/ncvs/src/sys/sys/malloc.h,v
retrieving revision 1.7
diff -r1.7 malloc.h
113a114,117
> #define M_DEVFSMNT    62      /* DEVFS mount structure */
> #define M_DEVFSBACK   63      /* DEVFS Back node */
> #define M_DEVFSFRONT  64      /* DEVFS Front node */
> #define M_DEVFSNODE   65      /* DEVFS node */
184c188,192
<       NULL, NULL, NULL, NULL, NULL, \
---
>       "DEVFS mount",  /* 62 M_DEVFSMNT */ \
>       "DEVFS back",   /* 63 M_DEVFSBACK */ \
>       "DEVFS front",  /* 64 M_DEVFSFRONT */ \
>       "DEVFS node",   /* 65 M_DEVFSNODE */ \
>       NULL, \
Index: sys/mount.h
===================================================================
RCS file: /home/ncvs/src/sys/sys/mount.h,v
retrieving revision 1.16
diff -r1.16 mount.h
100c100,101
< #define       MOUNT_MAXTYPE   15
---
> #define MOUNT_DEVFS   16      /* existing device Filesystem */
> #define       MOUNT_MAXTYPE   16
118a120
>       "devfs",        /* 15 MOUNT_DEVFS */ \
Index: sys/vnode.h
===================================================================
RCS file: /home/ncvs/src/sys/sys/vnode.h,v
retrieving revision 1.19
diff -r1.19 vnode.h
61c61
<       VT_UNION, VT_MSDOSFS
---
>       VT_UNION, VT_MSDOSFS, VT_DEVFS
1995-04-20 03:18:19 +00:00
Poul-Henning Kamp 0e175c5ef0 Added support for disks which "OnTrack Disk Manager" has munged.
I suggest you do all partitioning using the OnTrack SW, to avoid
confusing it.
1995-04-20 01:21:51 +00:00
Rodney W. Grimes 781434c1fc Reapply my fix for this:
Output the CPU features line during the probe on a seperate line, for
folks with lots of features the output use to wrap and look ugle.
1995-04-18 23:55:26 +00:00
Andrey A. Chernov b6b8f81ead Add quotes around TUNE_1542 1995-04-18 11:02:22 +00:00
Jordan K. Hubbard 8c409a2969 Extensive updates to this package.
Submitted by:   Gene Stark <gene@starkhome.cs.sunysb.edu>
1995-04-18 02:00:01 +00:00
Poul-Henning Kamp 8425684b90 Print the BIOS geometries in a human-readable format. 1995-04-17 16:49:50 +00:00
Bruce Evans 1b20a52866 Fix compiler warnings about benign overflow in initializers. 1995-04-17 05:52:17 +00:00
Joerg Wunsch afb7eb14a5 Remove the #ifdef REDUNDANT crud. This could be looked up in CVS by
interested parties.

Make the loader refuse to load anything below 1 MB -- we didn't
support it since FreeBSD 2.0R.  Avoid gratuitously wiping out the BIOS
variables or the loader.
1995-04-16 13:02:52 +00:00
David Greenman 857f4d44be Remove gratuitous waste of 2K of memory for BIOS variables. We never load
the kernel at 0-640k; we haven't had the ability to do that since before
2.0R. Furthermore, I fail to see how putting an instruction at 0 and then
doing a .org 0x500 is going to prevent the stuff from getting clobbered
in the first place; a.out is just too stupid to know about sparse address
spaces.
1995-04-16 10:12:16 +00:00
Justin T. Gibbs c587405860 Have the aic7xxx build rules point at the sequencer's new location. 1995-04-16 01:20:00 +00:00
Bruce Evans 33242876a4 Fix initializations of kdc_state for serial consoles.
Change order of RTS flow control tests so that less tests are required
in the usual case.

Clean up parts of previous commits.  Cosmetic.
1995-04-15 21:45:16 +00:00
Justin T. Gibbs 04f390ce00 Be more careful with how we do a chip reset.
Clean up some comments.
1995-04-15 21:37:32 +00:00
Bruce Evans 7897b3ce69 Don't waste time sending an EOI to ICU1 if option AUTO_EOI_1 is defined.
Previously, this worked right if both AUTO_EOI_1 and AUTO_EOI_2 are
defined, but not if AUTO_EOI_1 is defined and AUTO_EOI_2 is not defined.
The latter case should be the default.  DUMMY_NOPS should be the default
too.  Currently there are only two NOPs slowing down rtcin() (although
there are no delays in writertc()) and several FASTER_NOPs slowing down
interrupt handling in vector.s.

Fix stack offsets for the (previously) unused untested
FAST_INTR_HANDLER_USES_ES case.
1995-04-15 21:32:18 +00:00
Poul-Henning Kamp 6d7b3d3838 Added kzipboot 1995-04-15 08:24:33 +00:00
Poul-Henning Kamp 7970b29866 The magic code to uncompress a kernel.
Reviewed by:	phk
Obtained from:	Linux via 386BSD.
1995-04-15 08:23:55 +00:00
Poul-Henning Kamp 0fbb4a064b "jl" and "jb" doesn't quite do the same thing...
Reviewed by:	phk
Submitted by:	"DI. Christian Gusenbauer" <cg@scotty.edvz.uni-linz.ac.at>
1995-04-14 23:01:33 +00:00
Poul-Henning Kamp c112d76dd6 I commit this for Bruce, who has serious connectivity problmes pt.
This should NOT go into 2.0.5  /phk

Support disk slices.  This involves mainly replacing inline code with
function calls.  Support for ST506 drives is temporarily broken since
the `setgeom' arg to dsopen() is not implemented completely enough to
use.  The `setgeom' arg will go away and ST506 drives will be supported
in another way.  A large amount of dead code is left in wdopen() as a
reminder of the problems here.

Close the device in wdsize().  Open tracking was broken on all drives
with a swap device.

Remove support for soft write protection.  There are no ioctls to set
it.  It was used to disable writing to unlabelled disks, but we want
to support writing to foreign partitions on unlabeled disks.

Use generic dkbad routines to do about 2/3 of the work for supporting
bad144.

Improve disk statistics: estimate 4MB/sec instead of 8MB/sec for
the transfer rate (ISA max is 4MB/sec, old IDE max is 3.3MB/sec);
fix dk_xfer[] (it counted sectors, not transfers); keep the estimate
dk_seek[] = dk_xfer[] (was sectors, is now transfers); only count
words actually transferred (the count is still too high after a
failed write and after retries).  Remove wdxfer[].

Fix indentation in wdattach().  Fix resulting botched printing of the
disk size for ST506 drives.  Print the disk geometry less cryptically.
1995-04-14 22:31:58 +00:00
Joerg Wunsch 15c99149f8 Boot block cleanup.
o Fix the keyboard probe to properly wait for the ready bit before
sending a command to the keyboard controller.  This should avoid the
problems some people are experiencing where the boot blocks hang the
system during keyboard probe.  (It does solve it for me.)

o Fix a bug that effectively prevented the boot blocks from ever
passing control to the serial console.  [while(--retries) instead of
while(retries--)]

o Gratuitously reduced the keyboard probe timeout from 500 to 5
seconds. :)

o Introduced a new option ``FORCE_COMCONSOLE'' as a commented-out
example in the Makefile, to force the usage of a serial console
regardless of a keyboard being connected or not.

o Moved all external declarations to boot.h, declared all functions
there, and ANSIfied all function declarations/definitions.
(printf() remains bogus, however -- i'm too lazy to fix this.)
We're in the ninetees, dunno why we should still support compilers
from the 70's.
1995-04-14 21:26:53 +00:00
Peter Dufault bc0cfeb0ce Add scsi target support. 1995-04-14 15:13:46 +00:00
Peter Dufault 8db34c841e Add scsi target. Add "after config" call to autoconf so that scsi
targets will be configured after all scsi busses have been configured.
1995-04-14 15:13:26 +00:00
Peter Dufault 8909a72b5d Add "sctarg" and document new SCSI_REPORT_GEOMETRY option for ache 1995-04-14 15:12:24 +00:00
Bill Paul 09a901eb60 Hopefully I won't get flamed for this: insert a few more #if defined(I486_CPU)
and #if defined (I586_CPU) thingies into identifycpu() so that we only
compile in what's actually needed for a given CPU. So far as I can tell,
none of my 386 machines generate a cpu_vendor code, so I made the extra vendor
and feature line conditional on I486_CPU and I586_CPU. (Otherwise we
print out a blank line which looks silly.)
1995-04-14 02:06:00 +00:00
Bill Paul 8a03631b28 According to a Usenet posting forward to me by Jordan, there's
at least one user out there who's system won't autoboot from the
serial console because of what sounds like 'phantom keystrokes'
making the timeout timer trip. I've tried to solve this by
adding an extra call to init_serial() right before the 'Boot:'
prompt is printed (done only if RB_SERIAL is set) to hopefully
make sure that the input buffer is clear. Unfortunately, the fellow
is in Germany and I haven't heard back from him yet. I haven't
been able to duplicate this problem on my hardware, so this is
a stab in the dark. At the very least, it shouldn't hurt anything.
1995-04-14 01:35:59 +00:00
Garrett Wollman ae60406da6 Forgot two things in yesterday's massive devconf update:
initialized class for sio
don't bogusly re-initialize it in sio_registerdev()
1995-04-13 15:03:29 +00:00
Andrey A. Chernov 3cf91c530d Move setcompat code to another place, initial/locked devices
not supposed to work with old style ioctls
1995-04-13 11:11:11 +00:00
Andrey A. Chernov d17ad80fda Comment out ttcompat via COMPAT_SUNOS too
Fix error handling initial/callout devices
1995-04-13 09:22:40 +00:00
Bill Paul 695e4afe85 This a subtle reminder to people that not everybody compiles their
kernels with 'options I586_CPU.'

The declaration for pentium_mhz is hidden inside an #ifdef I586_CPU,
but machdep.c refers to it whether I586_CPU is defined or not. This
temporary hack puts the offending code inside an #ifdef I586_CPU as
well so that a kernel without it will successfully compile.

I must emphasize the word 'temporary:' somebody needs to seriously
beat on the identifycpu() function with an #ifdef stick so that
I386_CPU, I486_CPU and I586_CPU will do the right things.
1995-04-13 04:55:35 +00:00
Poul-Henning Kamp e5f2c8f67e Add "BREAK_TO_DEBUGGER" option. 1995-04-12 22:02:51 +00:00
Poul-Henning Kamp 04a6a5a9ac ttsetcompat is a '#ifdef COMPAT_43' feature.
Dropping into the debugger when a break comes down the serial line is a
>MISFEATURE (1st class)< and has been put under it's own #ifdef.  This
should be a magic sequence of chars instead.
1995-04-12 22:00:41 +00:00
Garrett Wollman 6c0081e92b Add a class field to devconf and mst drivers.
For those where it was easy, drivers were also fixed to call
dev_attach() during probe rather than attach (in keeping with the
new design articulated in a mail message five months ago).  For
a few that were really easy, correct state tracking was added as well.
The `fd' driver was fixed to correctly fill in the description.
The CPU identify code was fixed to attach a `cpu' device.  The code
was also massively reordered to fill in cpu_model with somethingremotely
resembling what identifycpu() prints out.  A few bytes saved by using
%b to format the features list rather than lots of ifs.
1995-04-12 20:48:13 +00:00
Martin Renters fd7e139eed Break netboot into device specific versions.
nb8390.[cr]om for NS8390 boards (if_ed driver)
nb3c509.[cr]om for 3c509 boards (if_ep driver)

Submitted by:	Serge Babkin (babkin@hq.icb.chel.su)  [3c509 support]
1995-04-12 20:15:33 +00:00
Poul-Henning Kamp d32bd61e78 Improve the if_eg driver a bit in style. It's still by far the worst driver
we have :-/
1995-04-12 07:50:44 +00:00
Andrey A. Chernov 2178b9bb49 Call new ttsetcompat() function for proper working
old v7 ioctls with locking bits.
1995-04-11 17:58:09 +00:00
Jordan K. Hubbard c8aaabd573 Performance enhancements and a redesign of the transmitter code.
Submitted by:	"Serge A. Babkin" <babkin@hq.icb.chel.su>
1995-04-10 21:25:06 +00:00
Garrett Wollman d3a2b17ad7 Define tuncdev for the benefit of tunnel LKM so that it knows which
device slot to take.
1995-04-10 20:40:11 +00:00
Poul-Henning Kamp 8d89e37c73 I got that wrong,
lnc0	@ 0x280
	lnc1	@ 0x300

moved le0 into sorted sequence.
1995-04-10 19:13:51 +00:00
Poul-Henning Kamp 1f9e6f1901 lnc0 is @ 0x300
lnc1 is @ 0x280
1995-04-10 19:12:29 +00:00
Joerg Wunsch e03e5bb758 There have been a few occasions where some actions could dereference
uninitialized tty pointers early during boot; it got very obvious when
pressing Alt-F11 after a boot -c.
1995-04-10 18:34:51 +00:00
Poul-Henning Kamp 17755ac806 Changes to make FreeBSD use a CDROM as rootdev, for installation purposes.
If "BOOTCDROM" is defined, you get this pretty special case stuff.
1995-04-10 07:44:31 +00:00
Jordan K. Hubbard 08d5844ce1 This is the new submission of the matcd driver. In addition to the
new driver code, there are diffs to several other existing files
on the system and a man page.

This version of matcd implements the rest of the key ioctls related to
playing audio CDs and reading table of contents information from any
type of disc.

This update also corrects several problems detected since the original
version 1(10) was released.  These include:
1.	Jordons report on the kernel -c string problem.
2.	A problem with the driver being confused by other types of
	devices located at addresses it probes.
3.	An old CD TOC wouldn't always be cleared after a disc change.
4.	Cleaned up code so -Wall yields no warnings on 2.0 and later.
5.	A problem with drive getting out of sync with the driver when
	changing between CD-Data and CD-DA.

There have only been two reports from the field relating to problems
so either the first release isn't really being used or doesn't have
many problems.

If there are any problems with this submission, please let me know.

Submitted by:	Frank Durda IV <uhclem%nemesis@fw.ast.com>
1995-04-09 15:50:27 +00:00
Justin T. Gibbs f2f31e3b40 Disable tagged queuing by default. option AHC_TAGENABLE will turn it on.
This is temporary until I can get a device flags added.
1995-04-09 06:39:01 +00:00
Rodney W. Grimes f98f9503d5 Increase the timeout for FTCMD_SEEK commands to complete from 1 second to
1.5 seconds in ftintr_wait().

Three people have reported that this fixes the problem they are having.

Submitted by:	Steve Gerakines <steve2@genesis.tiac.net>
1995-04-09 06:23:12 +00:00
David Greenman e9dd619d44 From John Dyson: Disabled multi-sector I/O. It is causing some people
problems.
1995-04-09 06:09:31 +00:00
David Greenman fcb5be87ad Cosmetic changes. 1995-04-09 05:40:38 +00:00
Poul-Henning Kamp 63373752ea Move default address of lnc0 to 0x300. Luigi Rizzo said that his card
cannot even go below 0x300...
1995-04-08 21:41:52 +00:00
Joerg Wunsch 4fb0b0de3e Implement a simple hook (or hack?) to allow graphics device console
drivers to protect DDB from being invoked while the console is in
process-controlled (i.e., graphics) mode.

Implement the logic to use this hook from within pcvt.  (I'm sure
Søren will do the syscons part RSN).

I've still got one occasion where the system stalled, but my attempts
to trigger the situation artificially resulted int the expected
behaviour.  It's hard to track bugs without the console and DDB
available. :-/
1995-04-08 21:32:11 +00:00
Andrey A. Chernov 017e602c0c pca: change IO_PPI to IO_TIMER1 due to syscons conflict 1995-04-08 16:08:35 +00:00
Joerg Wunsch fa74aea62d Some long-waiting fixes for the COFF module. They silence compiler
warnings and are cosmetic only.  Poul once requested them, but neither
Sean nor Søren commented on them, so i commit it now before it's
getting lost some day.
1995-04-08 15:52:30 +00:00
Joerg Wunsch fe696eb64c Update pcvt to 3.20 b24 1995-04-08 15:49:25 +00:00
Poul-Henning Kamp b994e1c2a4 Driver for 3c505 boards. Uses the onboard firmware, which is not a good
way to do it.  Doesn't support DMA or high speeds.

Contributed by:	Dean Huxley <dean@fsa.ca> via NetBSD
1995-04-08 09:39:36 +00:00
Poul-Henning Kamp 12cfa43650 Added the "eg0" interface driver for the 3Com "3c505" or "etherlink/+"
card.  This is the braindamaged card with the 80186 CPU on it.  It is
slow, probably not very good after all, but hey, if you have one lying
around doing nothing anyway...

Added the "zp0" driver to GENERIC.
1995-04-08 09:36:04 +00:00
Andrey A. Chernov e64ae15d3a Add port IO_PPI for pca per Bruce suggestion 1995-04-06 14:01:20 +00:00
Andrey A. Chernov a30090c5f7 Print "on isa" for devices with port==0 per Bruce suggestion 1995-04-06 13:55:56 +00:00
Rodney W. Grimes 5f34517b1c Output the CPU features line during the probe on a seperate line, for
folks with lots of features the output use to wrap and look ugle.

Reviewed by:	phk
1995-04-06 07:55:42 +00:00
Rodney W. Grimes 74fa89f4f5 Correct recalibrate/seek code at attach time so that we do not get
all the ``fdc0: ready for output in input'' messages when probing
for ft devices.

Submitted by:	Steve Gerakines <steve2@genesis.tiac.net>
1995-04-06 07:20:16 +00:00
Jordan K. Hubbard 0264a8a9c6 0x330 is the default address for SB Midi, not 0x300
Submitted by:	Doug Rabson <dfr@render.com>
1995-04-06 03:22:12 +00:00
Jordan K. Hubbard cd3a5023d6 Correct the watchdog routine.
Submitted by:	"Serge A. Babkin" <babkin@hq.icb.chel.su>
1995-04-05 13:12:13 +00:00
Nate Williams 070e3ec139 Modify behavior of INCLUDES to never look in /usr/include unless we
can't find the src/include directory.

Reviewed by:	"Rodney W. Grimes" <rgrimes@gndrsh.aac.dev.com>
Submitted by:	Mike Pritchard <pritc003@maroon.tc.umn.edu>
1995-04-05 04:10:58 +00:00
Andrey A. Chernov 29ecb6a386 Print "on motherboard" for isa? devices with id_iobase == 0 1995-04-04 22:48:40 +00:00
Søren Schmidt 8c4344bebd Fixes to the hardware cursor emulation.
Submitted by:	ache
1995-04-04 20:06:26 +00:00
Andrey A. Chernov a65a3dd65a Move unit structure member down to optimize com->state per Bruce
suggestion. Move hotchar setting to set_bypass routine and rename it
to disc_optim
1995-04-04 16:26:04 +00:00
Andrey A. Chernov 021ad37586 Allow serial console BREAK to DDB
Use com->unit in several places
1995-04-03 10:29:14 +00:00
Nate Williams 146e71662f Added -I/usrinclude to the tail end of the INCLUDES line. This hack
will cause kernel compiles to work even if the src/includes directory
doesn't exist but still do the 'Right Thing' and pull files from the
source tree if it does exist.

Reviewed by:	Bruce Evans
1995-04-03 01:13:50 +00:00
Bill Paul 9711ae2a9f Fix implicit declaration the right way. (This has not been a good
weekend for me.)
1995-04-03 00:25:06 +00:00
Bill Paul a10f48530b Fix implicit declaration of cngetc(). 1995-04-02 23:02:17 +00:00
Andrey A. Chernov bedbd95393 Back out changes related to locked bits until more elegant
solution will be found. Remove some unused variables sneaked in.
1995-04-02 19:28:58 +00:00
Joerg Wunsch 9bb751a368 Attempt to fix the `you can log into console only once' problem (PR
#179).  The fix implements a ttyhalfclose() (sort of), resetting the
session and pgrp pointers when the physical device is about to be
closed.

Suggested by: bde
1995-04-02 16:14:51 +00:00
Andrey A. Chernov 890bf1b00d Fix error:
old type (stty) ioctls can easily bypass locking bits.
It involves manual conversion from old ioctls to new ones,
large piece of code duplicated from tty_compat.c
1995-04-02 04:21:09 +00:00
Andrey A. Chernov 5fba2bf3bd Move SET_BYPASS macro to function per Bruce suggestion.
Add set_bypass() call after l_close.
Move ttioctl()/set_bypass() pair under spltty() protection
1995-04-02 01:47:06 +00:00
Andrey A. Chernov 5daae55cdf Move setting BYPASS state to macro, use it in several times,
after ttioctl too, because it can change t_line.
Remove (TS_CNTTB | TS_LNCH) test, it is always inherits from
old tty mode and can't be reach in currently setted mode.
1995-04-01 23:56:08 +00:00
Andrey A. Chernov 6a5f6acc8d Adjust TS_CAN_BYPASS_L_RINT state after l_open(), t_line
can be changed there.
1995-04-01 22:57:43 +00:00
Joerg Wunsch 7fd9907e0b Correct a few minor things in pcvt:
o  the includes are now properly done by <sys/foo.h> instead of "foo.h"
o  a bunch of undeclared functions has been resolved
o  pcvt finally supports devconfig
1995-04-01 20:16:15 +00:00
Bruce Evans 65202423ff Fix count in mark_for_update() for insert-char(s) and delete-char(s).
Everything from the cursor to the end of the line must be updated.

Fix comment about erase-char(s).
1995-04-01 19:57:36 +00:00
Justin T. Gibbs 25e44d3935 Log ABORT_TAG messages to the console.
When attempting to abort a command, don't assume that just because the
sequecer happens to have SCBPTR pointing at the scb we want that it is
an active command.
1995-04-01 19:53:04 +00:00
Joerg Wunsch 175fa6182a Update pcvt to 3.20b23
Submitted by:	Hellmuth Michaelis <hm@altona.hamburg.com>
1995-04-01 17:16:40 +00:00
Bruce Evans e1bc021264 Include <machine/cpufunc.h> to get i/o functions - don't duplicate almost
200 lines of code.
1995-04-01 16:08:58 +00:00
Bruce Evans 19b204bc85 Fix dependencies for netboot.rom. ${OBJS} isn't valid when the
dependencies are checked - it is set much later in bsd.prog.mk.

Add a comment about broken dependencies on options.
1995-04-01 16:03:25 +00:00
Andrey A. Chernov c6e19ceaa0 Use new TS_CAN_BYPASS_L_RINT state to avoid complex test
each time.
Remove unefficient loop of zeroing error chars in siopoll(),
now done at interrupt level.
1995-04-01 12:01:13 +00:00
Andrey A. Chernov 3d0b7a8e9f Check for never opened or closed device before testing
terminal flags at interrupt level
1995-04-01 06:55:24 +00:00
Andrey A. Chernov c0e553d42d Add hook for rc driver
Submitted by: bde
1995-04-01 04:56:32 +00:00
Justin T. Gibbs c5e0851d47 Major overhaul of the aic7xxx driver:
- catch the interrupt type (EDGE/LEVEL) before chip reset instead
	  of guessing the right type.

	- Add pause variable to the ahc struct to better handle the different
	  interrupt types and pausing the sequencer.

	- CLRINTSTAT -> CLRSCSIINT: This is a documented bit in the CLRINT
	  register in newer Adaptec documentation, so use their name for it.

	- Report valid residual byte counts.

	- Don't mess with the target scratch areas > id 8 on single, narrow,
	  channel devices.  The BIOS does a checksum of this area and can
	  flip out if we zero it out.

	- Initialize the sequencer FLAGS scratch ram variable in the single
	  channel devices to 0.  This was the cause of the annoying warning
	  where we would get a cmdcmplt the first time we did any type of
	  transfer negotiation with no valid scb.  It also fixes the problem
	  that looked like the INTSTAT register wasn't clearing fast enough.
	  This only showed up on 294x cards, not motherboard aic7870s.

	- Add the AHC_AIC7870 type and use it as the superset of aic7870
	  based controllers.

	- clear the sync offset section of the targ scratch area so that
	  we default to asyncronous transfers.  This was only a problem
	  for wide controllers because there was a scenario where the
	  offset wouldn't get updated before a data(out/in) phase would
	  occur.  This required some change in the sequencer code since we
	  were depending on this field to hold the rate to negotiate.

	- allow sync and wide negotiated commands to be tagged (the sequencer
	  now handles this properly).
1995-03-31 13:54:41 +00:00
Justin T. Gibbs 793ac7a94c Use EISA_MAX_SLOTS to be consistent with other EISA drivers.
Fix off by one error in slot probe.

Update some comments.
Submitted by: rgrimes@FreeBSD.org
1995-03-31 13:36:57 +00:00
Andrey A. Chernov c03e3a2617 Fix overrun error define name 1995-03-31 11:04:22 +00:00
Jordan K. Hubbard b32d3189e4 Diskless boot support for 3C509.
I'm not exactly sure why all the inb/outw stuff got added to netboot.h
and I'd be happy if someone like Martin or Bruce could take a look at it!
Submitted by:	"Serge A. Babkin" <babkin@hq.icb.chel.su>
1995-03-31 06:51:37 +00:00
Jordan K. Hubbard ec835d2414 * Promiscuous mode added and interrupt logic slightly changed
*  to reduce the number of adapter failures. Transceiver select
 *  logic changed to use value from EEPROM. Autoconfiguration
 *  features added.
Submitted by:	"Serge A. Babkin" <babkin@hq.icb.chel.su>
1995-03-31 06:41:38 +00:00
Jordan K. Hubbard 496ccdde57 I and Seiji Murata <seiji@mt.cs.keio.ac.jp> contributed 3C589 PCMCIA
Etherlink III 'zp' on 2.0R, but it did not work with the -current.
Noriyuki Takahashi <hor@aecl.ntt.jp> san has fixed this bug.

Our alpha-testers are tested this driver with 3C589B-COMBO and
3C589B-TP.  And it works fine.

I also fixed a little about the use of ZP_DEBUG symbol and beautified
the awful Frankenstein-style indent :-) with "indent -c0 -nfc1 -i4".

[Also merge with Bruce's last changes]

Submitted by: "HOSOKAWA Tatsumi" <hosokawa@mt.cs.keio.ac.jp>
1995-03-31 06:10:22 +00:00
Stefan Eßer 7685716d64 Do not try to negotiate synchronous SCSI transfers in the Boot Kernel. 1995-03-30 15:41:33 +00:00
Søren Schmidt 90fffd8e85 Fix probe message printing 1995-03-30 14:33:03 +00:00
Søren Schmidt 085db34497 Emulate hw cursor closely, and get start&end scanlines from BIOS. 1995-03-30 14:32:31 +00:00
David Greenman 7b0047e213 Made pmap_testbit a static function. 1995-03-30 08:55:39 +00:00
Rodney W. Grimes ad0c439a34 Submitted by: Mahesh Neelakanta <mahesh@gcomm.com>
Change I/O address of Intel EtherExpress driver (ix0) from 0x280 to
0x300.
1995-03-30 00:20:08 +00:00
Andrey A. Chernov bb34201c6a Fixes for new TTY_BI & TTY_OE 1995-03-29 21:26:37 +00:00
Søren Schmidt 736277a951 Optimized the way physical screen updates are done. Now only
update what has actually been touched. This should speed up
screen access on slow hardware.
Introduced setting of "destructive" cursor size, much like
the old hardware cursor.
1995-03-29 20:55:03 +00:00
Andrey A. Chernov 29a75ef5be Fix serial error recording using new TTY_BI & TTY_OE 1995-03-29 20:20:01 +00:00
Andrey A. Chernov 9bbcea9480 Remove TTY_OE & TTY_BI definitions to allow translation,
more work required and will follow
1995-03-29 19:05:13 +00:00
David Greenman e5e6090541 Added NQNFS option and a comment warning about it's overhead. 1995-03-29 05:14:22 +00:00
Søren Schmidt d23c175f9d Change fkey 63 from ^[[K to ^[[~.
Submitted by:		ache
1995-03-28 21:30:13 +00:00
Poul-Henning Kamp c57e984258 Don't install /usr/mdec/boot
Install the biosboot as /usr/mdec/boot[12]
Make the traditional links from [swf]dboot and boot[swf]d to boot[12] files.
Install dosboot as /usr/mdec/boot/fbsdboot.exe
1995-03-28 19:22:43 +00:00
Andrey A. Chernov 0e933b8841 Move discard check up and do it only for error status
(per Bruce suggestion). It speedup things for a little.
Remove l_start optimization, call l_start always (per Bruce suggestion)
1995-03-28 19:22:11 +00:00
Søren Schmidt 84351cc95c Added ata device....
Not that it is ready yet, but I'm getting there eventually...
1995-03-28 18:18:31 +00:00
Bruce Evans 2f86e398e1 CVS:
The previous patch was botched.
1995-03-28 12:29:11 +00:00
Andrey A. Chernov 4e0df42774 Don't use
if (tp->t_line != 0)
test when CS_ODONE, it fails for NTTYDISC, use
		       if (linesw[tp->t_line].l_start != ttstart)
instead.

Reviewed by:
Submitted by:
Obtained from:
CVS:
1995-03-28 12:26:40 +00:00
Andrey A. Chernov 8eefd80d06 Forget to add LSR_FE to discard (see prev commit)
Reviewed by:
Submitted by:
Obtained from:
CVS:
1995-03-28 11:13:44 +00:00
Andrey A. Chernov 2cad35d11b Several fixes to help "raw" tty mode work correctly with
BREAK/parity/framing errors.
Term "correctly" assumes POSIX spec. and 4.4 ttyinput() behaviour.
1) Discard BREAK/parity at interrupt level when apropriate IGN*
is set in iflag. It helps "raw" mode works even IGN* is set.
2) Zero parity (if INPCK) and framing directly in buffer
before passing it to b_to_q() in "raw" mode.
Efficency:
interrupt level: if no error occurse, only two "test" commands added
"raw" mode: buf scan incc times for parity/framing added

Reviewed by:
Submitted by:
Obtained from:
CVS:
1995-03-28 10:51:59 +00:00
Jordan K. Hubbard 9829c3ed2e Change ahc driver comment to note that it's not just the 274x controller
it supports.
1995-03-28 08:14:55 +00:00
Jordan K. Hubbard 00f32d06c1 "matcd interface " -> "matcd"; this makes userconfig work again and
makes it more consistant with the other drivers.
1995-03-28 08:04:07 +00:00
Bruce Evans ce7c8b00ff CVS:
Enable -Wimplicit again.
bash: /src/z1: No such file or directory
1995-03-28 08:02:37 +00:00
Bruce Evans 3aa12267a5 Add and move declarations to fix all of the warnings from `gcc -Wimplicit'
(except in netccitt, netiso and netns) that I didn't notice when I fixed
"all" such warnings before.
1995-03-28 07:58:53 +00:00
Andrey A. Chernov 243823db69 Raw ttyinput test was incomplete,
add !(IGNBRK | BRKINT | PARMRK) now.
1995-03-28 06:15:44 +00:00
Andrey A. Chernov 339b90b333 Fix break recording for ttyinput 1995-03-28 05:39:53 +00:00
Søren Schmidt 19c66761c7 Give backspace to the people (again)
Now the keymaps are as follows:

"backspace / <-"	^H
"grey del"		^? (0x7f)
"numpad , del"		^? (, if numlocked)
1995-03-27 19:41:11 +00:00
Andrey A. Chernov 18dbbebe5a Add hooks for upcoming riscom/8 driver 1995-03-27 19:39:58 +00:00
David Greenman 1ae89ac36a Removed declaration of pmap_changebit()...it is no longer exported.
Submitted by:	John Dyson
1995-03-26 23:42:55 +00:00
David Greenman 880d1d842e Changed pmap_changebit() into a static function as it always should
have been.

Submitted by:	John Dyson
1995-03-26 23:42:07 +00:00
Rodney W. Grimes 6a0e6f4266 Terminate all probe/diagnostic/error messages correctly with a \n.
Report floppy/tape units on seperate lines as fdX:/ftX: to correct lots of
ways the current scheme failed to end the output with \n.

Add controller and/or drive designator to the fron of several messages
that come from this drive.  [It's not fun to track down driver messages
using grep over the source tree.]
Reviewed by:	joerg
1995-03-26 19:28:22 +00:00
Bruce Evans 8e4150e95a Reviewed by:
Submitted by:
Obtained from:

Disable previous change.  I missed a lot of implicit declarations.
1995-03-25 23:21:36 +00:00
Bruce Evans eb2cb5e165 Fix the path to scdreg.h.
Fix implicit declarations.
1995-03-25 18:14:37 +00:00
Bruce Evans feae7fb7d3 Add -Wimplicit to ${CWARNFLAGS} so that implicitly declared functions
don't come back.  There are still a few for unsupported network protocols.
1995-03-25 17:50:19 +00:00
Bruce Evans a7d783dddb Add more compatibility cruft:
- ignore the partition table if it is identical with the bogus one in
  /usr/src/sys/i386/boot/biosboot/start.S.  Honoring the bogus size
  field was fatal.  The error is detected but other compatibilty
  cruft weakens the error handling too much for this case.
- weaken the partition entry checking to allow the following treatments
  of C/H/S addresses when C should be >= 1024:
    (1) allow C = 1023, H = max, S = max.
    (2) allow C to be correct modulo 1024.
  Other compatibilty cruft weakens the error handling to allow all
  C/H/S addresses, but there too many errors were reported.

Improve error messages:
- print C/H/S addresses if relevant.
- distinguish primary partition table from extended partition tables.
- don't use diskerr() except for i/o errors.
1995-03-25 12:07:31 +00:00
Steven Wallace c27bd0ad13 Do a printf("\n") after all conditional printfs have been done so that
a newline is always done.  Remove \n's from last conditonal printfs.
1995-03-25 05:54:33 +00:00
Jordan K. Hubbard 0fb7352341 Bring in the new non-GPL'd driver from Mikael Hybsch. This version is
NOT derived from the Linux code and is thus not GPL'd.  It is the author's
express wish that the GPL copyrighted version be removed and this BSD copyright
version take its place.  Considering our own stance on this, I'm certainly
not going to argue!  [Note to NetBSD folks:  You're free to grab it now :-)]
Submitted by:	Mikael Hybsch <micke@dynas.se>
1995-03-24 18:33:02 +00:00
Jordan K. Hubbard d9d537017f scd driver now lives in non-GPL land. 1995-03-24 18:30:11 +00:00
Rodney W. Grimes 567448c8c7 Change MAX_SLOTS -> EISA_MAX_SLOTS and correct comments. Add this to
ultra14f.c and eliminate constants.

Correct EISA slot scan loops to look at slots 1 to 15 inclusive (off
by 1 errors all over the place).  Other drivers need this, I will get
to it after a little more work.

Correct the ultrastore EISA probe so that it starts after the last
EISA slot probed instead of starting over from slot 0.

We need an eisa.h to move a lot of common constants into.  I will
write it if someone tells me where it should go (sys/eisa?).
1995-03-23 09:00:20 +00:00
Justin T. Gibbs 70b211b3a0 aha1742.c:
#include <i386/isa/isa.h>
	return IO_EISASIZE instead of hard coded 0x1000.

if_ep.c:
	Remove commented out disabling of interrupts that gave a
	"comment withing a comment" warning.
1995-03-23 07:31:08 +00:00
David Greenman 0602287958 Patches from Serge Babkin to fix interrupt handling bugs.
Submitted by:	Serge Babkin
1995-03-23 06:53:39 +00:00
Stefan Eßer 0f29bf015c Correct pcibus_setup() to return as soon as one test succeeds. 1995-03-22 21:35:39 +00:00
Stefan Eßer 9c6f3c132b Delete PCI PCI bridge simulator code ...
Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-22 19:51:59 +00:00
Stefan Eßer 33865a313c Remove spurious declaration of printf().
Submitted by:	Michael Reifenberger <root@rz-wb.fh-sw.de>
1995-03-22 10:52:05 +00:00
David Greenman efea4e5256 Fixes and improvements from John Dyson:
Fixed the I/O statistics
Allow WD1007 type controllers to work
Support MULTI-BLOCK I/O
Correct delay to use port 0x84, reading the status register
	might not be a long enough delay.
Changed probe message to match SCSI type devices.
1995-03-22 05:23:01 +00:00
Stefan Eßer 5b3f532eb1 New ISA specific PCI code.
Supports shared PCI interrupts.

Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-21 23:06:07 +00:00
David Greenman f550a707bd Added a new version of trap_pfault() that disallows kernel page faults
to the user address space unless pcb_onfault is set. The code is currently
commented out because iBCS2 and process debugging parts of the kernel
need to be changed/fixed first.
1995-03-21 07:16:12 +00:00
David Greenman c6d5f3ac3e Changed some #ifdef DIAGNOSTIC code that I added to be #ifdef DEBUG. 1995-03-21 07:02:51 +00:00
David Greenman edf8a81561 Removed redundant newlines that were in some panic strings. 1995-03-19 14:29:26 +00:00
Poul-Henning Kamp 9346bafa46 And all serial chars with 0x7f to discard parity bits. 1995-03-19 06:10:32 +00:00
Steven Wallace cb75121aaf Add back SNDCTL_DSP_SETBLKSIZE ioctl code that got zapped.
Submitted by:	Jim Lowe <james@miller.cs.uwm.edu>
1995-03-18 20:01:10 +00:00
Rodney W. Grimes f8e028be26 Add Intel EtherExpress16 (ix0) driver.
Reviewed by:
Submitted by:
Obtained from:
1995-03-18 08:12:48 +00:00
Justin T. Gibbs 0c40ff690c Increase the DELAY used in ahc_poll. This is only used during intial
probe of the device and shouldn't affect normal operation.  It seems that
some version of the aic7870 are extreamly slow in clearing their interrupt
register so the added delay is required to ensure we don't poll a stale
interrupt value.

Clean up debugging printfs and stuff superflous output into #ifdef AHC_DEBUG.

Ensure that sdtrpending and wdtrpending are cleared in all cases after
we recieve an SDTR or WDTR message.

With this commit, the 294x should work or at least be much closer to
working properly.
1995-03-17 23:58:27 +00:00
Steven Wallace c8c244128f Change probe output to gus0 instead of snd4. 1995-03-17 21:27:39 +00:00
Poul-Henning Kamp 2b65c0b067 Remove a spurious printf. 1995-03-17 04:39:41 +00:00