Commit Graph

15908 Commits

Author SHA1 Message Date
peter
6b5a8d602e Fix typo (wrong path) 1999-06-29 21:40:05 +00:00
peter
8fd8236771 Reconcile all the loader newvers.sh's into one common one. 1999-06-29 21:23:26 +00:00
peter
b911e1234c Don't use head/tail - they don't exist in a 'make world' environment.
(Why do we have three copies of this script anyway?)
1999-06-29 21:06:16 +00:00
mph
fb5bf6fe15 Correct spelling of NMBCLUSTERS in a comment.
Submitted by:	Peter Radcliffe <pir@pir.net>
1999-06-29 19:06:16 +00:00
peter
d4b259f874 With asbestos suit on, make the options indenting a little more consistant
so that it doesn't screw up the alignment when commenting out an entry.
Also dequote two entries that do not need it.
1999-06-29 18:58:27 +00:00
peter
73e721b175 Put on my asbestos suit and attempt to tidy up and add some simple docs
or notes to make it much more obvious what things are for people who
have not committed LINT to memory yet.
1999-06-29 18:55:53 +00:00
peter
9df9bf36b2 Dequote like on the i386 configs. Also remove some references to old
i386 isa drivers that used to be order sensitive.  The probe order of
those drivers is now determined by a list in isa_compat.c and config
file order is totally irrelevant.
1999-06-29 18:24:09 +00:00
yokota
0676b04846 idev->id_irq is an interrupt MASK, not an interrupt number.
Thus, we need to convert the mask to the number (by ffs()) when
writing back this value to the resource in save_resource().
1999-06-29 17:37:44 +00:00
yokota
7fb3641907 Keyboard allocation/deallocation fix.
- Do not try to allocate a keyboard in pccnprobe() when probing the vt
  driver for the kernel console.  Rather, allocate a keyboard when
  initializing the vt driver in pccninit().
