Commit Graph

3141 Commits

Author SHA1 Message Date
Jordan K. Hubbard
fe16ad72f3 Matt says that no pre-2.3 pass boards were supposed to ship, but I certainly
got a 2.2 version DC21040 chip in my SMC ethernet card!  He suggests bumping
the check all the way down to 2.0 since it's pre-2.0 we're actually guarding
against.
Submitted by:   Matt Thomas <matt@lkg.dec.com>
1995-04-18 12:54:30 +00:00
Andrey A. Chernov
b6b8f81ead Add quotes around TUNE_1542 1995-04-18 11:02:22 +00:00
Bill Paul
f13524346b Fix module handling to stop oddball modules (if_ppp_mod, if_sl_mod,
if_tun_mod, etc...) from crashing the system. These modules are useful,
but because they don't yet have proper load()/unload() functions,
they can lead to panics: if, for example, you load the if_ppp module,
any user can panic the system by running modstat.

You can also hang the system outright if you try to unload the PPP
module too.

Changes are as follows:

- Save the name passed to us during the RESERVE stage for name matching
(we can't load if_ppp_mod twice: we've have two ppp0's and two ppp1's,
which is beyond strange). This makes the lkmexists() cheks somewhat
redundant, but there's no way around it that I can see.

- If we call the module entry point and find that we have no lkm_any
structure in our 'private' section, create a fake one. This keeps
modstat happy. We mark such modules as LM_UNKNOWN.

- Don't allow LM_UNLOAD modules to be unloaded: it just ain't
possible. (Unless someone wants to write a pppunattach() function. :( )

- In lkmunreserve(), mark private.lkm_any as NULL so we don't get
confused later. I think this is bogus, but I can't prove it.

XXX: the name matching used to keep the user from loading two
instances of the same module can easily be defeated simply by
changing the module name or, in the case of the oddball modules,
simply by renaming the module files. I haven't found a nice simple
way to tell one module from another.
1995-04-18 02:29:26 +00:00
Bill Paul
4ec3b3ddf3 Add LM_UNKNOWN type for oddball modules (if_ppp_mod, if_sl_mod, etc...)
that haven't yet learned how to do the Right Thing when installing
themselves.
1995-04-18 02:17:15 +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
Gary Palmer
a058021a86 Bump to 2.0-950418-SNAP 1995-04-17 10:19:31 +00:00
David Greenman
4c1f8ee9b8 Fixed a logic bug that caused the vmdaemon to not wake up when intended.
Submitted by:	John Dyson
1995-04-17 10:00:55 +00:00
David Greenman
4ed452a631 Changed minimum supported rev of DC21040 to pass 2.2. 1995-04-17 08:16:14 +00:00
Bruce Evans
1b20a52866 Fix compiler warnings about benign overflow in initializers. 1995-04-17 05:52:17 +00:00
David Greenman
7c0414d074 Removed obsolete/unused variable declarations. Killed externs and included
appropriate include files.
1995-04-16 14:12:15 +00:00
David Greenman
64abb5a522 Removed obsolete/unused variable declarations.
Removed some extern declarations and included the correct include files.
1995-04-16 13:58:42 +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
c3cb3e12f5 Moved some zero-initialized variables into .bss. Made code intended to be
called only from DDB #ifdef DDB. Removed some completely unused globals.
1995-04-16 12:56:22 +00:00
David Greenman
5baf11ce97 Removed unused & empty bufstats() function. 1995-04-16 12:02:42 +00:00
David Greenman
8c3d9c403c Removed gratuitous m->blah=0 assignments when initializing the vm_page
structs in vm_page_startup(). The vm_page structs are already completely
zeroed.
1995-04-16 11:50:45 +00:00
David Greenman
cece489df8 Killed gratuitous b_vp=NULL in bufinit. The entire buffer is already
bzero()'d.
1995-04-16 11:45:30 +00:00
David Greenman
1a477b0c27 Changed #ifdef around printlockedvnodes() from DEBUG to DDB. 1995-04-16 11:33:33 +00:00
David Greenman
5291a9a0ac Make vegetarian and animal rights people happy and use 0xdeadc0de instead
of 0xdeadbeef as the 'spare' value.
1995-04-16 11:25:47 +00:00
David Greenman
5124d59831 Make vegetarian and animal rights people happy and use 0xdeadc0de instead
of 0xdeadbeef as the fill pattern. Decreased MAX_COPY to 64 (256 was a bit
overzealous in most cases).
1995-04-16 11:25:15 +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
David Greenman
2fdccd5e8c Make "print_page_info" #ifdef DDB. 1995-04-16 09:59:16 +00:00
David Greenman
d94a4c0434 1) Check for curproc != NULL in bread/bwrite. John convinced me that this
is necessary in order for panic+sync to work. Will also gloss over a panic
that Jordan was having with the install floppies that remains unexplainable.
2) Handle "bogus_page" a little better.
3) Set page protection to VM_PROT_NONE if the entire page has become !valid.

