Commit Graph

2844 Commits

Author SHA1 Message Date
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
Poul-Henning Kamp
32d2e89f5d The "DISTNAME" is now configured here too. 1995-03-24 02:41:47 +00:00
Garrett Wollman
ffa5b11ab5 in_var.h: in_multi structures now form a queue(3)-style LIST structure
in.c: when an interface address is deleted, keep its multicast membership
.     records (attached to a struct multi_kludge) for attachment to the
.     next address on the same interface.  Also, in_multi structures now
.     gain a reference to the ifaddr so that they won't point off into
.     freed memory if an interface goes away and doesn't come back before
.     the last socket reference drops.  This is analogous to how it is
.     done for routes, and seems to make the most sense.
1995-03-23 18:14:41 +00:00
Garrett Wollman
3545b0484c radix.c: correct exit condition in rn_walktree_from()
route.c: be a little more careful when running deleting children of dying
.        routes
1995-03-23 18:07:29 +00:00
Bruce Evans
a1c6084710 Support disk slices. This involves mainly replacing inline code with
function calls.  Broken tracking of open partitions gets fixed as a side
effect.  Races in sdopen() and sdioctl() become more numerous than before.

Close the device in sdsize().  Media removal could not have worked right
when unused swap devices were held open.  There may now be a problem
with used swap devices not being held open.

Fix ancient operator precedence bug in sddump().  It may have been
possible to attempt dumping to unloaded media.

Remove NetBSD ifdefs.  We're too different now, and the NetBSD driver was
already too different for them to be relevant.

Remove support for soft write protection.  There are no ioctls to set it,
and this driver never set it either.  It was used in the wd driver to
disable writing to unlabelled disk, but we want to support writing to
foreign partitions on unlabeled disks.

Clean up some formatting and restore some old-style function headers.
1995-03-23 16:09:01 +00:00
David Greenman
64709e7406 Deleted bogus DIAGNOSTIC "nfs_fsync: dirty" message. This can and does
happen normally when there is heavy write activity to a file since the
vnode isn't locked (NFS plays fast and loose with vnode locks). This change
"fixes" PR#267.
1995-03-23 09:43:40 +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
Rodney W. Grimes
63bc0cc148 Do not install libkern into /usr/lib, blank target install: added. 1995-03-23 07:02:14 +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
David Greenman
a54907a1a7 Restore my changes to initialize the kdc_shutdown routine pointer. Stefan
clobbered it in his previous commit and not having it causes the machine
to panic during reboot (as well as not doing the important shutdown callout).
1995-03-23 06:14:44 +00:00
David Greenman
d7a0fc9360 Fixed warning caused by returning a value in a void function (introduced
in a recent commit by me). Relaxed checks before calling vm_object_remove;
a non-internal object always has a pager.
1995-03-23 05:19:44 +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
41226e9d0a Set request sense data size from xp->req_sense_length if != 0.
Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-22 19:45:22 +00:00
David Greenman
f5cf85d40a Removed unused fifth argument to vm_object_page_clean(). Fixed bug with
VTEXT not always getting cleared when it is supposed to. Added check to
make sure that vm_object_remove() isn't called with a NULL pager or for
a pager for an OBJ_INTERNAL object (neither of which will be on the hash
list). Clear OBJ_CANPERSIST if we decide to terminate it because of no
resident pages.
1995-03-22 12:24:11 +00:00
Stefan Eßer
6bf3dde846 Remove use of unitialised variable xp->req_sense_length.
Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-22 11:00:23 +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
563128e49e Fixed potential sleep/wakeup race conditional with splhigh().
Submitted by:	John Dyson
1995-03-22 08:08:44 +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
David Greenman
c419d77e29 Added a check for wrong object size; print a warning, but deal with it
correctly. The warning will tell us that there is a bug somewhere else
in sizing the object correctly.

Submitted by:	John Dyson
1995-03-22 05:12:18 +00:00
David Greenman
8f4e17d4b2 Fixed bug in vm_mmap() where the object that is created in some cases
was the wrong size. This is the likely cause of panics reported by
Lars Fredriksen and Paul Richards related to a -1 blkno when paging
via the swap_pager.

Submitted by:	John Dyson
1995-03-22 05:08:41 +00:00
David Greenman
1b369d9858 Removed unused variable declaration missed in previous commit. 1995-03-21 23:09:53 +00:00
David Greenman
71263bf8db Removed do-nothing VOP_UPDATE() call. 1995-03-21 23:07:19 +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
Stefan Eßer
8673e05a9a Completely new PCI code:
1) Supports PCI to PCI bridge devices (and tries to initialise them,
   even if the BIOS is brain dead).
2) Supports shared PCI interrupts. Interrupt handlers now MUST return
   '0' if they found nothing to do, '1' otherwise.

New features tested with i486 systems based on the Intel Saturn and
a DEC 4channel Ethernet card only, but expected to work on most systems.

The option PCI_REMAP has been removed !

Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-21 23:01:06 +00:00
Stefan Eßer
1a4077c4c2 Stylistic changes. Update Wolfgang's e-mail address.
Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-21 22:48:36 +00:00
Stefan Eßer
b4b37e9058 Silence "gcc -Wall".
Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-21 22:43:04 +00:00
Stefan Eßer
067968d4d7 Cosmetic changes.
Submitted by:	Wolfgang Stnglmeier <wolf@kintaro.cologne.de>
1995-03-21 22:41:19 +00:00
Stefan Eßer
82c5c9a9f0 Major cleanup: Stylistic changes, 386BSD specific code removed.
Adaptec to new PCI code.