- Release the keyboard in pccnterm().
- Don't try to read from the keyboard, if it is not present.
1999-06-29 17:36:20 +00:00
yokota
27806ee0a3 Allocate the port resource when attaching the keyboard controller,
rather than when the individual child device is attached.
1999-06-29 17:35:09 +00:00
yokota
8d2a7d799c Skip the device if it is disabled, when searching for a serial port
to be used for the kernel console in sccnprobe().
1999-06-29 17:34:16 +00:00
yokota
934ebfaf1b Fill in tp->t_windowsize AFTER the call to (*linesw[tp->t_line].l_open)(),
rather than BEFORE the call.  Otherwise the structure will be `zero'ed out
by l_open, which actually is ttyopen(), if !TS_OPEN.

PR: kern/12420
1999-06-29 17:30:33 +00:00
roger
ec30ce339b Stop signals being generated after meteor_close.
Update METEORSSIGNAL to disable signals by setting the signal to 0.

PR:		i386/10533
Submitted by:	Frode Vatvedt Fjeld <frodef@dslab7.cs.uit.no>
1999-06-29 16:45:51 +00:00
peter
893e0d6d36 (mostly) fix ordering. 1999-06-29 16:14:20 +00:00
mckusick
582bbe6a3b No longer need to set B_ASYNC flag since BUF_KERNPROC now
unconditionally sets the identity of the buffer.
1999-06-29 15:57:40 +00:00
peter
5f8ebc1b91 Hopefully fix the remaining glitches with the BUF_*() changes. This should
(really this time) fix pageout to swap and a couple of clustering cases.

This simplifies BUF_KERNPROC() so that it unconditionally reassigns the
lock owner rather than testing B_ASYNC and having the caller decide when
to do the reassign.  At present this is required because some places use
B_CALL/b_iodone to free the buffers without B_ASYNC being set.  Also,
vfs_cluster.c explicitly calls BUF_KERNPROC() when attaching the buffers
rather than the parent walking the cluster_head tailq.

Reviewed by:	Kirk McKusick <mckusick@mckusick.com>
1999-06-29 05:59:47 +00:00
grog
0a692c6a09 Lock buffer before calling strategy.
Idea-stolen-from:	peter (sys/dev/ccd/ccd.c revision 1.49)
1999-06-29 04:10:05 +00:00
grog
3645b5b2f4 close_drive:
Correct race condition between caller and daemon.

  Tripped-over-by:	Zach Heilig <zach@uffdaonline.net>
			Bernd Walter <ticso@cicely.de>
			Niels Chr. Bank-Pedersen <ncbp@bank-pedersen.dk>
1999-06-29 04:08:51 +00:00
grog
37d4cc3c46 Correct type of intializer for (undocumented) cdevsw.d_parms.
Submitted-by:	peter
1999-06-29 04:07:55 +00:00
luoqi
4ee0d623ca Save common_tssd before it's loaded and the busy bit set.
Submitted by:	bde
1999-06-28 15:34:54 +00:00
peter
bbe9a3f06f Fix a bug that was almost certainly making breadn() fail. BUF_KERNPROC()
was being called on the wrong bp - it should be called on the one that's
just about to be fed to VOP_STRATEGY().
1999-06-28 15:32:10 +00:00
kato
836f488cc5 Typo: BUF_INITLOCK -> BUF_LOCKINIT and BUF_FREELOCK -> BUF_LOCKFREE. 1999-06-28 14:01:03 +00:00
des
81a1333c81 Use the correct value for banksize so splash_pcx works in LFB modes. 1999-06-28 13:52:29 +00:00
kato
d13ed34863 Sync with sys/i386/isa/clock.c revision 1.138. 1999-06-28 13:11:16 +00:00
kato
b601ed220a Sync with sys/i386/i386/userconfig.c revision 1.146. 1999-06-28 13:10:03 +00:00
kato
a6bac2371e Sync with sys/i386/i386/machdep.c revision 1.344. 1999-06-28 13:08:59 +00:00
kato
4e506f57f0 Sync with sys/i386/conf/Makefile.i386 revision 1.156. 1999-06-28 13:07:58 +00:00
peter
5ecb2e0dad Fix a KASSERT() that was negated and lead to:
nfs_strategy: buffer 0xxxxx not locked
when you attempted to write and had INVARIANTS turned on.
1999-06-28 12:34:40 +00:00
peter
debb5dbb90 Fix page fault in visual userconfig's save code. (I only use normal
userconfig, my original tweaks to visual mode were not well tested)

Submitted by:	Peter Holm <peter@holm.cc>
1999-06-28 12:07:36 +00:00
phk
7faf98030f make va_fsid be of type udev_t 1999-06-28 10:35:07 +00:00
peter
9a460a1161 Add some extra alpha_pal_imb()'s in overkill mode. This makes this PC164SX
run quite reliably now.  I've explicitly tagged them as /* XXX overkill? */
although one does actually check for VM_PROT_EXECUTE.

Based on a suggestion by:  Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
1999-06-28 09:38:09 +00:00
peter
88bef0081c Use the same -UKERNEL strategy as the alpha to avoid the inlines etc. 1999-06-28 09:21:41 +00:00
peter
7f6f706641 Don't #include i386/isa/isa_dma.h - it's in isa/isavar.h now. This
driver is probably not far from being MI now anyway.
1999-06-28 09:19:58 +00:00
peter
cafc37474e Revert back to not using -DKERNEL - it exposes inlines etc.
Zap symbols.raw and glue to make symbols.* - it's not used on the ELF-only
alpha kernel.  Symbol sorting is dead-end anyway once libkvm uses the
in-kernel linker symbol lookup.
1999-06-28 09:18:44 +00:00
peter
b27aea1e8e Revert back to not using -DKERNEL 1999-06-28 09:15:35 +00:00
peter
467b1db545 Move struct prochd out of #ifdef KERNEL so the Alpha genassym can get
at it.
1999-06-28 09:14:18 +00:00
peter
64f5069512 Tweak include ordering so sys/systm.h is before sys/buf.h to keep buf.h's
inlines happy.
1999-06-28 09:12:46 +00:00
mckusick
0d5e2c5c4f When requesting an exclusive lock with LK_NOWAIT, do not panic
if LK_RECURSIVE is not set, as we will simply return that the
lock is busy and not actually deadlock. This allows processes
to use polling locks against buffers that they may already
hold exclusively locked.
1999-06-28 07:54:58 +00:00
phk
50faed161f Hmm, might as well make all of BEFORE_DEPEND first in case make depend
wasn't run.
1999-06-28 07:19:51 +00:00
phk
771a9642c3 Also make pci_if.h early if make depend wasn't run. 1999-06-28 07:10:55 +00:00
phk
2e0584f725 Make bus_if.h and device_if.h as early as possible if make depend hasn't
been run.
1999-06-28 07:06:21 +00:00
n_hibma
188adeba87 Add MultiTech Atlas modem 1999-06-27 22:28:02 +00:00
n_hibma
7725b5c306 Remove superfluous semi-colon 1999-06-27 22:24:20 +00:00
peter
5d3d376190 Kirk missed a required BUF_KERNPROC(). Even though this is a non-async
transfer, the b_iodone hook causes biodone() to release it from interrupt
context.
1999-06-27 22:08:38 +00:00
alc
f03495d396 An SMP-specific change: Remove an unnecessary lock acquire and release
from every system call.  (Storing a 32-bit constant is inherently
atomic.)

Reviewed by:	Matthew Dillon <dillon@apollo.backplane.com>
1999-06-27 21:31:43 +00:00
peter
9ecc5dac27 Make <sys/buf.h>'s inlines happier. 1999-06-27 20:52:22 +00:00
mjacob
63f64fbefe add description of Qlogic ISP FC Full Duplex option 1999-06-27 19:35:23 +00:00
mjacob
bdf6f33fa0 add config option for fibre channel full duplex 1999-06-27 19:28:26 +00:00
peter
80b4d1b002 Keep the inlines for <sys/buf.h> happy.. 1999-06-27 13:26:23 +00:00
peter
6d9ab211eb Minor tweaks to make sure (new) prerequisites for <sys/buf.h> (mostly
splbio()/splx()) are #included in time.
1999-06-27 11:44:22 +00:00
peter
0b4727f459 The BUF_*() routines must be internally splbio() protected otherwise they
can cause a biodone() from a disk interrupt to spin when the interrupt
code tries to grab the simplelock.  Masking BIO here means buftimelock
and/or lk->lk_interlock shouldn't be held when an interrupt tries to grab
them.
1999-06-27 11:40:03 +00:00
n_hibma
92b7206e3f Replace usbd_device_set_desc by device_set_desc_copy 1999-06-27 09:42:40 +00:00
dfr
87df68dfcd Call the chained module handler before unregistering the syscall so that
errors can be detected.

Submitted by: "A.Yu.Isupov" <isupov@moonhe.jinr.ru>
PR:	      kern/12239
1999-06-27 09:38:44 +00:00
peter
320f4b564f Initialize and hold locks for ccd generated bufs..
Obtained from: Matt Dillon <dillon@backplane.com>
1999-06-27 09:28:43 +00:00
peter
442c2839a5 Make SMP work again. lockmgr() needed to be told to free the buftimelock
interlock.
1999-06-27 09:13:19 +00:00
peter
468a830ab3 Shut up gcc. 1999-06-27 09:08:48 +00:00
peter
e77d71685c There isn't much point waking up a daemon that hasn't existed since
softupdates came in.  Try calling speedup_syncer() instead..
1999-06-26 14:56:58 +00:00
peter
f27334b347 GC the remnants of the old pre-softupdates update daemon. It's been
#if 0'd for a fair while now.
1999-06-26 14:46:35 +00:00
peter
8aa37ce938 I'm tired of having a 'hanging root device'.. This isn't a "fix", just
a workaround for a specific case where cam interrupts right in the middle
of this printf.
1999-06-26 14:44:24 +00:00
n_hibma
b5184a290e Remove unused variable and computation, possibly leading to a
divide by zero fault.

Possible fix for PR12041

PR:		12041
Submitted-By:	J.Hudson@massey.ac.nz
Reviewed-By:	nsouch
1999-06-26 14:42:17 +00:00
peter
c9608015c6 Quick fix to make libcam compile.. I don't know about the rest of world
yet.
1999-06-26 14:25:03 +00:00
n_hibma
d8ee6d4f59 Change 'device' to 'self', to be more like the rest of the code 1999-06-26 12:55:25 +00:00
peter
cee8d47a59 Make genassym compile - the recent buf locking changes meant that more
things from #ifdef KERNEL were needed.
1999-06-26 12:45:17 +00:00
peter
301f725178 ABS_SET() and BSS_SET() are no longer used. The sole remaining user of
TEXT_SET() is DDB's command tables.
1999-06-26 12:27:01 +00:00
peter
99ec5c753f Quieten some warnings as a result of changes in ls_items[] constness over
time.
1999-06-26 12:19:03 +00:00
dfr
418f613da5 * Call cdevsw_remove from the MOD_UNLOAD event.
* Fix a couple of warnings while I'm here.
1999-06-26 11:39:27 +00:00
peter
46dbaefa80 Fix a dev_t/udev_t issue 1999-06-26 11:00:17 +00:00
peter
fc28486c8d #if 0 an unused function since it generates warnings.. (I have not deleted
it in case it's part of a bigger plan.)
1999-06-26 10:52:54 +00:00
dfr
f1511ed53d Make sure that we record the flags in all cases.
Submitted by: Bernd Walter <ticso@cicely.de>
PR:	      kern/12399
1999-06-26 10:27:30 +00:00
mckusick
5b58f2f951 Convert buffer locking from using the B_BUSY and B_WANTED flags to using
lockmgr locks. This commit should be functionally equivalent to the old
semantics. That is, all buffer locking is done with LK_EXCLUSIVE
requests. Changes to take advantage of LK_SHARED and LK_RECURSIVE will
be done in future commits.
1999-06-26 02:47:16 +00:00
pb
3213b13650 In in_pcbconnect(), check the return value from in_pcbbind() and
exit on errors.

If we don't, in_pcbrehash() is called without a preceeding
in_pcbinshash(), causing a crash.

There are apparently several conditions that could cause the crash;
PR misc/12256 is only one of these.

PR:		misc/12256
1999-06-25 23:46:47 +00:00
kato
2521c38302 From submitter:
The attached diff attempts to eliminate as much of the difference
between the i386 and the pc98 version of the file as possible.  It
should not make any semantic difference (it consists of whitespace
changes, order changes, comment changes, changes of case for hex
constants, and merging in a couple of constants that hadn't made it
from the i386 version.)

Submitted by:	eivind
1999-06-25 15:17:20 +00:00
pb
5ed26c8f51 Never return the root node itself from rn_match(); return NULL instead.
This caused a panic in rtfreee() called with a root node from the
routing socket code (when processing a RTM_GET message looking for
the default route while there is none).

Since no existing code seems to have any use getting the root node
from rn_match(), it seems cleaner never to return it rather than
check for this condition at the caller's.

PR:		kern/12265
1999-06-25 13:43:30 +00:00
sos
1823d8fdf6 Nine'th update to the new ATA/ATAPI driver:
The atapi subsystem has gotten better error handeling and timeouts,
it also tries a REQUEST SENSE command when devices returns errors,
to give a little more info as to what went wrong. It might be a
little verbose for now, but I'm interested in as much feedback on
errors as possible, especially timeouts, as I'm a bit in doubt if
I've chosen resonable default values everywhere.

The disk driver has been changed a bit to prepare for tagged queing,
which is next on my list.

The disk driver has grown a dump routine, I got one implementation
from Darrell Anderson <anderson@cs.duke.edu> which also did
partial dumps (usefull on big memory machines) I left out the
partial stuff for now, and changed the rest alot to fit into the new
ad_request framework.

Some minor cleanups and rearrangements as well.

As usual USE AT YOUR OWN RISK!!, this is still pre alpha level code.
Especially the DMA support can hose your disk real bad if anything
goes wrong, again you have been warned :)
Notebook owners should be carefull that their machines dont suspend
as this might cause trouble...

But please tell me how it works for you!

Enjoy!

-Søren
1999-06-25 09:03:07 +00:00
grog
700cc4b9df Add function cdevsw_remove, the opposite of cdevsw_add: remove an
entry in cdevsw (and bdevsw if appropriate).

Reviewed-by: phk
1999-06-25 07:49:01 +00:00
jlemon
7d10aa0cf6 Fix warning message; that was 4GB, not 2GB. I apparently can't do
arithmetic today.
1999-06-24 20:53:24 +00:00
jlemon
fed18f54cd Explicitly ignore any memory > 2GB, we don't support it yet. 1999-06-24 20:47:11 +00:00
jlemon
d72e128047 Only include AMD wt_alloc routines if I586_CPU is defined. Fixes
CPU_WT_ALLOC for cyrix chips.

Submitted by:	"Brian Smith" <dbsoft@technologist.com>
1999-06-24 20:08:56 +00:00
mjacob
be4c63bf19 (corrections for type change in softc) 1999-06-24 16:42:33 +00:00
mjacob
1d3007c47d Bruce pointed out I was being silly with volatile.
Submitted by:	bde@freebsd.org
1999-06-24 16:34:00 +00:00
mjacob
437fb50af9 Quirk Tandberg 4100 like Tandberg 4200.
PR:		11675
Reviewed by:	msmith@FreeBSD.ORG
Submitted by:	blank@uni-trier.de
1999-06-24 15:21:10 +00:00
kato
5c8c1d98a3 Sync with sys/dev/syscons/scvtb.c revision 1.2.
Submitted by:	yokota
1999-06-24 14:03:07 +00:00
yokota
af2f08c3ae Fix ESC[P (delete N chars) and ESC[@ (insert N chars). These deletion
and insertion should affect the line the cursor is on only.

This change should have been committed together with syscons.c rev 1.308.
(I forgot to do so, when I committed syscons.c :-(

Pointed out by: sos
1999-06-24 13:04:33 +00:00
kato
3e3cf46989 Merge with sys/isa/syscons_isa.c and sys/dev/syscons/syscons.c
revisions 1.6 and 1.308, respectively.

Pointed-out by:		yokota
1999-06-24 12:13:08 +00:00
kato
2e2fe43a35 PC98 part of the second phase of syscons reorganization.
Submitted by:	yokota
1999-06-24 10:51:40 +00:00
yokota
21179cd7f0 Fix ESC[P (delete N chars) and ESC[@ (insert N chars). These deletion
and insertion should affect the line the cursor is on only.
1999-06-24 09:21:27 +00:00
yokota
c04bb8d0ca Declare the correct size of softc and fix sc_get_softc(). 1999-06-24 09:06:48 +00:00
grog
314bcdc31b set_drive_state:
If the drive goes down, queue a close to the daemon.  In many cases
  this function gets called in process context, so it could do it
  directly, but it's more trouble finding out where we came from than
  getting the daemon to do it.
1999-06-24 08:57:16 +00:00
grog
7dbbfe09e7 build_request_buffer:
Don't bzero the buffer structure, it's been done already by
  allocrqg.

sdio:
  Build up a correct buffer header, don't steal linkages from system
  buffer headers.

Noticed-by: mckusick
1999-06-24 08:56:03 +00:00
grog
427805d961 Split close_drive into two parts to ensure correct locking against the
daemon before closing a drive.
1999-06-24 08:55:02 +00:00
grog
49d2ee55e5 Implement daemonrq_closedrive function to close a drive. 1999-06-24 08:54:09 +00:00
grog
d5fdb124e1 free_drive:
Use new function close_locked_drive to close the drive.
1999-06-24 08:53:14 +00:00
grog
8d8bf4059a Clarify some comments.
struct request:
  Add a daemon function to close drives when they go down.
1999-06-24 08:52:27 +00:00
kato
2dc95534a1 Sync with sys/i386/isa/clock.c revision 1.137. 1999-06-24 08:32:52 +00:00
kato
093c06a9f5 Sync with sys/i386/conf/options.i386 revision 1.118. 1999-06-24 08:31:08 +00:00
grog
4621a54de7 Reenable Vinum build 1999-06-24 05:21:19 +00:00
jlemon
513c620785 Allow the Ross host to PCI bridge to appear as a PCI bus. This permits
my Compaq 3000 to recognize the secondary bus.
1999-06-24 04:06:26 +00:00
jlemon
4406bd85b5 Add ida/id lines 1999-06-24 03:54:54 +00:00
green
a680ffebc3 This commit gives support for the Rise mP6 CPU. It has two changes:
1. Rise is recognized in identdcpu.c.
	2. The TSC is not written to. A workaround for the CPU bug is being
	   applied to clock.c (the bug being that the mP6 has TSC enabled
	   in its CPUID-capabilities, but it only supports reading it. If we
	   try to write to it (MSR 16), a GPF occurs.) The new behavior is that
	   FreeBSD will _not_ zero the TSC. Instead, we do a bit of 64-bit
	   arithmetic.

Reviewed by:	msmith
Obtained from:	unfurl & msmith
1999-06-24 03:48:25 +00:00
jlemon
3a4d99ff11 Fix more disordering I missed last time. 1999-06-24 03:44:10 +00:00
jlemon
83402818a9 fix disordering 1999-06-24 03:42:14 +00:00
jlemon
204af53907 Add IDA files 1999-06-24 03:40:17 +00:00
jlemon
362176b2d0 Compaq Smart RAID driver for -current. Based on the original ida.c
driver by Mark Dawson.  This probably needs some work, but is stable
enough to boot a RAID-only configuration, and survive `make world'.
1999-06-24 03:33:30 +00:00
msmith
e7aad4d041 From the submitter:
wfd driver code tries to give wd driver first crack at ioctl's,
    but incorrectly interprets internal error and never gets to send
    eject to ATAPI device.