Submitted by:	John Dyson (2&3), me (1).
1995-04-16 05:11:14 +00:00
David Greenman
8cbf8eafa6 Various fixes from John Dyson:
1) Rewrote screwy code that uses an incore buffer without making it busy.
2) Use B_CACHE instead of B_DONE in cases where it is appropriate.
3) Minor code optimization.

This *might* fix kern/345 submitted by Heikki Suonsivu.
1995-04-16 05:05:25 +00:00
David Greenman
ec4f9fb0ee Fixed a few bugs in vm_object_page_clean, mostly related to not syncing
pages that are in FS buffers. This fixes the (believed to already have been
fixed) problem with msync() not doing it's job...in other words, the
stuff that Andrew has continuously been complaining about.

Submitted by:	John Dyson, w/minor changes by me.
1995-04-16 03:11:28 +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
99390fb82f Define DKBAD_NOTRKSEC. Cosmetic except it is required for recent changes
to bad144.c.
1995-04-15 23:21:28 +00:00
Bruce Evans
b7521ff571 Remove bogus unused `struct cpu_disklabel'. 1995-04-15 22:46:28 +00:00
Justin T. Gibbs
3cddb2a3e2 John Aycock's BSD copyrighted sequencer assembler and sequencer code. This
is identical to the older version, just the copyright has changed.  Many
thanks go to Dean Gehnert of the Linux camp who went the extra mile to make
this happen.

Other changes:

Update assembler man page to include the -v and -D options

Merge in Dean's latest changes to the assembler

Have the sequencer do a MSG_REJECT when the negotiated syncronous rate
is lower than the adapter supports.  This forces asyncronous mode which
is faster at these rates anyway.

This code will be moved shortly to the non-gpld portion of the tree.
1995-04-15 21:45:56 +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
241606bc72 kernel.h -> sys/kernel.h 1995-04-15 21:38:34 +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
Bruce Evans
e2f03b0df0 Speed up ttnread() in the !(ICANON | ISIG) case by copying to user space
through a temporary buffer instead of one character at a time.  The old
method takes about 6 usec/char on a 486DX2/66.  This is larger than than
the combined interrupt and PIO overhead for a 16550!

This change was first implemented in 1.1.5.  It was rewritten for 2.1.
The clist access functions allow a simpler implementation at some cost
in correctness and speed.  There needs to be an ungetc() function to
recover from EFAULT, and it wastes time to copy through a temporary
buffer.

Don't snoop on single characters that weren't read due to EFAULT.
Rewrite a snoop comment in my approximation to English.

Undo bogus exportation of ttnread().
1995-04-15 21:04:58 +00:00
Bruce Evans
f6c6c6428b Define IBUFSIZ as 384. This goes with speeding up ttnread().
OBUFSIZ should be increased to the same value as IBUFSIZE (both are
smaller than desirable because they have to fit on the stack), but
there are currently problems with magic buffer limits and watermarks.

Remove unused #define of TTMASK.

Undo bogus exportation of ttnread().
1995-04-15 20:59:28 +00:00
Andreas Schulz
5d2cacaa26 Put vnode_if.h and vnode_if.c into CLEANFILES that are automatically
generated. Should this lkm set VFS_LKM ?
1995-04-15 17:36:53 +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
194c19ed17 Changes needed for kzip to work. 1995-04-15 06:54:13 +00:00
Jordan K. Hubbard
61eaec4e49 Make DISTNAME and RELEASE the same for now. It makes more sense. 1995-04-15 06:00:11 +00:00
Jordan K. Hubbard
08ed1b1db6 Go to a coherent release number for uname(1). 1995-04-15 03:56:06 +00:00
David Greenman
d7e03b7a8b For P_SUGID processes, we must also change ownership of the mem file
to root so that group kmem can still get to it. *SIGH*
1995-04-15 03:20:31 +00:00
David Greenman
5232af2cf1 Retain group kmem readability for P_SUGID processes. 1995-04-15 02:50:13 +00:00
David Greenman
f62e09f22e Made /proc/n/mem file group kmem and group readable. Needed to fix ps so
that it doesn't need to be setuid root.
1995-04-15 02:30:17 +00:00
David Greenman
cf8ad5100d Fixed serious off by one bug I introduced that will likely cause the
machine to panic whenever the name cache fills up.

Submitted by:	John Dyson
1995-04-15 00:49:35 +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
1fff580519 Add scsi target 1995-04-14 15:14:33 +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
Peter Dufault
81e01d44ce Added "scsi target" device that can act as a target for scsi transfers
from an initiator
Added Julian's support for residuals.
Added Julian's fixes to the tape driver
Made compile cleanly with -Wall
Reduce boot up output
1995-04-14 15:10:44 +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
98f232c875 Make class names easier to type 1995-04-13 20:37:51 +00:00
David Greenman
f153fb6e99 Backed out previous change - it reduces performance. (oops). 1995-04-13 18:24:33 +00:00
Garrett Wollman
ef46188e27 Actually copy the class field over from the kernel to the user structure. 1995-04-13 15:33:14 +00:00
David Greenman
cf0ec51aec Slight optimization to select(). 1995-04-13 15:27:51 +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
David Greenman
9b798f72a1 Various changes from Matt Thomas to improve media selection and fix
support for the DC21140.
1995-04-13 04:46:40 +00:00
Jordan K. Hubbard
624b327c77 DISTNAME="2.0-950412-SNAP" 1995-04-12 23:29:14 +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
David Greenman
230620627b Fixed bug I introduced when changing PCB list to use 4.4BSD style queue
macros. Basically, detect 'tp' going away differently.
1995-04-12 06:49:56 +00:00
Andrey A. Chernov
0af4664a6c Read of a record smaller then request size always fails
Submitted by: edward@edcom.com
1995-04-11 19:09:31 +00:00
Andrey A. Chernov
d99adf96e5 Fix link sys call
Submitted by: pritc003@maroon.tc.umn.edu
1995-04-11 18:32:17 +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
Andrey A. Chernov
0a247e7d30 Extract "set" family functions to separate module, needed for
locking in sio f.e.
1995-04-11 17:54:25 +00:00
Andrey A. Chernov
bc9685528a Add new ttsetcompat function (from tty_compat) 1995-04-11 17:53:14 +00:00
Bruce Evans
2360b9bfc7 Submitted by: Mike Pritchard <pritc003@maroon.tc.umn.edu>
Fix PR 303: msdosfs: moving a file into another directory causes panic.

" ... the code that does the rename already has the denode
locked when msdosfs_hashins() gets called, resulting in the panic
when the routine attempts to lock the denode again.
...
The attached patch changes the msdosfs_hashins() routine to not lock the
denode.  The caller is now resposible for obtaining the lock instead
of having msdosfs_hashins() do it for them."
1995-04-11 17:13:17 +00:00
Bruce Evans
82f196916e Submitted by: Wolfgang Solfrank <ws@tools.de>
Fix off-by-1-sector error in the range checking for the end of the root
directory.  It was possible for the root directory to overwrite the FAT.
1995-04-11 16:43:20 +00:00
David Greenman
81c6e3e558 Handle the "syncing VCHR vnode hang" problem a little differently; just
don't lock the vnode - it doesn't appear to ever be necessary for VCHR
vnode/inodes. This fixes a bug introduced in the previous commit that
caused tty timestamps to act strange (causing 'w' and 'finger' to show
the tty wasn't idle when it may have been for hours).
1995-04-11 04:23:47 +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
Garrett Wollman
1f3d84e82a Tunnel driver is nmow capable of installing its own cdevsw[] entry,
with a little help from conf.c.  While e're at it, actually declare the
tunnel entry points to have the correct types.  This fixes PR #306.
1995-04-10 20:35:45 +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
Garrett Wollman
3c6bef7ee8 Correct name `cd9660' for MOUNT_CD9660 (but NB that this whole table
is bogus and only exists for the benefit of find(1)).  Old name was
`iso9660fs'.

Submitted by:	Andrew Atrens <atreand@statcan.ca>
1995-04-10 18:52:40 +00:00
Andrey A. Chernov
20f97715a5 sdattach: print out cyl/hd/sec info in the same format as wd driver does
as default case, very helpful in many cases.
1995-04-10 18:44:49 +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
David Greenman
d79940da0a Further satisfy my paranoia by making sure that the ACKNOW is only
set when ti_len is non-zero.
1995-04-10 17:37:46 +00:00
David Greenman
afa70c96dd Fixed bug I introduced with my Nagel hack which caused tcp_input and
tcp_output to loop endlessly. This was freefall's problem during the past
day.
1995-04-10 17:16:10 +00:00
David Greenman
7bc4aca7f0 Added splnet protections for PCB list manipulations and traversals. 1995-04-10 08:52:45 +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
Andrey A. Chernov
83d05492ed Call ptsstop in ptsclose instead of ptcwakeup 1995-04-10 01:45:43 +00:00
David Greenman
64e4231041 Backed out Jordan's #include of queue.h 1995-04-10 00:43:18 +00:00
Andrey A. Chernov
9d9cea2bce ptcwakeup() was called from wrong places 1995-04-09 22:28:24 +00:00
Jordan K. Hubbard
cb7533f532 #include <sys/queue.h> or die horribly. 1995-04-09 16:46:47 +00:00
Jordan K. Hubbard
7988f8a2c7 Part of Frank Durda IV's new matcd driver CD audio support.
Submitted by:   Frank Durda IV <uhclem%nemesis@fw.ast.com>
1995-04-09 15:50:48 +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
Jordan K. Hubbard
239f2b151f Bump this to 950408-SNAP. 1995-04-09 07:17:45 +00:00
Justin T. Gibbs
0b000afb3b More code optimizations. Use a slightly different approach to decide
whether a reconnecting target is a tagged device or not.
1995-04-09 06:40:16 +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
f6b04d2bfb Changes from John Dyson and myself:
Fixed remaining known bugs in the buffer IO and VM system.

vfs_bio.c:
Fixed some race conditions and locking bugs. Improved performance
by removing some (now) unnecessary code and fixing some broken
logic.
Fixed process accounting of # of FS outputs.
Properly handle NFS interrupts (B_EINTR).

(various)
Replaced calls to clrbuf() with calls to an optimized routine
called vfs_bio_clrbuf().

(various FS sync)
Sync out modified vnode_pager backed pages.

ffs_vnops.c:
Do two passes: Sync out file data first, then indirect blocks.

vm_fault.c:
Fixed deadly embrace caused by acquiring locks in the wrong order.

vnode_pager.c:
Changed to use buffer I/O system for writing out modified pages. This
should fix the problem with the modification date previous not getting
updated. Also dramatically simplifies the code. Note that this is
going to change in the future and be implemented via VOP_PUTPAGES().

vm_object.c:
Fixed a pile of bugs related to cleaning (vnode) objects. The performance
of vm_object_page_clean() is terrible when dealing with huge objects,
but this will change when we implement a binary tree to keep the object
pages sorted.

vm_pageout.c:
Fixed broken clustering of pageouts. Fixed race conditions and other
lockup style bugs in the scanning of pages. Improved performance.
1995-04-09 06:03:56 +00:00
David Greenman
213fd1b6e8 Changes from John Dyson and myself:
Fixed remaining known bugs in the buffer IO and VM system.

vfs_bio.c:
Fixed some race conditions and locking bugs. Improved performance
by removing some (now) unnecessary code and fixing some broken
logic.
Fixed process accounting of # of FS outputs.
Properly handle NFS interrupts (B_EINTR).

(various)
Replaced calls to clrbuf() with calls to an optimized routine
call vfs_bio_clrbuf().

(various FS sync)
Sync out modified vnode_pager backed pages.

ffs_vnops.c:
Do two passes: Sync out file data first, then indirect blocks.

vm_fault.c:
Fixed deadly embrace caused by acquiring locks in the wrong order.

vnode_pager.c:
Changed to use buffer I/O system for writing out modified pages. This
should fix the problem with the modification date previous not getting
updated. Also dramatically simplifies the code. Note that this is
going to change in the future and be implemented via VOP_PUTPAGES().

vm_object.c:
Fixed a pile of bugs related to cleaning (vnode) objects. The performance
of vm_object_page_clean() is terrible when dealing with huge objects,
but this will change when we implement a binary tree to keep the object
pages sorted.

vm_pageout.c:
Fixed broken clustering of pageouts. Fixed race conditions and other
lockup style bugs in the scanning of pages. Improved performance.
1995-04-09 06:02:46 +00:00
David Greenman
fcb5be87ad Cosmetic changes. 1995-04-09 05:40:38 +00:00
David Greenman
29b4e57966 From Matt Thomas: Added support for 100Mb cards (such as the DEC DE-500-XA
and SMC 9332).
1995-04-09 04:46:15 +00:00
David Greenman
15bd2b4385 Implemented PCB hashing. Includes new functions in_pcbinshash, in_pcbrehash,
and in_pcblookuphash.
1995-04-09 01:29:31 +00:00
David Greenman
17792ebcb7 Added a few more entries to the list of prime numbers. 1995-04-09 01:19:25 +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
Andras Olah
755c1f07c8 Fix a bug in tcp_input reported by Rick Jones <raj@hpisrdq.cup.hp.com>.
If a goto findpcb occurred during the processing of a segment, the TCP and
IP headers were dropped twice from the mbuf which resulted in data acked
by TCP but not delivered to the user.
Reviewed by:	davidg
1995-04-05 10:32:14 +00:00
David Greenman
7172ec19fd From Matt Thomas: Finished EISA support. 1995-04-05 08:19:23 +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
David Greenman
9b7f6efb67 Added UIO_NOCOPY. 1995-04-04 17:01:49 +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
David Greenman
bb2d12a636 Check for case of blkno already known to avoid unnecessary VOP_BMAP's.
Submitted by:	John Dyson
1995-04-04 02:10:17 +00:00
David Greenman
6824b322b1 Added prototype for phashinit() function. 1995-04-04 02:02:28 +00:00
David Greenman
22e53424b2 kern_subr.c:
Added a new type to uiomove - "UIO_NOCOPY" which causes it to update
pointers and counts, but doesn't do any data copying. This is needed
for upcoming changes to the way that the vnode pager does its page
outs.
Added a new hash init function call "phashinit" that allocates and
initializes a prime number sized hash table.

vfs_cache.c:
Changed hashing algorithm to use the remainder of dividing by a prime
number to improve the distribution characteristcs. Uses new phashinit
function in kern_subr.c.
1995-04-04 02:01:13 +00:00
David Greenman
2e837708b1 Fixed the formatting breakage I added in the previous commit. 1995-04-04 01:35:33 +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
Andrey A. Chernov
efb76ea60f Back out changes related to locked bits until more elegant solution will be
found. Fix flags declarations.
1995-04-02 19:26:50 +00:00
Bruce Evans
8c62f8d80f Remove redundant declarations. 1995-04-02 19:05:09 +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
c6345bc1b6 Fix error in TIOCSETC/TIOCSLTC, they need to call TIOCSETA.
Remove static from some functions, needed in sio (later)
1995-04-02 04:15:08 +00:00
Andrey A. Chernov
1ef5e50eee Return EINVAL instead of setting wrong in/out speed
Fix declaration of cc arrays
Remove static from compatspcodes, will needed in sio (later)
1995-04-02 03:51:53 +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
Bill Paul
5f6d32c735 Add declaration for struct ether_addr (this is where Sun documents
it to go).
1995-04-02 01:26:26 +00:00
Bruce Evans
5f679211e3 Fix slioctl(). It has to return -1 for ioctls that it doesn't know about
so that these ioctls can be handled by the calling layer(s).

Clean up the recently added code:
- include the appropriate header to declare an implicitly declared function.
- declare timeout functions correctly and remove numerous bogus casts that
  hid (but didn't fix) their incorrectness.
1995-04-02 00:11:48 +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
Andrey A. Chernov
8a9f513775 slopen() never sets t_line to SLIPDISC, but uses slip-specific queue allocation 1995-04-01 22:11:10 +00:00
Joerg Wunsch
76e2642ce4 subr_prf.c used to provide an exported function kprintf(), but only had
a private declaration for it.  Declare the function publically instead.
1995-04-01 20:19:00 +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
Justin T. Gibbs
cc865dd008 Off by one error in -MSG-START+0 was just Justin being tired -- revert to
old value.

Remove unnecessary check for active messages in setup SCB.  This same test
would also jump to p_mesgin_done which would "ACK" an extra time possibly
confusing the target.

Tell the kernel driver whenever we send an ABORT_TAG message.
1995-04-01 19:51:40 +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
3c0c5e2163 Add TS_CAN_BYPASS_L_RINT state for serial devices 1995-04-01 11:58:27 +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
David Greenman
b4fff2ae1a Patch from Greg Ansley:
In rare cases, when the filter specified accesses an multi-byte value that
is split across mbuf's, the value loaded is incorrect.  And if you are very
unlucky (like me) it will index off the end of the mbuf and into an
unallocated page and panic the system.

If you look at the code you will discover the the index *k* is added to
the pointer *cp* and the used AGAIN as a subscript.
1995-04-01 01:46:27 +00:00
David Greenman
1fca221ae2 Patch from Matt Thomas to fix mbuf leak in FDDI driver. 1995-04-01 01:43:56 +00:00
Justin T. Gibbs
bbf437ee54 Mask the call to ahc_attach with an splbio/splx pair. This allows us
to poll succesfully even if we are sharing the interrupt.

Register the interrupt handler before the attach.

This commit makes the 294x PCI shared interrupt compliant.  This has
been tested with an aic7870 motherboard controller and a 294x in the
same machine shareing an irq.
1995-03-31 14:08:33 +00:00
Justin T. Gibbs
5743c01c3f Major overhaul of the aic7xxx driver:
- Report valid residual byte counts.  We actually pause the sequencer
	  when the residual is non-zero.  I thought about using DMA to do this,
	  bus sequencer program space is tight.

	- Fix embarassing off by one error in the computation of a 2's
	  compliment variable.  This was most likely the cause of the
	  many problems reported with the tagged queuing code.

	- Handle "MAX_SYNC" as a special case (ie we are the ones starting
	  the sync negotiation sequence).  This was done so that the target
	  scratch area can be initialed to 0 offset (asyncronous transfers)
	  safely.  The initialization to 0 (was 15) is necessary since in
	  some cases a Wide negotiation could run into problems if SCSIRATE
	  was set wrong and we went into data(in/out).

	- Trim the DMA routines a little by using some procedures.  Net
	  effect is more functionality with 3 less instructions after this
	  update.

	- Toggle the WIDEODD bit of the DFCNTRL whenever this is not the
	  last SG block.  It has no effect in the 8bit bus configuration,
	  but in the Wide configuration ensures that the overlap byte is
	  held in the SCSI block if the transfer is odd so it will end
	  up in the next SG (the correct behavior).
1995-03-31 14:06:02 +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
Andrey A. Chernov
dfd88e5a00 Fix typing error sneaked somehow in prev. commit 1995-03-31 11:01:29 +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
244c89d543 Include <stddef.h> for standard definition of offsetof() instead of
defining it explicitly in the driver.
1995-03-31 00:05:08 +00:00
David Greenman
8a31826613 Backed out changes in rev 1.5 that prevent sending FIN if in CLOSING
state. This causes an infinite loop in some rare cases (probably caused
by some other, much more difficult to find bug).
1995-03-30 23:35:55 +00:00
Andrey A. Chernov
ca9301398c This sl enhancement helps to keep serial line (modem) connection alive.
It is common case when modem hangs with carier on but don't
receive anything from another side.
This thing commonly healed with hangup and redialing.
Enhancements below allows to determine when such action
is needed and inform attach program with SIGURG signal.
There two ioctls set: outfill and keepalive, used from both
sides of connection. Outfill repeatedly sends FRAME_END with
specified timeout (i.e. 40 seconds). It is needed to get input on
other side even if no user activity on slip line currently.
Keepalive checks FRAME_ENDs from other side, and if no one
got in specified timeout (i.e. 60 seconds, max modem retrain time),
send SIGURG to attach program.
I plan to add code to slattach to handle this thing too.

Reviewed by: wollman
1995-03-30 20:43:32 +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
1fe226ce8b Update to new screen update method. 1995-03-30 15:10:20 +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
Andrey A. Chernov
8587890744 Move DSIMICROCODE ioctl to 85,
old value (88) is equal SLIOGUNIT ioctl
1995-03-30 05:17:50 +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
3de5725908 pppinput:
Fix serial errors handling
Add no carrier check
1995-03-29 20:34:17 +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
f1e302d4cc c_iflag handling in setting compat modes now more close to V7 1995-03-29 19:50:58 +00:00
Andrey A. Chernov
64a49d2d33 Oops, fix typing error in prev. commit 1995-03-29 19:24:46 +00:00
Andrey A. Chernov
668a9ccefc Handle TTY_BI now instead of TTY_FE && c == 0 1995-03-29 19:22:37 +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
Andrey A. Chernov
33eb491fce Add TTY_OE for overrun error and TTY_BI for break condition 1995-03-29 19:03:02 +00:00
Andrey A. Chernov
532f5941b0 Move parmark 0377 double code after control chars processing 1995-03-29 18:55:20 +00:00
Andrey A. Chernov
aeab1b50e3 Fix timestamps when using Wall CMOS clock,
optimize dos2unixtime()
Submitted by: pritc003@maroon.tc.umn.edu
1995-03-29 18:48:06 +00:00
David Greenman
2547597bf4 Added a set of braces to make the compiler happy. 1995-03-29 11:54:02 +00:00
David Greenman
e5e6090541 Added NQNFS option and a comment warning about it's overhead. 1995-03-29 05:14:22 +00:00
David Greenman
cb9db2b6ff When NFS is compiled into the kernel, make NQNFS lease checking conditional
on a "NQNFS" kernel config option. NQNFS is a 4.4 wart and the performance
penalty of the lease checks on the client/server for _local_ I/O is too high
to have this occur all the time - especially when most people will never
use it.
1995-03-29 05:09:44 +00:00
David Greenman
9f22c23da7 Fixed DDB's "ps" output formatting. 1995-03-28 23:29:52 +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
Andrey A. Chernov
702c5e7e17 ttyinput() fixes:
1) Preserve old buffer contents when input buffer overflows.

Old code clear buffer and rewrite it again, if !MAXBEL
(for MAXBEL it does right thing :-).
F.e. if you type too long string, last chars passed,
not first ones as expected.
Moreover, it flush output queue too in this case without any needs.

2) Don't do IXOFF, if IGNCR and c==\r, ignore completely.

3) If PARMRK is active and !ISTRIP and char == 0377
put yet one 0377 to distinguish it from parity mark sequence.
POSIX standard (thanx Bruce).

Reviewed by:
Submitted by:
Obtained from:
CVS:
1995-03-28 15:25:13 +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
63cadaef19 Bug fixed:
parity/framing/break not completely ignored when IGN* is set
but cause output restarted.
CVS:
1995-03-28 11:09:35 +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
Poul-Henning Kamp
1b9d1a091a Readdir on a CDrom would return bogus "d_type" values, potentially confusing
everybody (incl find(1) ?).  Initialize it to DT_UNKNOWN.  Maybe we can
do better, but I don't have the time.
1995-03-28 07:46:38 +00:00
Andrey A. Chernov
243823db69 Raw ttyinput test was incomplete,
add !(IGNBRK | BRKINT | PARMRK) now.
1995-03-28 06:15:44 +00:00
David Greenman
17c4c40800 Fixed typo...using wrong variable in page_shortage calculation. 1995-03-28 05:58:35 +00:00
Andrey A. Chernov
339b90b333 Fix break recording for ttyinput 1995-03-28 05:39:53 +00:00
David Greenman
0bb3a0d2f4 Fixed "pages freed by daemon" statistic (again). 1995-03-28 05:35:29 +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
e612a582cc Re-apply my "breakage" to the Nagel congestion avoidence. This version
differs slightly in the logic from the previous version; packets are now
acked immediately if the sender set PUSH.
1995-03-27 07:12:24 +00:00
David Greenman
2ddba2158c Explicitly set page dirty if this is a write fault - reduces calls to
pmap_is_modified() later.
1995-03-27 02:41:00 +00:00
David Greenman
6e14d964ac Removed some redundant 'vmio' checks. 1995-03-27 00:11:45 +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
David Greenman
8953151fc8 Removed some obsolete flags.
Submitted by:   John Dyson
1995-03-26 23:33:14 +00:00
David Greenman
f57459b632 Removed third arg (vmio) to allocbuf() that was added with the original
merged cache changes, and figure it out based on the B_VMIO buffer flag.
Fixes a problem where delayed write VMIO buffers would sometimes get
recopied into kernel-alloced memory.

Submitted by:	John Dyson
1995-03-26 23:29:13 +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
208ce078ed Remove wrong redeclarations of printf() and bzero(). Include the correct
header to declare DELAY().
1995-03-25 22:40:49 +00:00
Bruce Evans
e9f80c0133 Make untested NS code at least compile so that it doesn't break LINT. A
struct member had an old name.
1995-03-25 22:06:27 +00:00
Bruce Evans
f0d47944e2 Forward-declare kern_devconf for use in a prototype. Some drivers
include <pci/pcivar.h> without including <sys/devconf.h> and other
drivers include <pci/pcivar.h> before including <sys/devconf.h> if
certain identifiers are defined.

The devconf headers have convoluted interdependencies.  <sys/devconf.h>
includes <machine/devconf.h> which includes <pci/pcivar.h>.  Most
drivers include <sys/devconf.h> so even isa drivers depend on
<pci/pcivar.h>.  For similar reasons, most drivers depend on another
pci header, on an isa header and on two scsi headers.
1995-03-25 21:10:38 +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
David Greenman
6c534ad868 Fix logic bug I just introduced with the flags to msync(). 1995-03-25 17:44:03 +00:00
David Greenman
492d73bd99 Pass syncio flag to vm_object_clean(). It remains unimplemented, however. 1995-03-25 17:36:57 +00:00
David Greenman
1e62bc6357 Disallow both MS_ASYNC and MS_INVALIDATE flags being set at the same time
in msync().
1995-03-25 17:36:00 +00:00
David Greenman
cdfc91f0da Fixed msync() prototype. 1995-03-25 17:28:30 +00:00
David Greenman
e6c6af1149 Added "flags" argument to msync, and implemented MS_ASYNC and MS_INVALIDATE.
The MS_ASYNC flag doesn't current work, and MS_INVALIDATE will only toss out
the pages in the address space (not all pages in the shadow chain).
1995-03-25 16:55:46 +00:00
David Greenman
bc4c84cf7e Added a third "flags" argument to msync() ...as other systems have. 1995-03-25 16:52:24 +00:00
David Greenman
f2b247fab8 Added flags definitions for msync(). 1995-03-25 16:43:42 +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
David Greenman
763652056a Removed an old VMIO #ifdef and made the type of b_pages 'struct vm_page *'. 1995-03-25 08:55:02 +00:00
David Greenman
7fd9a8b12f Implemented cnt.v_reactivated and moved vm_page_activate() routine to
before vm_page_deactivate().
1995-03-25 08:47:35 +00:00
David Greenman
260295f979 Removed (almost) meaningless "object cache lookups/hits" statistic. In
our framework, these numbers will usually be nearly the same, and not
because of any sort of high 'hit rate'.
1995-03-25 08:42:14 +00:00
David Greenman
a34297995a Removed cnt.v_nzfod: In our current scheme of things it is not possible
to accurately track this. It isn't an indicator of resource consumption
anyway.
Removed cnt.v_kernel_pages: We don't implement this and doing so accurately
would be very difficult (and ambiguous - since process pages are often
double mapped in the kernel and the process address spaces).
1995-03-25 06:09:33 +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
David Greenman
3ed8a40336 Use 'p' rather than 'curproc' when appropriate. 1995-03-25 01:34:21 +00:00
David Greenman
b35ba931bd Use NDINIT macro to initialize fields for namei. 1995-03-25 01:20:38 +00:00
Garrett Wollman
a29ae2a103 Don't delete clones if they are PINNED. 1995-03-24 20:05:28 +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