Submitted by:	Wolfgang Stnglmeier <wolf@kintaro.cologne.de>
1995-03-21 22:14:27 +00:00
Garrett Wollman
771edb14e9 Protocol-cloned routes should gain a reference to their parents to make
sure that rt->rt_parent values can never be re-used harmfully.
1995-03-21 19:50:34 +00:00
Peter Dufault
3749fcff67 Set it so you can add and remove line disciplines without replicating
code for looking for open slots in table (and you could hide the table
if you wanted to).
1995-03-21 11:24:05 +00:00
Peter Dufault
e8d9ff42ce Julian's suport of compressed tape drives. 1995-03-21 11:21:37 +00:00
Peter Dufault
3358f19c6e cd.c: Julian's CD audio cleanup
sd.c: Julian's removal of subdriver requests
st.c, scsi_tape.h: Julian's suport of compressed tape drives

Note: compressed tape drives are still not working fully.

scsiconf.h, scsi_base.c, scsi_driver.c: address problems in probes
and error console logs
1995-03-21 11:21:08 +00:00
David Greenman
bc9ad24756 Disallow non page-aligned file offsets in vm_mmap(). We don't support this
in either the high or low level parts of the VM system. Just return EINVAL
in this case, just like SunOS does.
1995-03-21 10:15:52 +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
fbcfcdf7db Fixed bug in the size == 0 case of msync() caused by a bogus return value
check..
1995-03-21 02:54:04 +00:00
David Greenman
b946193056 Fixed vinvalbuf() to work like NFS wants it to. The previous code wouldn't
flush pages in the vm object if V_SAVE was true.
1995-03-21 01:13:16 +00:00
David Greenman
7c1f6cedec Added a new boolean argument to vm_object_page_clean that causes it to
only toss out clean pages if TRUE.
1995-03-21 01:11:44 +00:00
David Greenman
3682d2baf0 Made minor readability tweak. 1995-03-20 23:00:57 +00:00
Garrett Wollman
c2bed6a371 Better fix for the deletion of parents of cloned routes problem,
superseding the `nextchild' hack.  This also provides a way
forward to fix RTM_CHANGE and RTM_ADD as well.
1995-03-20 21:30:21 +00:00
Garrett Wollman
cea0f2a090 Forgot pppcompress.c in PPP module. 1995-03-20 19:33:35 +00:00
Garrett Wollman
3432f42658 Forgot slcompress.c in SLIP module. 1995-03-20 19:31:47 +00:00
Garrett Wollman
f065639f29 The discard, tunnel, SLIP, and PPP network interface pseudo-devices
are now dynamically loadable.  It doesn't make sense to do the same
for the loopback.
1995-03-20 19:25:49 +00:00
Garrett Wollman
69244b69db Support for pseudo-device LKMs. Note that this is restricted to only
one pseudo per module (a restriction which will eventually be lifted) and
isthus not in its final form.
1995-03-20 19:20:44 +00:00
Garrett Wollman
27a15c94ed Add support for pseudo-device LKMs. 1995-03-20 19:18:51 +00:00
Garrett Wollman
20e8807c09 This should be splimp() rather than splnet() since ifaddrs might go away
as a result of link-layer processing.
1995-03-20 18:31:51 +00:00
Garrett Wollman
9b626c29f7 Fix race conditions involved in setting IP multicast options. This should
fix Dennis Fortin's problem for good, if I've got it figured out right.

(The problem was that a `struct ifaddr' could get deleted out from under
the current requester, thus leaving him with an invalid interface pointer
and causing even more bogus accesses.)
1995-03-20 18:11:31 +00:00
David Greenman
0426122fa0 Don't gain/lose an object reference in vnode_pager_setsize(). It will
cause vnode locking problems in vm_object_terminate().
Implement proper vnode locking in vm_object_terminate().
1995-03-20 10:20:42 +00:00
David Greenman
62b71ed629 Don't gain/lose a reference to the object when yanking its pages in
vinvalbuf()...it will cause vnode locking problems in vm_object_terminate,
and isn't necessary anyway.
1995-03-20 10:19:09 +00:00
David Greenman
9ba0a56334 Fixed "objde1" hang. It was caused by a "&" where an "&&" belonged in the
expression that decides if a wakeup should occur.
1995-03-20 10:14:55 +00:00
David Greenman
ff769afc81 Don't attempt to sync pages in the V_SAVE case of vinvalbuf; doing so can
lead to a deadlock. Just let the VM system deal with it.
1995-03-20 02:08:24 +00:00
David Greenman
83edfd47d8 Removed an unnecessary call to vinvalbuf after the page clean. 1995-03-20 02:06:09 +00:00
David Greenman
0bdb7528db Do proper vnode locking when doing paging I/O. Removed the asynchronous
paging capability to facilitate this (we saw little or no measureable
improvement with this anyway).

Submitted by:	John Dyson
1995-03-19 23:46:25 +00:00
David Greenman
9022e4ad9c Fixed bug introduced in the previous commit - the lock must be held until
after the call to exec_check_permissions().
1995-03-19 23:27:57 +00:00
David Greenman
f5277ae71e Lose the lock on the vnode. Changes to implement proper locking in the
vnode pager now require this.