(this is fixed in the atapi-fd driver)

PR:		kern/12218
Submitted by:	Simon Walton <simonw@cinesite.com>
1999-06-24 03:09:11 +00:00
msmith
35d9b23915 Changes in the way that the APs are started appears to have removed the
problem with having more CPUs than NCPU.

PR:		kern/4255
Submitted by:	peter
1999-06-23 23:02:38 +00:00
luoqi
1a5d949c86 Do not setup 4M pdir until all APs are up. 1999-06-23 21:47:24 +00:00
ru
1e7459a41e -mdoc fix. 1999-06-23 09:06:18 +00:00
julian
7dc5713bf7 Matt's NFS fixes.
Submitted by: Matt Dillon
Reviewed by: David Cross, Julian Elischer, Mike Smith, Drew Gallatin
  3.2 version to follow when tested
1999-06-23 04:44:14 +00:00
grog
cee9cc579d Backout last change. strerror doesn't exist in the kernel.
Spotted-by: 	"David E. Cross" <crossd@cs.rpi.edu>
1999-06-23 00:31:27 +00:00
msmith
171c883fd5 Remove an unnecessary panic when sparse PCI bus numbering is encountered.
This is found eg. on some Compaq  Proliant systems.

Submitted by:	peter
1999-06-22 20:54:25 +00:00
obrien
e88a3e6903 Wrap the definition of "XE_DEBUG" so it is overridable from the ``cc''
commandline or kernel conf file.
1999-06-22 19:21:00 +00:00
obrien
28ec06e877 Fix conflicts. 1999-06-22 19:19:46 +00:00
obrien
8b6052a98b This commit was generated by cvs2svn to compensate for changes in r48114,
which included commits to RCS files with non-trunk default branches.
1999-06-22 19:12:08 +00:00
obrien
b8a2078ebc Virgin import of Xircom PCCARD driver v1.20 (1999/06/13):
* Conformance with Dingo specification. This includes:
	Collision/error statistics gathering.
	Multicast address filtering, eg. the hash filter.
	Initialisation and interrupt handling sequences.
