Commit Graph

2957 Commits

Author SHA1 Message Date
dufault
a644aba501 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
wpaul
d9a6e86fa7 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
wpaul
20571a3249 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
wollman
8be3caee2a Make class names easier to type 1995-04-13 20:37:51 +00:00
dg
20e8a2d3d9 Backed out previous change - it reduces performance. (oops). 1995-04-13 18:24:33 +00:00
wollman
234ee48c9e Actually copy the class field over from the kernel to the user structure. 1995-04-13 15:33:14 +00:00
dg
3cf86b2d0e Slight optimization to select(). 1995-04-13 15:27:51 +00:00
wollman
7e90d0e2aa 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
ache
fdacac9026 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
ache
84030e5de8 Comment out ttcompat via COMPAT_SUNOS too
Fix error handling initial/callout devices
1995-04-13 09:22:40 +00:00
wpaul
8eae6154a2 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
dg
02e9c53b97 Various changes from Matt Thomas to improve media selection and fix
support for the DC21140.
1995-04-13 04:46:40 +00:00
jkh
fc0a9a0881 DISTNAME="2.0-950412-SNAP" 1995-04-12 23:29:14 +00:00
phk
30e53f439b Add "BREAK_TO_DEBUGGER" option. 1995-04-12 22:02:51 +00:00
phk
1ffa98c382 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
wollman
6a8d3a357d 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
669ed5b46e 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
phk
be7d63258b 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
dg
b915c765f3 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
ache
7cbdad3531 Read of a record smaller then request size always fails
Submitted by: edward@edcom.com
1995-04-11 19:09:31 +00:00
ache
6fc35f489e Fix link sys call
Submitted by: pritc003@maroon.tc.umn.edu
1995-04-11 18:32:17 +00:00
ache
2486829178 Call new ttsetcompat() function for proper working
old v7 ioctls with locking bits.
1995-04-11 17:58:09 +00:00
ache
a569d0b92c Extract "set" family functions to separate module, needed for
locking in sio f.e.
1995-04-11 17:54:25 +00:00
ache
8dd2e3731f Add new ttsetcompat function (from tty_compat) 1995-04-11 17:53:14 +00:00
bde
49bffa9247 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
bde
7f98df5944 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
dg
c1c54df7da 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
jkh
f1537076e2 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
wollman
f84d3527ca 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
wollman
2dd0dfd6ac 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
phk
a80ca977ce I got that wrong,
lnc0	@ 0x280
	lnc1	@ 0x300

moved le0 into sorted sequence.
1995-04-10 19:13:51 +00:00
phk
dd4d4b34d9 lnc0 is @ 0x300
lnc1 is @ 0x280
1995-04-10 19:12:29 +00:00
wollman
99573a4b94 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
ache
22aeb7b080 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
737b1e8264 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
dg
30e9776583 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
dg
95eb1b8365 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
dg
01191f6af4 Added splnet protections for PCB list manipulations and traversals. 1995-04-10 08:52:45 +00:00
phk
6c71a242b3 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
ache
37c4de5626 Call ptsstop in ptsclose instead of ptcwakeup 1995-04-10 01:45:43 +00:00
dg
eb729114f7 Backed out Jordan's #include of queue.h 1995-04-10 00:43:18 +00:00
ache
526fc7d335 ptcwakeup() was called from wrong places 1995-04-09 22:28:24 +00:00
jkh
409c5ad6ef #include <sys/queue.h> or die horribly. 1995-04-09 16:46:47 +00:00
jkh
5867e2b515 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
jkh
1ea7aa0d25 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
jkh
6718d7b9e4 Bump this to 950408-SNAP. 1995-04-09 07:17:45 +00:00
gibbs
ff034bb17f 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
gibbs
59da37e6eb 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
rgrimes
d98e2983c7 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
dg
adc0215de6 From John Dyson: Disabled multi-sector I/O. It is causing some people
problems.
1995-04-09 06:09:31 +00:00
dg
b804a53282 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
dg
78a655a046 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
dg
f0addea29b Cosmetic changes. 1995-04-09 05:40:38 +00:00
dg
57ebd3303a 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
dg
919fdebd0e Implemented PCB hashing. Includes new functions in_pcbinshash, in_pcbrehash,
and in_pcblookuphash.
1995-04-09 01:29:31 +00:00
dg
cc2a98d4eb Added a few more entries to the list of prime numbers. 1995-04-09 01:19:25 +00:00
phk
64c299d6a9 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
2feff74c28 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
ache
7ed7f2756d pca: change IO_PPI to IO_TIMER1 due to syscons conflict 1995-04-08 16:08:35 +00:00
joerg
a5e4ad5c0c 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
2aef2c3165 Update pcvt to 3.20 b24 1995-04-08 15:49:25 +00:00
phk
0f0e39bba4 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
phk
724e4f8790 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
ache
098a54ed40 Add port IO_PPI for pca per Bruce suggestion 1995-04-06 14:01:20 +00:00
ache
4e2880fc99 Print "on isa" for devices with port==0 per Bruce suggestion 1995-04-06 13:55:56 +00:00
rgrimes
9c0b0dd073 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
rgrimes
80d01221fb 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
jkh
86e424aef2 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
jkh
514f77deae Correct the watchdog routine.
Submitted by:	"Serge A. Babkin" <babkin@hq.icb.chel.su>
1995-04-05 13:12:13 +00:00
olah
ccccd069f4 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
dg
c4aa7861a3 From Matt Thomas: Finished EISA support. 1995-04-05 08:19:23 +00:00
nate
153c2880e3 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
ache
6832380034 Print "on motherboard" for isa? devices with id_iobase == 0 1995-04-04 22:48:40 +00:00
sos
d2045dc812 Fixes to the hardware cursor emulation.
Submitted by:	ache
1995-04-04 20:06:26 +00:00
dg
b86194c345 Added UIO_NOCOPY. 1995-04-04 17:01:49 +00:00
ache
4a06ed7d30 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
dg
53dc7cf457 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
dg
08ef2481b8 Added prototype for phashinit() function. 1995-04-04 02:02:28 +00:00
dg
b3c54e9bcd 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
dg
27e6941140 Fixed the formatting breakage I added in the previous commit. 1995-04-04 01:35:33 +00:00
ache
20dc61c2a1 Allow serial console BREAK to DDB
Use com->unit in several places
1995-04-03 10:29:14 +00:00
nate
e4473f322d 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
wpaul
2ae9b2c5ef Fix implicit declaration the right way. (This has not been a good
weekend for me.)
1995-04-03 00:25:06 +00:00
wpaul
faec5c2bf6 Fix implicit declaration of cngetc(). 1995-04-02 23:02:17 +00:00
ache
eab75a8312 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
ache
91b1b6003f 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
bde
c73d54cc9e Remove redundant declarations. 1995-04-02 19:05:09 +00:00
joerg
7d745e5a93 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
ache
6f677cd55f 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
ache
6aac130fa4 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
ache
c32d1c8a89 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
ache
c52ef7084e 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
wpaul
4628637ad1 Add declaration for struct ether_addr (this is where Sun documents
it to go).
1995-04-02 01:26:26 +00:00
bde
0080c196f8 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
ache
f8689ba88f 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
ache
141a7c0b20 Adjust TS_CAN_BYPASS_L_RINT state after l_open(), t_line
can be changed there.
1995-04-01 22:57:43 +00:00
ache
b0e83cf07d slopen() never sets t_line to SLIPDISC, but uses slip-specific queue allocation 1995-04-01 22:11:10 +00:00
joerg
1c0c97a80b 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
96f56f5d20 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
bde
23411ef52e 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