Submitted by:	John Dyson
1995-03-19 23:08:12 +00:00
David Greenman
edf8a81561 Removed redundant newlines that were in some panic strings. 1995-03-19 14:29:26 +00:00
David Greenman
1b2cfc2645 Backed out change to panic call: As Chris just pointed out to me, panic()
does indeed work like printf(). gdb gets the string untranslated for some
reason.
1995-03-19 13:44:03 +00:00
David Greenman
967a3bf893 Fix from Doug Rabson: Don't try to release a pbuf we didn't get.
Minor style change by me.
1995-03-19 13:28:54 +00:00
David Greenman
c01a9b8ca0 Incorporated 4.4-lite vnode_pager_uncache() and vnode_pager_umount()
routines (and merged local changes). The changed vnode_pager_uncache
gets rids of the bogosity that you can call the routine without
having the vnode locked. The changed vnode_pager_umount properly locks
the vnode before calling vnode_pager_uncache.
1995-03-19 12:36:10 +00:00
David Greenman
0f52ba3503 Removed bogus, commented out, call to vnode_pager_uncache(). 1995-03-19 12:11:13 +00:00
David Greenman
50475e8bd3 Removed unnecessary call to vnode_pager_uncache(). We automatically clear
the VTEXT flag after all mappers have finished with the object.
1995-03-19 12:08:03 +00:00
David Greenman
ab828ab8bd Moved call to vnode_pager_uncache in rename() to before the VOP_RENAME.
It was previously after the VOP_RENAME and the reference and lock on
the vnode had already been lost, allowing interesting internel
inconsistencies. This is one of the two reasons why freefall was crashing
every hour or two (the other being nullfs bugs).
Don't call vnode_pager_uncache in revoke(). revoke() is only allowed on
VCHR and VBLK vnodes.
1995-03-19 11:16:58 +00:00
David Greenman
1e1ece7deb Fix a call to panic: panic doesn't do token substitution on the panic
string.
1995-03-19 09:47:32 +00:00
David Greenman
d7e3d98a5e Patch from Kirk McKusick to fix a bug introduced in the Poul's vfs_cache
rewrite.
1995-03-19 09:33:51 +00:00
Poul-Henning Kamp
c0ac91fe89 Make newvers.sh usable from other places... 1995-03-19 07:25:41 +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
David Greenman
4e83f749ec Don't sync the inode date changes of character special devices
during the FS sync. The system would appear to hang momentarily
if there was a large backlog of I/O. This is because the vnode
remains locked during the output - preventing normal character
I/O. The problem was exacerbated by the FFS contiguous block
allocation fixes and a semi-broken disksort(). The inode/date
will still be synced during a normal FS dismount and whenever
the inode is changed for other reasons.
1995-03-18 18:03:29 +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
David Greenman
0338878131 Woops, add back that #define...it's used later in the file. 1995-03-18 07:06:51 +00:00
David Greenman
9e4817309b Fixed comments and removed b_cylinder #define. 1995-03-18 06:38:04 +00:00
David Greenman
89247e0412 Integrated change from 1.1.5: Fixed broken disksort to sort by pblkno
rather than by cylinder.
1995-03-18 06:32:48 +00:00
David Greenman
806e386083 In vm_page_alloc_contig: Removed a redundant semicolon and used 'm' instead
of &pga[i] in one place.
1995-03-18 01:04:36 +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
Justin T. Gibbs
b8d72a5ae8 Make the aic7xxx assembler take quoted strings as a single token.
Make $Id the version variable which required the quoted string "feature".
1995-03-17 23:54:17 +00:00
Garrett Wollman
e1838a91c1 Beginnings of support for loadable pseudo-devices. bsd.kmod.mk support
and Makefiles for the more interesting ones to come on Monday.
1995-03-17 22:02:18 +00:00
Steven Wallace
c8c244128f Change probe output to gus0 instead of snd4. 1995-03-17 21:27:39 +00:00
David Greenman
45e3e324cc Changed some (incorrect) nfsrv_vput()'s back into regular vput()'s. This
fixes the last of the known NQNFS problems (until I find more, that is :-)).
1995-03-17 07:45:19 +00:00
Poul-Henning Kamp
5edd0e154f <libkern/libkern.h> has moved to <sys/libkern.h> (repository copy).
Since /usr/include/libkern doesn't and shouldn't exist, this is the
least evil way to handle this.
1995-03-17 06:15:40 +00:00
Poul-Henning Kamp
2b65c0b067 Remove a spurious printf. 1995-03-17 04:39:41 +00:00
David Greenman
cb09d35cb0 Added a new field to the pci_device struct called pd_shutdown to specify
a device specific shutdown routine for devconf. Assign the value of this
to the kern_devconf struct. Implement a device shutdown routine for if_de
that disables the device. This will stop the device from corrupting memory
after a reboot.
1995-03-17 04:27:21 +00:00
David Greenman
3e3eb41588 Call dev_shutdownall() just after unmounting filesystems. 1995-03-17 04:19:19 +00:00
David Greenman
6a21a04a14 Changed names of goaway routines into shutdown routines. 1995-03-17 04:18:07 +00:00
Garrett Wollman
bbf3a56610 Add four more filesystem flags:
VFCF_NETWORK (this FS goes over the net)
	VFCF_READONLY (read-write mounts do not make any sense)
	VFCF_SYNTHETIC (data in this FS is not real)
	VFCF_LOOPBACK (this FS aliases something else)