Note that I've started on some of this already in v1.20.

* The probe routine needs some more work, to identify oddities such as the
  REM10.

* There are still problems with the autonegotiation code; specifically, it
  won't autonegotiate with some 10/100 hubs.  This might simply be the hardware
  not getting along, in which case there's nothing we can do, but it's still
  worth investigating

* CEM28/CEM33 support.  Should be able to integrate this directly from the
  Linux code.

* Performance enhancements:
	Full-duplex on 10Mbit networks.
	Virtual shared-memory mode.
	Early send and receive modes.

Developed by:	Scott Mitchell <scott@uk.freebsd.org>
Obtained from:	http://www.freebsd-uk.eu.org/~scott/xe_drv/
1999-06-22 19:12:08 +00:00
obrien
8bb05ed25e Virgin import of Xircom PCCARD driver v1.20 (1999/06/13):
* Conformance with Dingo specification. This includes:
	Collision/error statistics gathering.
	Multicast address filtering, eg. the hash filter.
	Initialisation and interrupt handling sequences.
Note that I've started on some of this already in v1.20.

* The probe routine needs some more work, to identify oddities such as the
  REM10.

* There are still problems with the autonegotiation code; specifically, it
  won't autonegotiate with some 10/100 hubs.  This might simply be the hardware
  not getting along, in which case there's nothing we can do, but it's still
  worth investigating

* CEM28/CEM33 support.  Should be able to integrate this directly from the
  Linux code.

* Performance enhancements:
	Full-duplex on 10Mbit networks.
	Virtual shared-memory mode.
	Early send and receive modes.

Developed by:	Scott Mitchell <scott@uk.freebsd.org>
Obtained from:	http://www.freebsd-uk.eu.org/~scott/xe_drv/
1999-06-22 19:12:08 +00:00
yokota
4f4eb0cfe5 The second phase of syscons reorganization.
- Split syscons source code into manageable chunks and reorganize
  some of complicated functions.

- Many static variables are moved to the softc structure.

- Added a new key function, PREV.  When this key is pressed, the vty
  immediately before the current vty will become foreground.  Analogue
  to PREV, which is usually assigned to the PrntScrn key.
  PR: kern/10113
  Submitted by: Christian Weisgerber <naddy@mips.rhein-neckar.de>

- Modified the kernel console input function sccngetc() so that it
  handles function keys properly.

- Reorganized the screen update routine.

- VT switching code is reorganized.  It now should be slightly more
  robust than before.

- Added the DEVICE_RESUME function so that syscons no longer hooks the
  APM resume event directly.

- New kernel configuration options: SC_NO_CUTPASTE, SC_NO_FONT_LOADING,
  SC_NO_HISTORY and SC_NO_SYSMOUSE.
  Various parts of syscons can be omitted so that the kernel size is
  reduced.

  SC_PIXEL_MODE
  Made the VESA 800x600 mode an option, rather than a standard part of
  syscons.

  SC_DISABLE_DDBKEY
  Disables the `debug' key combination.

  SC_ALT_MOUSE_IMAGE
  Inverse the character cell at the mouse cursor position in the text
  console, rather than drawing an arrow on the screen.
  Submitted by: Nick Hibma (n_hibma@FreeBSD.ORG)

  SC_DFLT_FONT
  makeoptions "SC_DFLT_FONT=_font_name_"
  Include the named font as the default font of syscons.  16-line,
  14-line and 8-line font data will be compiled in.  This option replaces
  the existing STD8X16FONT option, which loads 16-line font data only.

- The VGA driver is split into /sys/dev/fb/vga.c and /sys/isa/vga_isa.c.

- The video driver provides a set of ioctl commands to manipulate the
  frame buffer.

- New kernel configuration option: VGA_WIDTH90
  Enables 90 column modes: 90x25, 90x30, 90x43, 90x50, 90x60.  These
  modes are mot always supported by the video card.
  PR: i386/7510
  Submitted by: kbyanc@freedomnet.com and alexv@sui.gda.itesm.mx.

- The header file machine/console.h is reorganized; its contents is now
  split into sys/fbio.h, sys/kbio.h (a new file) and sys/consio.h
  (another new file).  machine/console.h is still maintained for
  compatibility reasons.

- Kernel console selection/installation routines are fixed and
  slightly rebumped so that it should now be possible to switch between
  the interanl kernel console (sc or vt) and a remote kernel console
  (sio) again, as it was in 2.x, 3.0 and 3.1.

- Screen savers and splash screen decoders
  Because of the header file reorganization described above, screen
  savers and splash screen decoders are slightly modified.  After this
  update, /sys/modules/syscons/saver.h is no longer necessary and is
  removed.
1999-06-22 14:14:06 +00:00
brian
c630b95121 Don't get caught in an infinite recursion when PKT_ALIAS_REVERSE
is set.
Document PKT_ALIAS_REVERSE.

Pointed out by:	Jonathan Hanna <jh@cr1003333-a.crdva1.bc.home.com>
PR:		12304
1999-06-22 11:20:03 +00:00
phk
ec871a354c Pass the current timecounter to pps_event(). 1999-06-22 10:31:30 +00:00
peter
64e8e1a4e0 Handle suspend/resume methods
Obtained from: Warner Losh <imp@freebsd.org>
1999-06-22 09:44:00 +00:00
alc
f972513d8f Remove (1) "extern" declarations for variables that were previously
made "static" and (2) initialized but unused variables.
1999-06-22 07:18:20 +00:00
grog
55ba1edd6e Add some comments about the VINUMMINOR macro, which is not for human
consumption.
1999-06-22 05:41:36 +00:00
grog
fc53ed5c93 bre: Don't loop if we try to access an invalid plex type. This is
typically the case when the expurgated version of Vinum tries to
     access a RAID-5 plex.
1999-06-22 05:40:51 +00:00
grog
509ff2a734 Be more intelligent about attaching subdisks to plexes. 1999-06-22 05:37:57 +00:00
grog
c5a2037a4f Print more legible error message if a drive open fails. 1999-06-22 05:37:05 +00:00
grog
1cfd386cb0 Modify to work with phk's latest mods to cdevsw. This is a temporary
fix; it doesn't address the problem of removing the module.  If you do
the following:

  vinum stop
  fsck /dev/vinum/VOLUME

you *will* get a system crash.  What we need is a cdevsw_remove
corresponding to cdevsw_add, but that hasn't been written yet.

Submitted-by: phk
1999-06-22 05:36:13 +00:00
mckusick
269bde5a40 When allocating new buffers in getnewbuf, there are several points
at which we may sleep. So, after completing our buffer allocation
we must ensure that another process has not come along and allocated
a different buffer with the same identity. We do this by keeping a
global counter of the number of buffers that getnewbuf has allocated.
We save this count when we enter getnewbuf and check it when we are
about to return. If it has changed, then other buffers were allocated
while we were in getnewbuf, so we must return NULL to let our parent
know that it must recheck to see if it still needs the new buffer.
Hopefully this fix will eliminate the creation of duplicate buffers
with the same identity and the obscure corruptions that they cause.
1999-06-22 01:39:53 +00:00
n_hibma
443c47f388 Only print the device name once, during attach (device_quiet) 1999-06-21 21:32:15 +00:00
rnordier
0571a0f633 Fill in bi_bios_geom[] in the bootinfo structure passed to the kernel.
This should resolve the problem raised in PR 12315, and incidentally
makes it easier to determine what geometry the BIOS is actually using
(by way of boot -v and dmesg).
1999-06-21 18:27:02 +00:00
hoek
580755b7c8 Correctly return ENOEXEC for really short zipped files. The way this is
done is less-than cute, but this whole file is suffering from some amount
of bitrot.  Execution of zipped files should probably be implemented in a
manner similar to that of #!/interpreted files.

PR:		kern/10780
1999-06-21 16:23:13 +00:00
kato
c93d5ba964 Sync with sys/i386/i386/machdep.c revision 1.342. 1999-06-21 11:14:27 +00:00
kato
88d2704813 Sync with sys/i386/conf/majors.i386 revision 1.77. 1999-06-21 11:12:25 +00:00
kato
8e460e1641 Sync with sys/i386/conf/files.i386 revision 1.247. 1999-06-21 11:11:39 +00:00
grog
196a4d4309 dsopen: Print a message if the unit has an invalid sector size.
Reviewed-by:	ken, bde
1999-06-21 03:48:16 +00:00
alc
72c18c01ff Remove vm_object::cache_count and vm_object::wired_count. They are
not used.  (Nor is there any planned use by John who introduced them.)

Reviewed by:	"John S. Dyson" <toor@dyson.iquest.net>
1999-06-20 21:47:02 +00:00
wpaul
24b8cb9aaa Tweak FIFO and DMA thresholds to improve performance and reduce likelyhood
of RX FIFO overruns.

Submitted by: bde
1999-06-20 18:56:09 +00:00
mjacob
9ccae46aef Quirk NOLUNS cabletron device.
PR:		11677
Submitted by:	"Matthew N. Dodd" <winter@jurai.net>
1999-06-20 18:19:44 +00:00
n_hibma
1c9d24db05 1) Do not include usbdivar.h and access the interface descriptor through
usbd_get_interface_descriptor
2) remove soft reset. It's been dropped from the USB Mass Storage Bulk-Only
   Specification
3) move the clear feature halt to the reset routine.
1999-06-20 15:46:13 +00:00
peter
615565283a Use the proper interfaces to find if a device is enabled, don't dig into
the bus mechanism's private internals!
1999-06-20 13:10:09 +00:00
jb
a110f12708 Bump the __FreeBSD_version number now that libc_r contains a wrapper
for the poll syscall.
1999-06-20 08:34:24 +00:00
alc
aa61764b70 Set cnt.v_page_size to PAGE_SIZE rather than DEFAULT_PAGE_SIZE so that
"vmstat -s" reports the correct value on the Alpha.

Submitted by:	Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
1999-06-20 04:55:29 +00:00
grog
ded53d5e01 Correct description of Vinum. 1999-06-20 04:35:22 +00:00
jkh
123a8903b7 Clean up some of the documentation at the top. 1999-06-20 03:36:46 +00:00
alc
a2a75e8015 For consistency with other implementations, check for the existence
of the segment before checking its permissions.

PR:		kern/11999
Submitted by:	Brooks Davis <brooks@one-eyed-alien.net>
1999-06-19 23:53:13 +00:00
rnordier
156dba23c0 Provide for enabling/disabling each slice individually. 1999-06-19 21:40:55 +00:00
rnordier
f3313ef5a0 Fix use of e_phoff in place of e_phnum. 1999-06-19 20:50:38 +00:00
rnordier
5f25113ddb Correct and clarify some comments. 1999-06-19 20:40:32 +00:00
wpaul
1daacd7eaa Add device rl0 to GENERIC. Also add al0 (ADMtek PCI ethernet) which I
forgot to do previously.
1999-06-19 20:25:25 +00:00
rnordier
a65645ce8a Goodbye to vaules, becasue, similiar, backgroud, aquired, freelisat, etc. 1999-06-19 20:20:52 +00:00
wpaul
bf694850c4 Fix up the RealTek 8139 driver to work on FreeBSD/alpha. This involves a
few changes:

- there was a bug in rl_list_tx_init(): it was calculating the registers
  to initialize incorrectly. Not a problem on the x86 where unaligned
  access are allowed, but a problem on the alpha.

- set rl_btag accordingly depending on the machine type

- rl_rxeof() needs to be sure to longword-align the packet data. This
  is a little tricky since we copy the data out of the receive buffer
  using m_devget(), however there's no way to tell m_devget() to fill
  in the mbufs starting at a particular offset. To get around this,
  we tell m_devget to copy bytes+2 bytes starting at offset offset-2. This
  results in the proper alignment, and we can trim off the two leading
  bytes afterwards with m_adj(). We also allocate some extra space before
  the start of the receive buffer so that we don't get into trouble in
  the case where offset == 0.

- redefine vtophys() in if_rlreg.h for the alpha.

Making this chipset work on the alpha is sort of the inverse of putting
a jet engine on a rowboat (putting a propeller on a 747?) but when
you can get these things for $5 a pop, it's hard to stop people from
buying them.
1999-06-19 20:17:38 +00:00
mjacob
63ed685667 Thanks to Bruce for noticing this.... compare against the *new* nfsnode's
mount point for seeing whether or not the new nfsnode is already in the
hash queue. We're pretty much guaranteed that the old nfsnode is already
in the hash queue. Wank! Infinite Loop! Looks like just a minor typo....
(ah the influence of fortran ... np && np2... why not nfsnode_the_first &&
nfsnode_the_second???)...
1999-06-19 19:33:44 +00:00
green
280f8f95b4 This is the much-awaited cleaned up version of IPFW [ug]id support.
All relevant changes have been made (including ipfw.8).
1999-06-19 18:43:33 +00:00
alc
c9ce3ad902 Remove some unused function and variable declarations. 1999-06-19 18:42:53 +00:00
phk
1048fa7301 Add a new interface ioctl, to return "aux status".
This is inteded for to allow ifconfig to print various unstructured
information from an interface.

The data is returned from the kernel in ASCII form, see the comment in
if.h for some technicalities.

Canonical cut&paste example to be found in if_tun.c

Initial use:
        Now tun* interfaces tell the PID of the process which opened them.

Future uses could be (volounteers welcome!):
        Have ppp/slip interfaces tell which tty they use.
        Make sync interfaces return their media state: red/yellow/blue
        alarm, timeslot assignment and so on.
        Make ethernets warn about missing heartbeats and/or cables
1999-06-19 18:42:31 +00:00
dfr
d99f3d7a93 Add a fast version of bcmp which compares longwords at a time.
Submitted by: Peter Jeremy <jeremyp@gsmx07.alcatel.com.au>
1999-06-19 16:30:28 +00:00
dfr
e4892b3b21 Adjust mcclock lines to avoid config(8) warning. 1999-06-19 13:12:51 +00:00
dfr
5033931c40 Convert signalling NaNs to quiet NaNs as specified by the Alpha Architecture
Reference Manual.

Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
1999-06-19 11:54:35 +00:00
green
4c5e0997f8 Add RCS strings to kernel ipfilter files. 1999-06-19 11:35:41 +00:00
grog
06c3ad86b4 sioprobe: Don't try to initialize disabled ports. In particular,
attempting to initialize sio3 caused problems with ATI video boards,
which cleverly share the I/O space.

PR: kern/12295
1999-06-19 08:14:56 +00:00
green
a916e56dd3 This should fix ipfilter for everyone it was broken for. CDEV_MAJOR is _not_
-1.

Noticed by: users on freebsd-current
1999-06-19 02:54:04 +00:00
wpaul
2f586076cd Add a transmit descriptor usage counter and use it to absolutely,
positively not let ti_encap() fill up the TX ring all the way and wrap
around. This fixes a potential transmit lockup where a really fast
machine (or particular TX traffic pattern) can overrun the end of the
ring.

Reported by: John Plevyak <jplevyak@inktomi.com>
1999-06-19 00:36:56 +00:00
rnordier
517a8eacaf Change active flag handling; sanity check passed drive number; pass
partition pointer to bootstrap; optimise away 10 bytes; cosmetics.
1999-06-18 21:49:18 +00:00
green
c9de5b7165 K6-family MTRR support
This is tested, but I really can't say whether it works entirely. I
don't know exactly what to look for when testing it. So let's say this
is open for testing. Send any results to green@FreeBSD.org

Reviewed by:	msmith (long ago)
1999-06-18 19:56:02 +00:00
green
6284b6ea4d Harmless change to prevent possible problems in the future. I made
sure that i686_mem was only used when
	1. CPUID had MTRR set (this was there before)
	2. the CPU was GenuineIntel (not there)
	3. the CPU is a 686 (also not there)

This should prevent any problems with CPUs that set MTRR but aren't
compatibile with Intel's interface (none that I know of yet.)
1999-06-18 19:24:40 +00:00
kato
fb2478efdb New parallel port support for PC98. Old PC98s which have
uni-directional parallel port should use olpt driver instead of lpt
driver.

Files ppc.c and ppcreg.h are copied form i386/isa directory with PC98
change.

Submitted by:	Akio Morita <amorita@meadow.scphys.kyoto-u.ac.jp>
1999-06-18 14:48:28 +00:00
bde
72f8c1311e Changed the global `idt' from an array to a pointer so that npx.c
automatically hacks on the active copy of the IDT if f00f_hack()
has changed it.  This also allows simplifications in setidt().
This fixes breakage of FP exception handling by rev.1.55 of
sys/kernel.h.  FP exceptions were sent to npx.c's probe handlers
because npx.c "restored" the old handlers to the wrong copy of the
IDT.  The SYSINIT for f00f_hack() was purposely run quite late to
avoid problems like this, but it is bogusly associated with the
SYSINIT for proc0 so it was moved with the latter.