cd9660 is readonly; nullfs, umapfs, and union are loopback; NFS is netowkr;
procfs, kernfs, and fdesc are synthetic.
1995-03-16 20:23:48 +00:00
Garrett Wollman
cff19ac2ef Statically-compiled filesystems now use a VFCF_STATIC flag rather than
abusing the refcount.
1995-03-16 18:31:00 +00:00
Garrett Wollman
1025071f85 Reject source routes unless configured on by administrator. 1995-03-16 18:22:28 +00:00
Bruce Evans
b5e8ce9f12 Add and move declarations to fix all of the warnings from `gcc -Wimplicit'
(except in netccitt, netiso and netns) and most of the warnings from
`gcc -Wnested-externs'.  Fix all the bugs found.  There were no serious
ones.
1995-03-16 18:17:34 +00:00
Stefan Eßer
11098d3bad Prepare for shared interrupts (required by the new PCI code that adds
support for PCI PCI bridges, e.g. found on 4ch. Ethernet cards).

Submitted by:   Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-16 17:41:20 +00:00
Garrett Wollman
ef0cdf3329 Add inet_ntoa() and replace ARP's private routine with same. 1995-03-16 17:32:27 +00:00
Stefan Eßer
9b2fa02dd9 Prepare for shared interrupts (required by the new PCI code that adds
support for PCI PCI bridges, e.g. found on 4ch. Ethernet cards).

Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-16 17:31:19 +00:00
Bruce Evans
3bf0c362ad Remove isa/prof_machdep.c. It doesn't exist yet. 1995-03-16 17:18:49 +00:00
Garrett Wollman
d99c7a23fa This set of patches enables IP multicasting to work under FreeBSD. I am
submitting them as context diffs for the following files:

sys/netinet/ip_mroute.c
sys/netinet/ip_var.h
sys/netinet/raw_ip.c
usr.sbin/mrouted/igmp.c
usr.sbin/mrouted/prune.c

The routine rip_ip_input in raw_ip.c is suggested by Mark Tinguely
(tinguely@plains.nodak.edu). I have been running mrouted with these patches
for over a week and nothing has seemed seriously wrong. It is being run in
two places on our network as a tunnel on one and a subnet querier on the
other. The only problem I have run into is that mrouted on the tunnel must
start up last or the pruning isn't done correctly and multicast packets
flood your subnets.

Submitted by:	Soochon Radee <slr@mitre.org>
1995-03-16 16:25:55 +00:00
Stefan Eßer
f37ec55185 Make ncr.c compile again (PRINT_ADDR() had been patched
into the middle of a printf() by a buggy diff ...).

Submitted by:	rgrimes
1995-03-16 13:02:40 +00:00
Peter Dufault
66b0ec7d86 Plug lurking bug when a device returns ASC:ASCQ 0xff:0xff 1995-03-15 22:42:25 +00:00
Stefan Eßer
8e95bee6d4 Conditionalise debug message.
Submitted by:	Peter Dufault <dufault@hda.com>
1995-03-15 18:15:32 +00:00
Bruce Evans
fe7172b1a6 Fix support for extended partitions (forgot to release the buffer). 1995-03-15 16:25:08 +00:00
Peter Dufault
1a084a9abd Change it so it doesn't say "probe0" for SCSI probe "device". 1995-03-15 14:44:01 +00:00
Peter Dufault
de6a307ec7 Document scsi options 1995-03-15 14:27:01 +00:00
Peter Dufault
7a162ba150 Add scsi/scsi_sense.c 1995-03-15 14:23:18 +00:00
Peter Dufault
73d664ca78 1. Add text for ASC/ASCQ
2. Clean up probe messages.  This is how I propose it looks for 2.1 so
if you don't like it you have my e-mail address.
1995-03-15 14:22:12 +00:00
David Greenman
5eb7d0cd2e Special cased the handling of mb_map in the M_WAITOK case. kmem_malloc()
now returns NULL and sets a global 'mb_map_full' when the map is full.
m_clalloc() has further been taught to expect this and do the right thing.
This should fix the "mb_map full" panics that several people have reported.
1995-03-15 07:52:06 +00:00
David Greenman
e8f1ce6f5a Added $Id$ 1995-03-14 22:15:36 +00:00
David Greenman
2c8fe19f89 pcb allocations are not always done on behalf of a process; it is not
okay to wait.
1995-03-14 21:50:55 +00:00
David Greenman
d41f24e742 Added support for generic FDDI and the DEC DEFEA and DEFPA FDDI adapters.
Submitted by:	Matt Thomas
1995-03-14 09:16:07 +00:00
David Greenman
78dfa6036a Removed "-D" option and made symbols load all the time. They will be
discarded if the kernel isn't built with DDB.
1995-03-14 08:21:53 +00:00
Steven Wallace
a91ccb55cf Change device entry examples to reflect the following:
Remove PAS-only entry for OPL as ache pointed out.
Update OPL comment to show OPL-2 or OPL-3 support as it is auto-detected.
1995-03-13 18:49:37 +00:00
Steven Wallace
12fd08535f Remove old snd file configuration list and add new file list
for the snd controller and the different sound devices.

Update LINT to include all sound device drivers using new format.

Reviewed by:	wollman
1995-03-12 23:43:15 +00:00
Steven Wallace
1e25d964d2 Reorganize how sound devices are configured. Use a snd controller
with individual devices for each type of sound card:
  opl, sb, sbxvi, sbmidi, pas, mpu, gus, gusxvi, gusmax, mss, uart