Problem reported and fix tested by:  Martin Cracauer <cracauer@cons.org>
1999-06-18 14:32:21 +00:00
mckusick
3050d8dd0b On our final pass through ffs_fsync, do all I/O synchronously so that
we can find out if our flush is failing because of write errors. This
change avoids a "flush failed" panic during unrecoverable disk errors.
1999-06-18 05:49:46 +00:00
green
4c7609f41f Reviewed by: the cast of thousands
This is the change to struct sockets that gets rid of so_uid and replaces
it with a much more useful struct pcred *so_cred. This is here to be able
to do socket-level credential checks (i.e. IPFW uid/gid support, to be added
to HEAD soon). Along with this comes an update to pidentd which greatly
simplifies the code necessary to get a uid from a socket. Soon to come:
a sysctl() interface to finding individual sockets' credentials.
1999-06-17 23:54:50 +00:00
markm
396943f469 Add a kernel config for PC-Card machines. This is part of the
(safe) PAO integration.

Submitted by:	Tatsumi HOSOKAWA
1999-06-17 23:53:20 +00:00
gpalmer
9fb66a410e Add Id strings 1999-06-17 23:42:45 +00:00
alc
90cdb68b0a vm_map_growstack uses vmspace::vm_ssize as though it contained
the stack size in bytes when in fact it is the stack size in pages.
1999-06-17 21:29:38 +00:00
n_hibma
015d2f3ea8 Update the comments on values than can be returned by DEVICE_PROBE.
DEVICE_PROBE can return priorities.

Reviewed by:	Doug Rabson <dfr@nlsystems.com>
1999-06-17 19:22:12 +00:00
kato
abd825f27c Sync with sys/i386/i386/machdep.c revision up to 1.341. 1999-06-17 11:09:39 +00:00
kato
b8ea7d756c Sync with sys/i386/conf/options.i386 revision 1.117. 1999-06-17 11:07:52 +00:00
bde
1fff825331 Fixed a missing userland dev_t to kernel dev_t conversion. 1999-06-17 07:07:55 +00:00
alc
2f13d2c4a2 vm_map_insert sometimes extends an existing vm_map entry, rather than
creating a new entry.  vm_map_stack and vm_map_growstack can panic when
a new entry isn't created.  Fixed vm_map_stack and vm_map_growstack.

Also, when extending the stack, always set the protection to VM_PROT_ALL.
1999-06-17 05:49:00 +00:00
julian
2ffee5db3b Reformat comment to match indentation of code around it. 1999-06-17 01:25:25 +00:00
alc
9fb63b7080 Move vm_map_stack and vm_map_growstack after the definition
of the vm_map_clip_end macro.  (The next commit will modify
vm_map_stack and vm_map_growstack to use vm_map_clip_end.)
1999-06-17 00:39:26 +00:00
alc
bdb6bd3066 Remove some unused declarations and duplicate initialization. 1999-06-17 00:27:39 +00:00
mckusick
88e39a63db Add a vnode argument to VOP_BWRITE to get rid of the last vnode
operator special case. Delete special case code from vnode_if.sh,
vnode_if.src, umap_vnops.c, and null_vnops.c.
1999-06-16 23:27:55 +00:00
tegge
a427e410f2 Close a race window where a tcp socket is closed while tcp_pcblist is
copying out tcp socket info, causing a NULL pointer to be dereferenced.
1999-06-16 19:05:17 +00:00
dt
9ff44d83fe Make syscall tracing work: include "opt_ktrace.h" and make it compile. 1999-06-16 18:55:35 +00:00
dt
9759e5e6df Make sure syscall arguments properly aligned in ktrace records.
Make syscall return value a register_t.