EXCLUDE_* options are no longer required to be included in the config file.
They are automatically determined by local.h depending on the devices
included.

Move #includes in local.h to os.h so files are included in the proper
order to avoid warnings.

soundcard.c now has additional code to reflect the device driver
routines needed.

Define new EXCLUDE_SB16MIDI for use in sb16_midi.c and dev_table.h.

#ifndef EXCLUDE_SEQUENCER or EXCLUDE_AUDIO have been added to
soundcard.c and sound_switch.c where appropriate.

Probe outputs changed to reflect new device names.

Readme.freebsd not needed.  Update sound.doc with new config instructions.

Reviewed by:	wollman
1995-03-12 23:34:12 +00:00
Joerg Wunsch
82f5379bc5 Finally get rid of this bothering ``biodone: buffer already done''
warning.  The buffer needs only to be `biodone()' again if the format
operation timed out; otherwise fdstate() did already do the job.
1995-03-12 22:40:56 +00:00
Ugen J.S. Antsilevich
9870b4d2de Allocate memory as M_IPFW,now we can watch firewall memory usage
in vmstat..
1995-03-12 13:28:13 +00:00
Ugen J.S. Antsilevich
a28fb64b82 Save all changed devices so thet dset would be able to retrive
data and device driver could change it as it wishes to..
1995-03-12 13:25:51 +00:00
Ugen J.S. Antsilevich
3f033b0f76 Add M_DEVS for list of saved isa_device's
and M_IPFW for firewall chans memory on the same opportunity,
theese types of memory are unique enough to have own identifiers and
besides vmstat looks much more useful and right for those now
1995-03-12 13:25:01 +00:00
Ugen J.S. Antsilevich
341dbf8041 Add id_next field to struct isa_device,this does not
breaks anything and needed only in userconfig to make dset work
for now..
1995-03-12 13:23:10 +00:00
Bruce Evans
1475d9283e Move a kernel inline function inside `#ifdef KERNEL' so that including
<vm/vm.h> doesn't cause warnings about nonexistent functions called
by the inline function.  Clean up the formatting of the function.
1995-03-12 12:42:00 +00:00
Bruce Evans
133d0cef4e Fix config-time syntax errors in sound options. 1995-03-12 12:18:43 +00:00
Atsushi Murai
9cfb8f7ee9 Adding tunnel pseudo-device for Network Installation with User process PPP.
Reviewed by:	amruai@spec.co.jp
1995-03-12 12:10:35 +00:00
Bruce Evans
ec00834c18 Finish the previous change. The device name got lost in diskerr(). 1995-03-12 08:17:30 +00:00
David Greenman
c4ed5a07a5 Fixed obsolete comment. 1995-03-12 08:11:34 +00:00
David Greenman
6879ca0fcd Deleted vm_object_setpager(). 1995-03-12 08:05:46 +00:00
David Greenman
61ca29b0e5 Deleted vm_object_setpager(). 1995-03-12 07:58:29 +00:00
David Greenman
4bb624613f Explicitly set object->flags = OBJ_CANPERSIST. 1995-03-12 07:56:06 +00:00
Poul-Henning Kamp
47f196941e Update a couple of counters. 1995-03-12 02:01:20 +00:00
David Greenman
3d2a8cf3d9 Added a comment. 1995-03-11 22:29:07 +00:00
David Greenman
17dda4c929 Added some additional DIAGNOSTIC code that makes sure that freed
memory addresses and types are with the valid range. Increased
MAX_COPY to 256 (used to verify no freed memory use with DIAGNOSTIC).
1995-03-11 22:28:16 +00:00
David Greenman
a14e8fd032 Fix completely bogus comment. 1995-03-11 22:25:20 +00:00
David Greenman
63635f5ae2 Clear OBJ_INTERNAL flag for device pager objects and named anonymous
objects.
1995-03-11 22:25:02 +00:00
David Greenman
9a4bf98e66 Removed gratuitous and *extremely* evil setting of OBJ_INTERNAL. This
caused a cascade of problems including kernel memory corruption, file
corruption, system hangs, and panics.
1995-03-11 22:23:14 +00:00
Poul-Henning Kamp
5511b2e4f3 A substantial change to the way this works. Not the "TEST_LABELING" is
a option you can turn on and of on the fly, as is debugging.
1995-03-11 09:32:45 +00:00
Poul-Henning Kamp
fc20488fba Moved bb stuff to support.s per Bruces suggestion. 1995-03-11 03:49:50 +00:00
David Greenman
07be9bd45f Increased default minfree to 8%. 1995-03-10 22:18:16 +00:00
David Greenman
e23c0ff5a0 The threshold for switching from time-space and space-time is too small
when minfree is 5%...so make it stay at space in this case.

Submitted by:	Kirk McKusick
1995-03-10 22:11:50 +00:00
David Greenman
57677027ac Patch to fix quota panic from Mike Karels:
allow Q_SYNC regardless of "target" uid, we allow it with -1;
fix bug that caused all ops to refer to user quotas, not group.

Submitted by:	Mike Karels
1995-03-10 22:06:39 +00:00
David Greenman
f8a0b2dd88 Reorganized an if() expression for efficiency. 1995-03-10 21:18:24 +00:00
David Greenman
914e6eb70d Whoops, back out that last change - I misread what Poul had done there. 1995-03-10 20:29:51 +00:00
David Greenman
dbd90d413f Don't thrash the name cache while trying to fill up the object cache.
(Make a new cache entry until desiredvnodes is reached).
1995-03-10 20:26:29 +00:00
David Greenman
a74a73d96c Removed some #include's of unnecessary include files. 1995-03-10 08:44:20 +00:00
Poul-Henning Kamp
9eefa8bfc4 Add a dummy ___bb_init_func for BB profiling of the kernel.
To use this: recompile src/gnu/usr.bin/cc, compile your kernel.  The
files you want to profile should be compiled with '-a -g'.  "strip -x"
the kernel and run.  You don't need to profile all files in the kernel.
My next commit is the program to extract the data from the running kernel.
1995-03-10 08:41:26 +00:00
David Greenman
b4abbbcad3 kmem_alloc() returns zero-filled memory; it isn't necessary to bzero()
it.
1995-03-10 08:13:07 +00:00
David Greenman
90c47808bb Removed unnecessary routines vm_get_pmap() and vm_put_pmap().
kmem_alloc() returns zero filled memory, so no need to explicitly
bzero() it.
1995-03-10 08:05:00 +00:00
Poul-Henning Kamp
bff1f1d0dd Clean up and improve the namecache.
1. We always keep one 16th of the vnodes on the freelist, so that the
namecache doesn't get trashed.  It used to be that it wasn't a problem, but
the only vnodes getting released these days are directories and things which
Clean up and improve the namecache.

1. We always keep one 16th of the vnodes on the freelist, so that the
namecache doesn't get trashed.  It used to be that it wasn't a problem, but
the only vnodes getting released these days are directories and things which
gets forced out of the VM/cache.  The latter is not numerous enough to keep
the pool of vnodes needed for the namecache sufficiently big.

2. Purge invalid entries in the namecache as soon as we notice them.  This
avoids a stale entry pushing out a valid entry on the LRU list.

3. Speed up the lookup in the namecache by avoid a special case branch.

4. Make the cache purge routines do the thing they're supposed to, and in
a decently efficient manner.

5. Make the size of the namecache follow the number of vnodes, so that we
can always point to all the vnodes we have in core.

6. Readability has gone way up.

7. Added a "options NCH_STATISTICS" feature that will gather more
detailed statistics on the performance of the namecache.

Reviewed by:    davidg
1995-03-09 20:27:21 +00:00
Poul-Henning Kamp
fbd6e6c9ef Clean up and improve the namecache.
1. We always keep one 16th of the vnodes on the freelist, so that the
namecache doesn't get trashed.  It used to be that it wasn't a problem, but
the only vnodes getting released these days are directories and things which
Clean up and improve the namecache.

1. We always keep one 16th of the vnodes on the freelist, so that the
namecache doesn't get trashed.  It used to be that it wasn't a problem, but
the only vnodes getting released these days are directories and things which
gets forced out of the VM/cache.  The latter is not numerous enough to keep
the pool of vnodes needed for the namecache sufficiently big.

2. Purge invalid entries in the namecache as soon as we notice them.  This
avoids a stale entry pushing out a valid entry on the LRU list.

3. Speed up the lookup in the namecache by avoid a special case branch.

4. Make the cache purge routines do the thing they're supposed to, and in
a decently efficient manner.

5. Make the size of the namecache follow the number of vnodes, so that we
can always point to all the vnodes we have in core.

6. Readability has gone way up.

7. Added a "options NCH_STATISTICS" feature that will gather more
detailed statistics on the performance of the namecache.

Reviewed by:    davidg