Based on a patch from Hidetoshi Shimokawa.
Mostly reviewed by:	Hidetoshi Shimokawa and Bruce Evans.
1999-06-16 18:37:01 +00:00
mjacob
792005e7a3 Use vput instead of vrele.
Reviewed by:	Matthew Dillon <dillon@apollo.backplane.com>
Submitted by:	Ville-Pertti Keinonen <will@iki.fi>
Obtained from:	Matthew Dillon <dillon@apollo.backplane.com>
1999-06-16 18:35:58 +00:00
n_hibma
bb3228e515 Remove option USBVERBOSE
Add the options for debugging used in dev/usb/*.c

Submitted by:	Kazu
1999-06-16 17:34:36 +00:00
wpaul
7982ba2bb4 Grrr! The PNIC II's multicast hash table is only 128 bits wide, not 512
like the original PNIC and the MX98715A (from which the PNIC II is derived).
This requires special handling. Save the card type, and in mx_calchash(),
if we see that the card is a PNIC, return only the low 7 bits of the
hash instead of the low 9 bits.
1999-06-16 16:27:30 +00:00
dg
e44ff62d38 Changed trypbuf to a getpbuf to work around a problem where redundant writes
would occur when clustering them - caused by running out of buffers
and taking a degenerate code path as a result. It appears that waiting
instead for buffers to become available is okay.

Submitted by:	Matthew Dillon <dillon@apollo.backplane.com>
Discovered by: Craig A Soules <soules+@andrew.cmu.edu>
1999-06-16 15:54:30 +00:00
yokota
ef7a7a001b Print verbose messages when there is error.
Oked by: des
1999-06-16 14:04:45 +00:00
billf
d1ef08d609 Fix non-benign typo.
Submitted by:	Daniel Baker <dbaker@cuckoo.com>
1999-06-16 12:26:40 +00:00
tegge
c3bdb5a79b Clean up bitrot in interrupt tracing code. 1999-06-16 03:53:52 +00:00
tegge
f57c7820cd If we still haven't got a sufficient number of free buffers after the
call to flushdirtybuffers() then sleep in waitfreebuffers().
PR:		11697
Reviewed by:	David Greenman, Matt Dillon
1999-06-16 03:19:04 +00:00
mckusick
02e5fe8035 Get rid of the global variable rushjob and replace it with a function in
kern/vfs_subr.c named speedup_syncer() which handles the speedup request.
Change the various clients of rushjob to use the new function.
1999-06-15 23:37:29 +00:00
mjacob
06fe6c5ca3 If we retry this operation from the top of this routine, we need to
make sure we've freed any allocated resources (to avoid a memory leak)
and and do the right thing with respect to the nfs node hash lock we'd
acquired.
1999-06-15 23:24:14 +00:00
julian
d58122c6dd Add a couple of command definitions.
Also add offsets into the IDE parameter block so that it is humanly
possible to match the structure to the manufacturer's documentation.
(basically this is just changes to comments)
1999-06-15 23:13:09 +00:00
mckusick
ac0e96a2d8 COM_LLCONSOLE should over-ride COM_DEBUGGER request. 1999-06-15 22:15:10 +00:00
des
5d9e5afb2b Kill option FAILSAFE.
PR:		i386/12187
Approved by:	bde
1999-06-15 13:14:56 +00:00
roger
ab1be53d9e Add VIA Apollo Master VT82c570 chipset. (I have 2 of these)
Also, Apollo IDE controller has device ID of 1571 and 0571
1999-06-15 12:01:26 +00:00
newton
ba45b887eb Ensoniq AudioPCI sound cards haven't worked since the newbus integration
because they haven't been able to attach.  Now fixed.

Submitted by:	Christian Weisgerber <naddy@mips.rhein-neckar.de>
1999-06-15 00:00:10 +00:00
jb
36abeb233d Add the System V message queue and semaphore options for better 3rd party
software support out-of-the-box (like i386 does).
1999-06-14 22:59:55 +00:00
nik
6ccab02507 Include <sys/time.h> for correctness. BDE has a better version of this,
but it's more complex, and in his words

    Commit your version, since it is the only one that is clearly permitted
    (if not best), and I'll untangle it later.

PR:		docs/11589
Reviewed by:	Bruce "he kicks ass" Evans
1999-06-14 19:03:46 +00:00
simokawa
178a87c91e Fix typo confusing `fa' and 'fb' registers.
Now, MATLAB works fine under OSF/1 emulation.
1999-06-14 11:42:30 +00:00
n_hibma
22534f28fe 1) remove the soft reset after a command failed.
2) remove printing of errno and errstr
1999-06-13 22:09:14 +00:00
phk
b4c0c39b6e Eliminate the bogus procfs private almost struct dirent structure.
Spotted by: Lars Hamren
Reviewed by: bde
1999-06-13 20:53:16 +00:00
n_hibma
ad6621b237 1) Add non-blocking I/O on read
2) Add checks to make sure we do not dereference the softc when not found
because the device has been removed.
1999-06-13 20:49:12 +00:00
n_hibma
05f6a4b862 1) Add the USB controllers (will now print pretty strings when no usb
support is compiled in)
2) Add probing for generic USB host controllers as well so we get them all
3) make the returned strings look alike in the whole file
1999-06-13 20:48:29 +00:00
n_hibma
52a08f7bee Shorten the strings a bit (remove 'Host') 1999-06-13 20:46:10 +00:00
alc
70fc5132d7 Use pmap_kenter instead of pmap_enter to map the message buffer. 1999-06-13 19:20:25 +00:00
roger
6d320ce99c Removed checking for unit>NBKTR.
No longer need when using device_get_softc.
(also fixed bug where loadable bktr module could only access 1st device)
1999-06-13 16:05:00 +00:00
roger
d3d8c4e7a1 Add bktr_load for the loadable Bt848/Bt878 driver. 1999-06-13 15:45:49 +00:00
alc
15096c63d6 vm_map_protect:
The wrong vm_map_entry is used to determine if writes must not be
	allowed due to COW.
1999-06-12 23:10:38 +00:00
roger
f972f1b1f1 Add bktr (Bt848/Bt878 driver loadable module) to the Makefile i386 only section 1999-06-12 15:11:33 +00:00
roger
4a31cbf098 Change perl5 to perl (same change as made in the fxp module) 1999-06-12 15:08:50 +00:00
roger
33418bb41d Makefile to build a loadable bktr Bt848/Bt878 device driver
This allows the bt848 grabber to be loaded in the boot loader or
after bootup without the need for a custom kernel
1999-06-12 15:00:19 +00:00
roger
e92ea963e1 Updated to use the new 4.x newbus API
Also removed the BSDI support (for now)
This allows the driver to be loaded/unloaded as a KLD
and loaded in the boot loader phase whithout making a custom kernel.
1999-06-12 14:54:56 +00:00
ru
b11f0f2989 Don't accept divert/tee/pipe rules without corresponding option.
PR:		10324
Reviewed by:	luigi
1999-06-11 11:27:35 +00:00
dt
16f5a97188 Replace my previous fix of saving the FP state with a much simpler one: when
we swap out fpcurproc, save its FP state.

Suggested by:	bde
1999-06-10 20:40:59 +00:00
jlemon
500be34fdd Change variable used for calculating ending address of physical memory
from 'int' to 'vm_offset_t'.

Spotted by:	 Richard Cownie <tich@ma.ikos.com>
1999-06-10 02:48:51 +00:00
ache
1f64af5e02 Add detection code for NVidia Riva 128,TNT,TNT2
(TNT2 from me)

PR: 12094
Submitted by: Ilya Naumov camel@avias.com
1999-06-09 11:46:43 +00:00
dt
024e4a4a7e Use kmem_alloc_nofault() rather than kmem_alloc_pageable() to allocate
kernel virtual address space for UPAGES.
1999-06-08 17:14:22 +00:00
dt
309c487efd Add a function kmem_alloc_nofault() - same as kmem_alloc_pageable(), but
create a nofault entry. It will be used to allocate kmem for upages.

(I am not too happy with all this, but it's better than nothing).
1999-06-08 17:03:28 +00:00
dt
6f2e7884b6 Keep fpcurproc locked in memory, so that we always can save the FP state
correctly.

This should fix the "pmap_changebit didn't" panic that some people see.

Reviewed by:	dfr
1999-06-08 16:42:19 +00:00
msmith
1abbd13bc2 From the submitter:
- this causes POSIX locking to use the thread group leader
   (p->p_leader) as the locking thread for all advisory locks.
   In non-kernel-threaded code p->p_leader == p, so this will have
   no effect.

   This results in (more) correct POSIX threaded flock-ing semantics.

   It also prevents the leader from exiting before any of the children.
   (so that p->p_leader will never be stale) in exit1().

   We have been running this patch for over a month now in our lab
   under load and at customer sites.

Submitted by:	John Plevyak <jplevyak@inktomi.com>
1999-06-07 20:37:29 +00:00
archie
dcb08e10ae ksprintn() may be called with base=2, so redefine MAXNBUF accordingly.
Other brucification tweaks.

Obtained from:	bde@freebsd.org
1999-06-07 18:26:26 +00:00
steve
b7a6590c61 The FD options are now in /sys/conf/options so need to duplicate them
here and keep people from building new kernels. :)
1999-06-06 22:45:04 +00:00
wpaul
be5f98696c Small optimization: use wi_seek() in wi_read_record() and wi_write_record()
instead of frobbing the buffer access path registers directly. Saves a
few lines of duplicated code.
1999-06-06 16:44:04 +00:00
kato
e6fb08e8d6 Sync with sys/i386/conf/majors.i386 revision 1.76. 1999-06-06 12:50:46 +00:00
kato
9f9cc79ee9 Sync with sys/boot/i386/libi386/bootinfo.c revision 1.19. 1999-06-06 12:46:40 +00:00
phk
05395ae05f Reserve cdev major 126 for sync support. 1999-06-06 10:41:35 +00:00
phk
7c3f5e4d60 typo in previous commit 1999-06-06 09:28:01 +00:00
phk
0098c16802 Introduce IFF_SMART bit.
This means that the driver will add/delete routes when it knows it is
up/down, rather than have the generic code belive it is up if configured.

This is probably most useful for serial lines, although many PHY chips
could probably tell us if we're connected to the cable/hub as well.
1999-06-06 09:17:51 +00:00
archie
f40f015be9 The function ksprintn(), which is used to convert numbers to ASCII, is not
reentrant because it returns a static buffer. This results in a race condition
when/if an interrupt handler calls log(), printf() etc. Fix this.
1999-06-06 02:41:55 +00:00
alc
3d024af49f vm_mmap:
Insure that device mappings get MAP_PREFAULT(_PARTIAL) set,
	so that 4M page mappings are used when possible.

Reviewed by:	Luoqi Chen <luoqi@watermarkgroup.com>
1999-06-05 18:21:53 +00:00
luoqi
758e37e0fb Fix an accounting problem when prefaulting 4M pages.
PR:		kern/11948
1999-06-05 16:16:37 +00:00
dfr
20497fc04f Floppy driver options moved to conf/options. 1999-06-05 13:57:10 +00:00
dfr
5d698a672d * Implement ISA dma (only for CIA now but more chipsets to follow).
* Port the fd driver to alpha.
1999-06-05 13:30:13 +00:00
peter
21732dea0c Various changes lifted from the OpenBSD cvs tree:
txdr_hyper and fxdr_hyper tweaks to avoid excessive CPU order knowledge.

nfs_serv.c: don't call nfsm_adj() with negative values, windows clients
could crash servers when doing a readdir of a large directory.

nfs_socket.c: Use IP_PORTRANGE to get a priviliged port without a spin
loop trying to bind().  Don't clobber a mbuf pointer or we get panics
on a NFS3ERR_JUKEBOX error from a server when reusing a freed mbuf.

nfs_subs.c: Don't loose st_blocks on NFSv2 mounts when > 2GB.

Obtained from:  OpenBSD
1999-06-05 05:35:03 +00:00
peter
06a6a667a6 Fix a malloc race
Obtained from:  OpenBSD (csapuntz)
1999-06-05 05:26:36 +00:00
peter
4864590454 Don't mistake a non-async block that needs to be committed for an
interrupted write.

Obtained from: fvdl@NetBSD.org via OpenBSD.
1999-06-05 05:25:37 +00:00
alc
eba3d08af0 Restructure pipe_read in order to eliminate several race conditions.
Submitted by:	Matthew Dillon <dillon@apollo.backplane.com> and myself
1999-06-05 03:53:57 +00:00
bde
8e183f96d3 Fixed null setting of `rc_started'. This was fixed for the
corresponding variable `rc_wakeup_started' in rev.1.36 but broken
again in rev.1.37.  This bug only caused excessive polling (it gave
NRC activations for each of the SWI handler and the timeout handler
instead of 1 of each).

Moved cdevsw attachment from the driver probe routine to the driver
attach routine.
1999-06-04 18:53:47 +00:00
bde
2906737cf2 Really fix cy-driver-related panics when SMP is configured. Rev.1.88 only
fixed half the problem.

Tested by:	Michael Scott Boers <mboers@datacompusa.com>
1999-06-04 18:13:25 +00:00
roger
c4e9567df6 Fix the cdevsw_add change made by PHK.
(It was accidentally added to the BSDI bktr_probe and not the
 FreeBSD bktr_probe)
1999-06-04 13:24:54 +00:00
n_hibma
f36940cca2 Add remark about where bInterfaceProtocol number for USB Zip drive comes
from. 0x50 == 'P' for protoype.

Obtained from:	Pat LaVarre <LAVARRE@iomega.com> on linux-usb@suse.com
1999-06-04 12:41:42 +00:00
kato
ebf3058766 Oops, remove redundant comments. 1999-06-04 08:19:29 +00:00
kato
54ef69f329 Declare Crtat and Atrat because screen savers use these variables.
Pointed out by:	Nobuyuki Koganemaru <kogane@koganemaru.co.jp>
1999-06-04 08:17:11 +00:00
ghelmer
b7771a65a4 Modify the boot loader to recognize the -C flag and pass the RB_CDROM
flag to the kernel to mount a CDROM as the root filesystem.  Alternatively,
the boot_cdrom env var can be set.

As Mike Smith noted, "-C is the "wrong" way to do this", but this is
an acceptable stopgap in lieu of a better way.

PR:		bin/11884
Reviewed by:	msmith@freebsd.org
1999-06-04 03:18:28 +00:00
mharo
6e3b4f17ab Add the 3Dfx Voodoo Banshee 1999-06-04 02:38:18 +00:00
peter
8d081cadd7 Plug a mbuf leak in tcp_usr_send(). pru_send() routines are expected
to either enqueue or free their mbuf chains, but tcp_usr_send() was
dropping them on the floor if the tcpcb/inpcb has been torn down in the
middle of a send/write attempt.  This has been responsible for a wide
variety of mbuf leak patterns, ranging from slow gradual leakage to rather
rapid exhaustion.  This has been a problem since before 2.2 was branched
and appears to have been fixed in rev 1.16 and lost in 1.23/1.28.

Thanks to Jayanth Vijayaraghavan <jayanth@yahoo-inc.com> for checking
(extensively) into this on a live production 2.2.x system and that it
was the actual cause of the leak and looks like it fixes it.  The machine
in question was loosing (from memory) about 150 mbufs per hour under
load and a change similar to this stopped it.  (Don't blame Jayanth
for this patch though)

An alternative approach to this would be to recheck SS_CANTSENDMORE etc
inside the splnet() right before calling pru_send() after all the potential
sleeps, interrupts and delays have happened.  However, this would mean
exposing knowledge of the tcp stack's reset handling and removal of the
pcb to the generic code.  There are other things that call pru_send()
directly though.

Problem originally noted by:  John Plevyak <jplevyak@inktomi.com>
1999-06-04 02:27:06 +00:00
peter
c398b85a52 Remove a rather bogus search path reference.. 1999-06-03 22:07:41 +00:00
peter
c82e8189f6 GC unused prototype 1999-06-03 22:03:35 +00:00
peter
90151273b0 Quieten the bt_isa_probe() messages since they get a bit much when
the isa probe has gone hunting for a card on it's own.
1999-06-03 20:56:09 +00:00