(cvs is dumping core on me :-(  )
1995-03-09 20:27:04 +00:00
Poul-Henning Kamp
b2e10d6d6f Clean up and improve the namecache.
1. We always keep one 16th of the vnodes on the freelist, so that the
namecache doesn't get trashed.  It used to be that it wasn't a problem, but
the only vnodes getting released these days are directories and things which
gets forced out of the VM/cache.  The latter is not numerous enough to keep
the pool of vnodes needed for the namecache sufficiently big.

2. Purge invalid entries in the namecache as soon as we notice them.  This
avoids a stale entry pushing out a valid entry on the LRU list.

3. Speed up the lookup in the namecache by avoid a special case branch.

4. Make the cache purge routines do the thing they're supposed to, and in
a decently efficient manner.

5. Make the size of the namecache follow the number of vnodes, so that we
can always point to all the vnodes we have in core.

6. Readability has gone way up.

7. Added a "options NCH_STATISTICS" feature that will gather more
detailed statistics on the performance of the namecache.

Reviewed by:	davidg
1995-03-09 20:23:45 +00:00
Ugen J.S. Antsilevich
6a8cccb088 Remove redundant IORW definition..
because of this definition never ioctl's for sound
devices worked..For me this resulted also in  loss of
snd1 device...
1995-03-08 18:43:49 +00:00
Poul-Henning Kamp
a0e8a1e29b Another little optimization to the nameicache.
If an entry is stale, ditch it.
1995-03-08 01:40:44 +00:00
Poul-Henning Kamp
2425396b27 Improve the quality of the hash used in the namei-cache. 1995-03-08 01:08:03 +00:00
Søren Schmidt
edf16d1564 Added ata.c device driver file.
Just so I don't have to repatch files.i386 again & again...
1995-03-07 21:15:30 +00:00
David Greenman
d8cb3fb153 Increased number of buffers to 1/12 of (page_count - 1024). This makes the
cache minimum closer to 10% in the usual case.
1995-03-07 19:58:02 +00:00
David Greenman
5dcf309046 Removed most of the special policy regarding the seperation of VMIO and
dir/metadata buffers as it seems to have anomolous effects.
1995-03-07 19:53:27 +00:00
David Greenman
0007244260 Set VAGE flag when pager is destroyed. This usually happens when an
object has fallen off the end of the cached list - this is likely the
last reference to the vnode and it should be reused before non file
vnodes that are already on the free list (VDIR mostly).
1995-03-07 19:04:10 +00:00
David Greenman
79f7a9e1ef Added a new flag "VAGE" to indicate that the vnode should go on the head
of the free list.
1995-03-07 19:00:47 +00:00
David Greenman
acc835fd3f Put VAGE vnodes at the head of the free list. 1995-03-07 18:59:45 +00:00
David Greenman
f2da180f8e Fixed object reference count problem that occurred in the MAP_PRIVATE
case after we rewrote vm_mmap(). Added some comments to make it easier
to follow the reference counts.
1995-03-07 17:27:49 +00:00
David Greenman
be6d5bfac7 Don't attempt to reverse collapse non OBJ_INTERNAL objects. 1995-03-07 17:25:46 +00:00
Justin T. Gibbs
06f0e1ceb8 Be careful to maintain the bits in SBLKCTL that are reserved. 1995-03-07 09:00:44 +00:00
Justin T. Gibbs
7896fbec24 Compile cleanly -Wall. Remove some code that was an attempt to make
the 294x probe more stable, but since the guess was wrong, go back to
the clearer aproach I used the first time around.
1995-03-07 08:59:28 +00:00
Justin T. Gibbs
433c166775 Compile cleanly -Wall. 1995-03-07 08:58:22 +00:00
Peter Dufault
558b7c23d1 Submitted by: bde@zeta.org.au (Bruce Evans)
Fix it so that calls to extend_get won't dereference 0 when "swap
on sd.." calls sdsize() on systems with no SCSI devices.

This probably really fixes Poul's "boot with no SCSI" problem.
1995-03-06 15:02:13 +00:00
Ugen J.S. Antsilevich
7332d95a98 Restore IPACCT out there.. 1995-03-06 10:33:34 +00:00
Poul-Henning Kamp
30f467d84a Update vfs_cache.c to use the <sys/queue.h> macros. This makes it easier
to read, but doesn't change the speed.

Reviewed by:	phk
Obtained from:	via NetBSD
1995-03-06 06:45:52 +00:00
David Greenman
7c89bce067 Removed an old (commented out) call to cldisksort(). This has been
obsolete since 4.4 clustering.
1995-03-06 05:40:44 +00:00
David Greenman
e1acba5ab1 Remove some of my old debugging junk that somehow slipped in under my nose. 1995-03-06 05:36:59 +00:00
Nate Williams
7e58dfddc1 The new ld has apparently uncovered the bug that sio.c and tty.c
both define ttydefchars[] as globals.  This was fixed in 1.1.5
by making ttydefchars[] static like it should always have been.

Submitted by:	Bruce Evans <bde@zeta.org.au>
1995-03-06 02:50:49 +00:00
Nate Williams
9617d8b1f6 Removed unnecessary define for TCPOUTFLAGS since they are not used. 1995-03-06 02:49:24 +00:00
Joerg Wunsch
2389804061 Make `p'' an explicit alias for `print'' instead of being an
implicit alias for ``panic'', since this seems to be more rational.
1995-03-05 22:56:21 +00:00
Joerg Wunsch
d83a2a270d Update to beta3.20/b22
pcvt_ioctl.h doesn't belong to here.
1995-03-05 22:26:21 +00:00
Joerg Wunsch
1076e16083 Update to beta3.20/b22 1995-03-05 22:25:44 +00:00
Joerg Wunsch
0aff94e169 Make pcvt actually work. 1995-03-05 22:24:59 +00:00
Joerg Wunsch
68cfe626f7 pcvt is still using the XSERVER option; document this. 1995-03-05 22:23:35 +00:00
Steven Wallace
66e456c58e Revert to earlier code which contains FreeBSD snd[1-7] probe information,
$Id$ information, and other code to make sound driver compile and work
correctly with FreeBSD.

Integrate changes obtained from Sujal Patel.  These changes are:
 o  local.h:  reverse option logic from EXCLUDE_* to AUDIO_*
 o  pas2_mixer.c:  small addition
 o  ad1848.c:  minor change with macro names
 o  sequencer.c:  minor change with note check
 o  many spelling corrections in comments in about every other file
1995-03-05 22:11:57 +00:00
Jordan K. Hubbard
feadd38979 Reserve cdev 63 for Brian Litzinger & his Talisman Lite MPEG decoder
Submitted by:	Brian Litzinger <brian@MediaCity.com>
1995-03-05 21:41:40 +00:00
Peter Dufault
0f48de1c30 Fix when SCSI_DEBUG turned on. Thanks to Michael Reifenberger. 1995-03-05 20:01:44 +00:00
Jordan K. Hubbard
3c931b7071 Have dmabuf.c match the roll-back in soundcard.c. We should be making
better noises again.
Submitted by:	Sujal Patel <smpatel@wam.umd.edu>
1995-03-05 08:10:28 +00:00
Bill Paul
bf3e3428b6 Changed the printf()s in npxattach a bit so you don't end up with
messages like this:

wdc0 at 0x1f0-0x1f7 irq 14 on isa
wdc0: unit 0 (wd0): <ST506>
wd0: size unknown, using BIOS values: 615 cyl, 4 head, 17 sec, bytes/sec 512
npx0 at 0xf0-0xff irq 13 on motherboard
npx0: changing root device to wd0a
^^^^^^

The spurious 'npx0: ' pops up if you have a 386 with a 387 FPU.
1995-03-05 04:06:44 +00:00
Jordan K. Hubbard
383fc89445 Correct some of the spelling. 1995-03-05 04:06:11 +00:00
Jordan K. Hubbard
7a31e4deeb Revert change on advice of author.
Submitted by:	Sujal Patel <smpatel@wam.umd.edu>
1995-03-05 04:01:29 +00:00
Andrey A. Chernov
21a3970b05 PLEASE, PLEASE, PLEASE!!!!!!!
DO NOT COMMIT NEW VOXWARE VERSIONS BLINDLY, TAKE CARE TO RESTORE
PAS16D FIXES, I AM REALLY TIRED TO DO IT WITH EACH NEW RELEASE!!!
1995-03-05 03:28:38 +00:00
Jordan K. Hubbard
7b936a1e66 Remove a gratutious cast. 1995-03-04 21:14:19 +00:00
Jordan K. Hubbard
ca83dc2de1 Upgrade the sound drivers to VoxWare pre-3.0 and fix a number of bugs.
Make the sound configuration a little neater
	(see /sys/i386/isa/sound/Readme.freebsd)
Add support for the Microsoft Sound Source.
Document the sound options again.
Submitted by:	Sujal Patel <smpatel@wam.umd.edu>
Obtained from:	Voxware
1995-03-04 21:11:21 +00:00
Peter Dufault
108b30f402 Add processor type and worm drivers 1995-03-04 20:53:18 +00:00
Peter Dufault
33bc833290 Add processor type and worm type drivers 1995-03-04 20:52:38 +00:00
Peter Dufault
f29b7a5d14 1. Change driver signatures to full signature for slice support.
2. Add "pt" (processor type) driver.
3. Add "worm" (Write Once) driver for Jordan.
1995-03-04 20:51:10 +00:00
Nate Williams
c79eac4c4c Weak symbol support from NetBSD. This should bring us in sync with the
NetBSD ld code except for local changes for dlopen() and friends and
the hashing on the minor value of the shlibs.  We should be binary
compatible now with all their libraries.

Obtained from: NetBSD
1995-03-04 17:49:20 +00:00
David Greenman
9bd1697199 Added some more of John's "anti-chatter" fixes - set the page activation
count to 0 after activating the page; the previous behavior biased the
pages too high in some cases.

Submitted by:	John Dyson
1995-03-04 15:16:07 +00:00
Bruce Evans
b09e27e3d0 Remove unused common variable `extended'. 1995-03-04 12:36:55 +00:00
Bruce Evans
7262c5ee2c Support extended DOSpartitions.
Accept even suspicious partitions.

Moved most handling of the compatibility slice to dsopen().

Report i/o errors.
1995-03-04 11:44:05 +00:00
Bruce Evans
2973a0eba4 Don't warn about missing labels for non-BSD slices.
Don't print debugging messages by default.

Initialize the compatibility slice here and not in the machine-dependent
code.

Fix initialization of the label for the whole disk slice.

Make it clear that write protection of labels doesn't apply when there is
no label.
1995-03-04 11:42:27 +00:00
Bruce Evans
17fb427c08 Fake the geometry to be 32 sectors * 64 heads * (vn->sc_size / 2048)
cylinders instead of vn->sc_size * 1 * 1.

Remove unnecessary tests of the unit numbern vnioctl().
1995-03-04 11:08:26 +00:00
Bruce Evans
80eee75ed9 Add a type field to struct diskslice. 1995-03-04 11:05:44 +00:00
David Greenman
af78195e00 Reduced loopback MTU to 16k to work around a miriad of problems with it
set near or above 32k (likely caused by 16bit signed word overflow). 16k
actually (surprizingly) has higher performance than other values I tested.
1995-03-04 04:28:50 +00:00
David Greenman
403ef252fa Removed obsolete vtrace() remnants. 1995-03-04 03:24:45 +00:00
David Greenman
812a11a2ec Removed obsolete vtrace() and reorganized a little. 1995-03-04 02:25:36 +00:00
Andrey A. Chernov
537907d280 Fix flag bugs with RUKEYMAP 1995-03-03 23:12:20 +00:00
David Greenman
3b7517f887 Preserve reverse link integraty while doing the queue insertion. 1995-03-03 22:14:42 +00:00
David Greenman
22470903a0 Fixes from John Dyson to work around vnode lock hang. Basically, remove
the VOP_BMAP calls, and add one to bdwrite.

Submitted by:	John Dyson
1995-03-03 22:13:16 +00:00
Peter Dufault
1ea3a7260a Make sure there is a device before opening. Fixes NULL access
when opening unattached devices.
1995-03-03 21:38:43 +00:00
Nate Williams
00076281bf Make in lkm/syscons fails due to missing include for apm stuff.
Submitted by:	John Capo <jc@irbs.com> and John Hay <jhay@mikom.csir.co.za>
1995-03-03 18:38:00 +00:00