Commit Graph

15478 Commits

Author SHA1 Message Date
Bruce Evans
07f6cad7a0 Restored used include of <sys/systm.h>. -Wmissing-prototypes doesn't work
for builtin functions.
1999-05-13 06:07:44 +00:00
Jordan K. Hubbard
0dfcd4a9c4 I'm told by the PR author that this page_size increment was in
the wrong place; back it out.
1999-05-13 05:24:53 +00:00
Luoqi Chen
7a73ea0414 Device pager's handle is dev_t not udev_t. 1999-05-13 04:02:07 +00:00
Peter Wemm
a89c3bd3dc dev is a pointer, printf it as such 1999-05-12 22:33:08 +00:00
Peter Wemm
51b5226683 Try and fix a dev_t/major/minor etc nit. 1999-05-12 22:32:07 +00:00
Peter Wemm
ccb84588dd Try an fix a couple of dev_t/major/minor etc nits. 1999-05-12 22:30:50 +00:00
Luoqi Chen
0f0fe5a4c5 Unbreak VESA on SMP. 1999-05-12 21:39:07 +00:00
Luoqi Chen
2ee16532b6 VM86_FRAMESIZE is now the size of vm86 frame, not the number of 4-byte words.
Requested by:	Bruce
1999-05-12 21:30:51 +00:00
Peter Wemm
cc5881cff5 Fix (?) SPECHASH dev_t/major/minor/etc args 1999-05-12 19:06:40 +00:00
Peter Wemm
c7b52b866e Fix dev_t/minor problems 1999-05-12 19:01:30 +00:00
Matt Jacob
83ae4407f5 When asked to get the current transfer settings go do a dev_refresh
isp_update call to get a better chance at seeing whether a recent
settings change has latched up.
1999-05-12 19:00:16 +00:00
Matt Jacob
442257d9c5 be a bit more chatty about some speed negotiations 1999-05-12 18:56:55 +00:00
Poul-Henning Kamp
e519e78b42 braino. 1999-05-12 13:06:34 +00:00
Bruce Evans
ce45b512b3 Fixed corruption of the kmemstatistcs list. The first malloc()
with malloc type at the tail of the list changed the list from
linear to circular.  This seemed to cause surprisingly few problems,
but it now causes weird output from `vmstat -m', probably because
a more important malloc type is now at the tail of the list.

Fix it by abusing ks_limit instead of ks_next as a flag for being
on the list.  Don't forget to clear the flag when a malloc type is
uninit'ed.  Uninit'ing is still fundamentally broken -- it loses
history.
1999-05-12 11:11:27 +00:00
Poul-Henning Kamp
adfea48f2b Produce compiler warning if dev_t and udev_t is confused. 1999-05-12 11:06:56 +00:00
Poul-Henning Kamp
8bee45c44e Don't peek into dev_t 1999-05-12 11:06:07 +00:00
Poul-Henning Kamp
c32e6392b5 Fix a udev_t/dev_t mismatch which prevent paging from working. 1999-05-12 11:05:23 +00:00
Semen Ustimenko
3c9bb8b7ff Driver is now ported to NetBSD.
Submitted by:	Christos Zoulas <christos@zoulas.com>
1999-05-12 09:43:09 +00:00
KATO Takenori
91f9d6d376 Sync with sys/i386/isa/diskslice_machdep.c revision 1.34. 1999-05-12 08:33:22 +00:00
Poul-Henning Kamp
63bc2b64ea $ brucify sys/stat.h
_devt should be __dev_t
$
1999-05-12 07:55:42 +00:00
Poul-Henning Kamp
7238b09623 #define udev_t dev_t in userland, so that programs which peek at
vnodes and stuff compile.  They may still not work however.
1999-05-12 07:41:49 +00:00
Poul-Henning Kamp
02342b0cfe Fix dumpon. It passes a udev_t from userland to kernel, that needs a
udev2dev() before we use it.

It really should pass a name like swapon does.
1999-05-12 07:40:50 +00:00
Bruce Evans
5264b48a6e Updated a comment (Crtat is no longer bogusly shared with syscons).
Don't declare a nonexistent variable.
1999-05-12 04:59:27 +00:00
Bruce Evans
4a79c0bea3 Removed global variable `Crtat'. This was once (bogusly) shared with
pcvt, but it had rotted into unuse here, and of course its type had
become inconsisent with its type in pcvt.

Fixed some minor style bugs.
1999-05-12 04:45:56 +00:00
Poul-Henning Kamp
bfbb9ce670 Divorce "dev_t" from the "major|minor" bitmap, which is now called
udev_t in the kernel but still called dev_t in userland.

Provide functions to manipulate both types:
        major()         umajor()
        minor()         uminor()
        makedev()       umakedev()
        dev2udev()      udev2dev()

For now they're functions, they will become in-line functions
after one of the next two steps in this process.

Return major/minor/makedev to macro-hood for userland.

Register a name in cdevsw[] for the "filedescriptor" driver.

In the kernel the udev_t appears in places where we have the
major/minor number combination, (ie: a potential device: we
may not have the driver nor the device), like in inodes, vattr,
cdevsw registration and so on, whereas the dev_t appears where
we carry around a reference to a actual device.

In the future the cdevsw and the aliased-from vnode will be hung
directly from the dev_t, along with up to two softc pointers for
the device driver and a few houskeeping bits.  This will essentially
replace the current "alias" check code (same buck, bigger bang).

A little stunt has been provided to try to catch places where the
wrong type is being used (dev_t vs udev_t), if you see something
not working, #undef DEVT_FASCIST in kern/kern_conf.c and see if
it makes a difference.  If it does, please try to track it down
(many hands make light work) or at least try to reproduce it
as simply as possible, and describe how to do that.

Without DEVT_FASCIST I belive this patch is a no-op.

Stylistic/posixoid comments about the userland view of the <sys/*.h>
files welcome now, from userland they now contain the end result.

Next planned step: make all dev_t's refer to the same devsw[] which
means convert BLK's to CHR's at the perimeter of the vnodes and
other places where they enter the game (bootdev, mknod, sysctl).
1999-05-11 19:55:07 +00:00
Dmitrij Tejblum
70eedd4073 Oops, back out previous, it is not quite ready for commit and has nothing
to do with the commit message.
1999-05-11 18:59:56 +00:00
Dmitrij Tejblum
06e4ef1461 Initialize bootifo.envp, so that the kernel environment can be used.
Set kernelname. Get it as getenv("kernelname"), bootinfo.booted_kernel does
not contain path to the directory.
1999-05-11 18:55:18 +00:00
Luoqi Chen
cd121c9cae Yet another place I missed when increasing trapframe size, which causes problem
to SIGFPE handling.

Reviewed by:	Bruce Evans	<bde@zeta.org.au>
1999-05-11 16:29:21 +00:00
Peter Wemm
e2bd2a1bb7 "fix" warning. This still needs to be kld-ified some day (or removed). 1999-05-11 16:07:16 +00:00
Luoqi Chen
fcfe0b7b48 Do not hardcode size of struct vm86frame.
Submitted by:	Jonathan Lemon <jlemon@americantv.com>
1999-05-11 16:04:40 +00:00
Luoqi Chen
3c001d7648 Trap frame size has increased by 4.
Submitted by:		Kazutaka YOKOTA <yokota@freebsd.org>
1999-05-11 15:57:42 +00:00
Matt Jacob
040816ec58 Quirk this drive- all luns show up the same.
Submitted by:	Stephen McKay <syssgm@detir.qld.gov.au>
1999-05-11 15:44:39 +00:00
Peter Wemm
221752dfcc Take a shot at handling INTR_FAST and INTR_EXCL for CY_PCI_FASTINTR.
Bruce suggested a patch before but that was based on the old DRIVER_TYPE_*
interfaces.
1999-05-11 15:28:38 +00:00
Peter Wemm
ac48316f68 Send subr_rlist.c off to the big Attic in the sky. It's been #if 0'ed
for quite some time now and can be revived in a moment's notice if needed.
(It was replaced by subr_blist.c for VM/swap)
1999-05-11 14:29:59 +00:00
John Birrell
957055c6a9 Found the needle in the haystack!
Use colons instead of semi-colons in the default init_path to behave like
UNIX instead of DOS.

Suggested by: bde
Reminded by: des (with no hint as to *which* man page).
1999-05-11 11:20:13 +00:00
Jordan K. Hubbard
8cb4373141 During probe, the page lockdown code in dpt_control.c does some
bad math: it does not handle page-boundary conditions, and will not
end up mapping all of the requested addresses.  This will cause a panic:
page fault during probe on some systems.  I have a machine that will
panic every time (when using the dpt driver) on kernel probe when there
are 5 drives installed.  When there are 4 drives, it is fine.
Fix is to always allocate/deallocate an extra page.
There is also a bonus splx() fix on an early error return.

Submitted by:	Mark J. Taylor <mtaylor@cybernet.com>
PR:		9367
1999-05-11 11:03:18 +00:00
Søren Schmidt
3458ae679d Make the driver work on HP8100 and the newer Philips that does not
support the rezero command.
1999-05-11 10:39:27 +00:00
John Birrell
8a13a92467 Change the INIT_PATH option example to use colons instead of semi-colons
(per rev 1.122 of sys/kern/init_main.c).
1999-05-11 10:10:39 +00:00
John Birrell
e40822840b Use colons instead of semi-colons to behave like UNIX instead of DOS.
Suggested by: bde
1999-05-11 10:08:10 +00:00
KATO Takenori
09a41d3082 Sync with sys/isa/sio.c revision 1.241. 1999-05-11 08:38:28 +00:00
KATO Takenori
6048ba838c Sync with sys/i386/isa/fd.c revision 1.143. 1999-05-11 08:37:16 +00:00
KATO Takenori
a19ce74ea1 Sync with sys/i386/i386/usercnofig.c revision 1.142. 1999-05-11 08:36:12 +00:00
Warner Losh
ca0cc0c9be Add another kludge to the card identification probe. It appears that
some aha 1542B cards will return 0x7f for the unimplemented GEOMETRY
register.

This is a good 3.2 candidate.

PR: 11469
Submitted by: Thomas David Rivers
1999-05-11 08:12:11 +00:00
Peter Wemm
49e5f1b929 Use the probe priority mechanism to make sure the chip* probes do not
displace a real driver.
Revert rev 1.109.
Pick up a few things from elsewhere (a couple of SiS id's).

As an *experiment*, have the chip* driver claim (for reporting purposes)
IDE controllers if there isn't another PCI-aware ide or ata driver to
grab them.  I've exported the match function since it could be used from
the ata-all.c code replacing ata_pcimatch() - but I have not touched the
ata code.  I'd like to catch a few more devices this way, including USB
and other bridges etc.
1999-05-11 07:55:32 +00:00
Matt Jacob
ea6f23cd7a A large set of changes to handle dual bus adapters. 1999-05-11 05:10:06 +00:00
Matt Jacob
5a025c82c6 Some massive thwunking in initialization to handle dual bus adapters. More
massive thwunking to include an XS_CHANNEL value. Some changes of how
parameters are reported to outer layers (including bus, e.g.). Yet more
stirring around in isp_mboxcmd to try and get it right. Decode of 1080/1240
NVRAM.
1999-05-11 05:06:55 +00:00
Matt Jacob
3e280ff080 Add in SCSI_QFULL definitions. Add in local storage for second SIM for
dual bus adapters. Add in XS_CHANNEL macro to get at it.
1999-05-11 05:04:24 +00:00
Matt Jacob
bb430bf78d Clean up some sprintfs. Add in a SCSI_QFULL an XS_CHANNEL definition
for 2.X versions. Disable fast posting for FC.
1999-05-11 05:03:33 +00:00
Matt Jacob
8259d0816f Roll core minor number. Re-layout a lot of SCSI fields to accomodate multiple
bus adapters.
1999-05-11 05:02:23 +00:00
Matt Jacob
981e6b253d Clean up some macros. Add in ISP 1080/1240 NVRAM layout definitions. 1999-05-11 05:01:26 +00:00
Matt Jacob
a8234ad186 add a couple of missing commands 1999-05-11 05:00:35 +00:00
Bruce Evans
f86e40770a Fixed reset handling for motor off resets. I first fixed this together
with other reset handling in rev.1.83 but broke it in rev.1.120.  The
breakage didn't seem to cause any problems even on the system which had
problems ("extra" interrupts and botched handling thereof) before rev.1.83.
It only affects multi-floppy systems anyway.
1999-05-11 04:58:30 +00:00
Matt Jacob
c6608df332 Clean up 2.2.X support (which might have to be cleaned up again
after some of the previous commits). Add in support for the 1240
dual channel ISP card. Try the dance of unmapping a PCI interrupt
if we don't configure (if that ever works it'll be helpful).
1999-05-11 04:53:57 +00:00
Matt Jacob
bd1b9cb70f Add a SA_FLAG_COMP_SUPP flag (to quirk compression as
SUPPORTED). Add a SA_FLAG_TAPE_FROZEN for (see below).
Add a queue_count field to softc.

Add HP T20* Travan-5 like tape device as a FIXED/512 type device.
Works for me. Add TANDBERG SLR5 as a variable SA_QUIRK_1FM device.
Change VIPER 2525 to 1024 byte blocksize. It's possible other
drives should change too, but see below..

Change argument to sagetparams to be pointer to a sa_comp_t union-
this can be either a DATA COMPRESSION or a DEVICE CONFIGURATION
page. In general compression now tries to use the DATA COMPRESSION
page and if that fails tries the DEVICE CONFIGURATION page.

Change close routine to not rewind tape if there's a failure in either
writing filemarks or in backing over one of two filemarks for a 2FM
at EOT tape- instead mark the tape as 'frozen' and print a message
saying that either an OFFLINE or REWIND or an MTEOM command is needed
to clear this state (all bring certainty back to tape position). Fix
sastrategy to not allow I/O to a frozen tape.

Add MTIOCGETEOTMODEL/MTIOCSETEOTMODEL ioctls that get and set the EOT
model for a tape drive (you can now dynamically change whether it's
a 2 FM @ EOT or 1FM at EOT tape device). This ought to give folks
something to handle the QIC drives we don't know about. Correctly propagate
record of compression algorithm back. Clear FROZEN flag for EOM, REWIND
and OFFLINE (and RETENSION and ERASE) cases.

Fix an egregious bug in sadone that had left the device queue frozen
for deferred (for fixed mode case) errors.

Add comment in samount about how useless the test unit ready is for
invalidating a mount (this has to be fixed later).

Fix residual calculation (per Eivind) in saerror so that negative values
for tape records being too large for the supplied buffer get caught. Do
some other saerrro cleanup.

Per Ken && Justin, add my name to copyright comment.
1999-05-11 04:01:35 +00:00
Greg Lehey
e0b8af469a Fix a bogon which stopped Vinum from recognizing half its keywords. 1999-05-11 03:55:35 +00:00
Bruce Evans
6b88526425 Fixed disordering in previous 2 commits. 1999-05-11 03:11:09 +00:00
Matt Jacob
41dce92a25 roll ISP 1080/1240 f/w 1999-05-11 02:56:34 +00:00
Matt Jacob
2c3cca96df Quirk NOLUNS CALIPER CP150. 1999-05-11 02:41:00 +00:00
Matt Jacob
00bb66d73c Make clear that the DATA COMPRESSION page is a SCSI-3 entity- not a SCSI-2
entity. Add the Device Configuration page data structure- this structure
should be used if you fail to fetch the DATA COMPRESSION page. Make a union
type of a mode header, a device configuration page and the data compression
page.

Add a couple of QIC density defines (QIC 2G/QIC 4GB).
1999-05-11 02:23:37 +00:00
Alan Cox
eb27b1567e The Intel Pentium Pro's performance counters are 40 bits wide. The Intel
manuals specifically say that reading the counters using the rdmsr
instruction returns a 64 bit value of which the higher 24 bits are
undefined. The code that reads the counters should then clear the
high 24 bits.

PR:		 i386/10632
1999-05-11 01:54:52 +00:00
Bruce Evans
58f28f6089 Fixed checking for maddr/msize conflicts. It was complete nonsense,
but was fairly harmless because not many devices have statically
configured msizes (none should have, but old-bus is missing post-probe
checks for maddr/msize conflicts, so sizes had to be statically
configured for maddr/msize conflict checking to actually work).

PR:		11146 (side issue)
1999-05-10 23:19:58 +00:00
Mike Spengler
9ce49f6de3 Allow configuration of up to 256 network interfaces per physical interface -
just like the docs say it should.
1999-05-10 23:02:29 +00:00
Mike Spengler
8abd11a431 Enable PCI bus master during attach in case the BIOS hasn't done it for us. 1999-05-10 22:53:45 +00:00
Paul Richards
9adcb188e5 Set the bus master bit.
Submitted by:	Ted Faber
1999-05-10 22:39:37 +00:00
Matt Jacob
eaef7baa81 Correct a typo about driver state.
Add new get/set eot model mt ioctl values.
1999-05-10 19:49:59 +00:00
Peter Wemm
dc97381e37 Update one set of comments.. s/so_q0/so_incomp/ and s/so_q/so_comp/ (that's
incomplete and complete connections I think)
1999-05-10 18:15:40 +00:00
Poul-Henning Kamp
ce7299939b correct params for sndmmap(). Don't bogo-initialize fields we don't
understand.
1999-05-10 18:13:30 +00:00
Poul-Henning Kamp
784fc12f7b Use NODEV instead of -1 1999-05-10 18:10:08 +00:00
Don Lewis
bd508d391b Fix descriptor leak provoked by KKIS.05051999.003b exploit code.
unp_internalize() takes a reference to the descriptor.  If the send
fails after unp_internalize(), the control mbuf would be freed ophaning
the reference.

Tested in -CURRENT by: Pierre Beyssac <beyssac@enst.fr>
1999-05-10 18:09:39 +00:00
Doug Rabson
41787a353d Add missing suspend/resume methods. 1999-05-10 17:56:23 +00:00
Nick Hibma
b57947c947 Remove hack to accept French spelling of METHOD (METHODE) 1999-05-10 17:45:49 +00:00
Peter Wemm
7f2d5fc4f2 Move the mfs_getimage() prototype to mfs_extern.h duplicating it
everywhere.
1999-05-10 17:12:45 +00:00
Doug Rabson
8b2970bbe6 * Augment the interface language to allow arbitrary C code to be 'passed
through' to the C compiler.
* Allow the interface to specify a default implementation for methods.
* Allow 'static' methods which are not device specific.
* Add a simple scheme for probe routines to return a priority value. To
  make life simple, priority values are negative numbers (positive numbers
  are standard errno codes) with zero being the highest priority. The
  driver which returns the highest priority will be chosen for the device.
1999-05-10 17:06:14 +00:00
Doug Rabson
276794a4a4 Superceded by makedevops.pl 1999-05-10 16:45:19 +00:00
Peter Wemm
d8accc82b4 Serves me right for doing this by inspection and then a build afterwards
on a remote machine. Sigh..
1999-05-10 16:36:42 +00:00
Peter Wemm
3ec911d1bd Fix 'assignment used as truth value' on alpha. 1999-05-10 16:06:32 +00:00
Peter Wemm
8b9b1d41c5 Don't do a nested extern for mfs_getimage() 1999-05-10 16:04:52 +00:00
Peter Wemm
185b8caf8a Explicit brace to avoid nested else warnings 1999-05-10 16:02:11 +00:00
Peter Wemm
37a12f1aca Explicit braces to avoid nested else warnings 1999-05-10 16:00:56 +00:00
Peter Wemm
72cd2e69e6 Add some explicit parens to avoid && within || warnings 1999-05-10 16:00:01 +00:00
Peter Wemm
54960c85bb Fix warnings (unused vars) 1999-05-10 15:54:58 +00:00
Peter Wemm
a82aa40963 Fix warnings (unused vars, long != int in printf) 1999-05-10 15:53:33 +00:00
Peter Wemm
d8a5f22d73 Fix warnings (I hope) 1999-05-10 15:51:23 +00:00
Peter Wemm
bda70455bf Give 'i' a type (int). 1999-05-10 15:48:01 +00:00
Peter Wemm
2c649d3327 Unused variable 1999-05-10 15:46:38 +00:00
Dag-Erling Smørgrav
4a5222d798 MFS: indent-assisted style cleanup. 1999-05-10 15:25:50 +00:00
Peter Wemm
8dbdf6eec6 #include "pci.h" for the build dir, not <pci.h> 1999-05-10 14:12:26 +00:00
Nick Hibma
4be5179ace Remove VIA USB controller (was '#if 0' out), to make sure
no one adds it back. Chip handled by uhci_pci.c .
1999-05-10 14:07:14 +00:00
Doug Rabson
1d3710bdf3 Adjust console stuff now that makedev is no longer a macro. 1999-05-10 14:01:35 +00:00
Doug Rabson
973b49bd1a Remove obsolete 'config kernel' line. 1999-05-10 13:30:51 +00:00
Peter Wemm
0749bbe267 Ack! I deleted "struct", not "const".. Oh boy...
Submitted by:	jkh
1999-05-10 12:38:41 +00:00
Bruce Evans
149c3aa60a [Forgot to commit this in the batch a few days ago.]
Fixed profiling of elf kernels.  Made high resolution profiling compile
for elf kernels (it is broken for all kernels due to lack of egcs support).

Renaming of many assembler labels is avoided by declaring by declaring
the labels that need to be visible to gprof as having type "function"
and depending on the elf version of gprof being zealous about discarding
the others.  A few type declarations are still missing, mainly for SMP.

PR:		9413
Submitted by:	Assar Westerlund <assar@sics.se> (initial parts)
1999-05-10 10:51:25 +00:00
Bruce Evans
7a9757f3a5 Detect PCI device IDs for latest boards. Simplified the ID comparisons.
Submitted by:	Ivan Passos <ivan@cyclades.com> (rewritten by me)
1999-05-10 10:23:40 +00:00
Roger Hardiman
458b25e55b Support LifeView FlyVideo 98 cards. Use EEPROM for card autodetection.Use
bttv's audio mux values.

Automatically locate the EEPROM i2c address and read the subsystem_vendor_id
from EEPROM and not the PCI registers.

Add NSMBUS checks around smbus/iicbus i2c bus code

Add GPIO mask for the audio mux to each card type.
Add CARD_ZOLTRIX and CARD_KISS from mailing list searches.

Tested by: Paul Reece <paul@fastlane.net.au>,
           Ivan Brawley <brawley@internode.com.au> and
           Gilad Rom <rom_glsa@ein-hashofet.co.il>
1999-05-10 10:10:13 +00:00
Roger Hardiman
af36b88b1b Update card type to support GPIO mask
Add NSMBUS checks around smbus/iicbus i2c bus code.
1999-05-10 10:08:50 +00:00
Roger Hardiman
2a3fb485f9 Add #if (NSMBUS>0) checks around smbus/iicbus i2c bus code. 1999-05-10 10:08:05 +00:00
KATO Takenori
f77f865c0f Fixed for COM_MULTIPORT option. Members flags and unit should be
obtained via appropriate functions.
1999-05-10 09:37:37 +00:00
KATO Takenori
871d777f45 Sync with sys/isa/sio.c revision 1.240. 1999-05-10 09:14:40 +00:00
KATO Takenori
efaba47853 Sync with sys/i386/isa/isa_dma.c revision 1.3. 1999-05-10 09:09:08 +00:00
KATO Takenori
e45bad2cd7 Sync with sys/i386/isa/if_ed.c revision 1.152. 1999-05-10 09:06:12 +00:00
KATO Takenori
cd6e9ed786 Sync with sys/i386/isa/clock.c revision 1.133. 1999-05-10 09:05:01 +00:00
KATO Takenori
50b94b34bd Sync with sys/i386/conf/options.i386 revision 1.113. 1999-05-10 09:03:10 +00:00
KATO Takenori
0bb99e2a71 Sync with sys/i386/conf/majors.i386 revision 1.74. 1999-05-10 09:02:23 +00:00
KATO Takenori
8084ded63f Sync with sys/i386/conf/files.i386 revision 1.239. 1999-05-10 09:01:19 +00:00
KATO Takenori
e453f04978 Sync with sys/i386/conf/GENERIC and Makefile.i386 revisions 1.169 and
1.152, respectively.
1999-05-10 09:00:29 +00:00
Peter Wemm
d5709e6c6e Make corresponding changes to match config update 1999-05-10 03:02:22 +00:00
Peter Wemm
51f40921d6 Apparently we need to define rootdev and dumpdev here now. This is
(obviously) not finished yet.
1999-05-10 02:56:38 +00:00
Peter Wemm
94a8ab8acb #if 0 some unused code (debug?) to quiet a warning. 1999-05-10 00:20:46 +00:00
Peter Wemm
45d84a2db3 Clean out some unused leftovers from before the split from the old isa.c. 1999-05-09 23:56:00 +00:00
Peter Wemm
6ed87d5e8b Un-duplicate DO_SETBITS() (it was identical for both SMP and !SMP).. 1999-05-09 23:40:29 +00:00
Peter Wemm
3bab4ac5a1 For what it's worth, idelayed is declared as a volatile in the headers,
and even though it's not used in this file make it a volatile here too.
1999-05-09 23:32:29 +00:00
Peter Wemm
0264a0ebd1 loadandclear() uses an atomic instruction (even on SMP, where it's an
implicitly LOCK'ed instruction), so there shouldn't be any harm in making
it volatile pointer compatable for one of the users of it.  It seems to
generate the same code regardless.
1999-05-09 23:30:01 +00:00
Peter Wemm
87e37dccb6 #ifdef BRIDGE around a goto label used by the bridge code to silcence a
warning.
1999-05-09 23:24:47 +00:00
Stefan Eßer
de649cc42c Really support Ultra-2 chips. Symbios redefined a register that
was available to the programmer to hold chip state information:

Use the SDID register instead of CTEST3. This change actually
simplifies the SCRIPTS code, but I'm not absolutely sure, that
it is OK for all variants of NCR chips around and all device
combinations. I have had this code running on several systems
with 53c810, 875 and 895 controllers for several months.

Suggested by:	Gerard Roudier <groudier@club-internet.fr>
1999-05-09 22:44:42 +00:00
Peter Wemm
a127a70452 Move KERNEL?=kernel to top of the file where it's more obvious and add
a pointer to 'makeoptions' and /etc/make.conf.
Catch a few stray "kernel" hardcoded references.
Move the kernel.debug and related kernel build rules together.
1999-05-09 22:42:17 +00:00
Peter Wemm
2c8635c642 Put an example of 'makeoptions KERNEL=foo' to replace the old
'config foo' functionality.
1999-05-09 22:26:10 +00:00
Peter Wemm
e2eb6a14cd Remove hackish foot protection.. If you ask for an atkbd on an isa bus
rather than on the keyboard controller, you will get it.. (and shoot your
feet)
1999-05-09 20:45:53 +00:00
Peter Wemm
7067d561cc Lites2 seems to have pretty much disappeared from the radar, and I suspect
far more than this hack would be needed now..
1999-05-09 20:42:45 +00:00
Peter Wemm
d1935ba94c Make COM_ESP and COM_MULTIPORT compile for LINT. It might even work.. 1999-05-09 20:35:02 +00:00
Poul-Henning Kamp
5a44704319 don't confuse units and devices. 1999-05-09 20:29:04 +00:00
Peter Wemm
cc97c921ab For the ioctl that reads the pci configuration, look up the name and unit
on the fly so that we can see the driver assignment of new pci devices
as well in the 'pciconf -l' display.
1999-05-09 20:27:26 +00:00
Peter Wemm
c09634ba71 GC unused variable in struct. 1999-05-09 20:25:01 +00:00
Nick Hibma
4cc318579c Enable the support for a file interface on the HID driver for
easy testing of the HID reports that come back.

Submitted by: MAEKAWA Masahide <bishop@rr.iij4u.or.jp>
1999-05-09 20:13:51 +00:00
Kirk McKusick
71a0942aca Put back changes that might be causing trouble on Alpha. 1999-05-09 19:39:54 +00:00
Nick Hibma
904b306815 Reserve 124 for USB Communications Class Drivers 1999-05-09 19:38:19 +00:00
Peter Wemm
a6db527ea9 s/main/mi_startup/ 1999-05-09 19:03:55 +00:00
Peter Wemm
18c3dd1745 s/main/mi_startup/ for the kernel entry point so that egcs doesn't get
upset about it (and generate things like __main() calls that are reserved
for main()).  Renaming was phk's suggestion, but I'd already thought about
it too.  (phk liked my suggested name tada() but I decided against it :-)

Reviewed by:	phk
1999-05-09 19:01:49 +00:00
Peter Wemm
37558b0171 Move a couple of bits of (now) static content from config(8) (ie: %LOAD)
directly into the Makefile.  Remove references to swapkernel.c, it's
not generated by config(8) now.  (The previous config commits had
generated it, but they had an unused 'char *' in them).
1999-05-09 18:57:02 +00:00
Nick Hibma
818850c6eb Added Thrustmaster Fusion Digital Gamepad 1999-05-09 18:29:37 +00:00
Poul-Henning Kamp
1491050818 Make minor, major and makedev inline functions so we gain type checking
and prevent compile time creation of dev_t's from happening again.
1999-05-09 18:03:48 +00:00
Poul-Henning Kamp
b19d4b12c0 No point in swapdev being a static global when used only locally. 1999-05-09 17:28:00 +00:00
Peter Wemm
35ce6c413e Missing revision markers. 1999-05-09 17:12:25 +00:00
Peter Wemm
579f45fa60 Simplify the COMPAT_PCI_DRIVER/DATA_SET hack. We can add:
#define COMPAT_PCI_DRIVER(name,data) DATA_SET(pcidevice_set,data)
.. to 2.2.x and 3.x if people think it's worth it.  Driver writers can do
this if it's not defined.  (The reason for this is that I'm trying to
progressively eliminate use of linker_sets where it hurts modularity and
runtime load capability, and these DATA_SET's keep getting in the way.)
1999-05-09 17:07:30 +00:00
Peter Wemm
1d361692a7 Optimize out a couple of places where com_addr() is used twice in a row,
although this is pretty trivial.  devclass_get_softc() is a tad more
expensive than the old com_addr() implementation.  If Bruce is really
worried about the cost of this, it could always be changed so that the
softc pointer is stored in a local array again.
1999-05-09 16:56:38 +00:00
Poul-Henning Kamp
aa713cb898 Oops. If ROOTDEVNAME isn't defined, have -r call -a. 1999-05-09 16:56:09 +00:00
Poul-Henning Kamp
04ab695ebf no longer used. 1999-05-09 16:46:38 +00:00
Poul-Henning Kamp
b307e58fc7 Major lobotomy of config(8). The
config kernel mumble mumble

line has been obsoleted and removed and with it went all knowledge of
devices on the part of config.

You can still configure a root device (which is used if you give
the "-r" flag) but now with an option:

        options         ROOTDEVNAME=\"da0s2e\"

The string is parsed by the same code as at the "boot -a" prompt.

At the same time, make the "boot -a" prompt both more able and more
informative.

ALPHA/PC98 people:  You will have to adapt a few simple changes
(defining rootdev and dumpdev somewhere else) before config works
for you again, sorry, but it's all in the name of progress.
1999-05-09 16:46:01 +00:00
Peter Wemm
b6dc33dbf2 Delete the #if'ed out old isa bus probe/attach routines 1999-05-09 16:39:24 +00:00
Peter Wemm
edc2e3366d Make the pci vga detection work so that the card is claimed and it's
interrupt configuration reported.  (I just discovered my vga card is
being configured for irq 5... :-)  This is just reporting.  The vga_isa
driver does the real work using the isa compat mappings.
1999-05-09 16:32:00 +00:00
Peter Wemm
e37622b251 Fix a couple of warnings and some bitrot in comments. 1999-05-09 16:04:14 +00:00
Peter Wemm
47154c8706 Always use the module system, rather than in an #ifdef. 1999-05-09 15:57:52 +00:00
Peter Wemm
c0ccf7c6b6 Argh, don't clobber the pci device list if there are multiple busses!
(An AGP counts as a PCI bus, it seems...)
This stopped 'pciconf -l' from working on AGP or PCI->PCI bridge systems.
1999-05-09 15:54:04 +00:00
Peter Wemm
8baa9b47b6 Quiet a warning, put a #if 0 around some (I believe) unused static structs. 1999-05-09 13:21:06 +00:00
Poul-Henning Kamp
0a346dab99 major(something) can never become NODEV. 1999-05-09 13:13:52 +00:00
Poul-Henning Kamp
61d9c46c46 remove cast from dev_t to dev_t. 1999-05-09 13:11:37 +00:00
Peter Wemm
6f42b336a5 Move opt_sio.h options to conf/options and activate in isa/sio.c 1999-05-09 13:10:49 +00:00
Poul-Henning Kamp
52400704e9 Unconfuse DEV_MODULE() and DEV_DRIVER_MODULE() about the difference between
a major number for a dev_t.
1999-05-09 13:00:50 +00:00
Doug Rabson
e3a3d09cb9 Remove DDB. 1999-05-09 11:42:19 +00:00
Doug Rabson
c586a73949 Hack the diskslice stuff so that it allows the alpha sysinstall to
manipulate the disklabel. This is almost certainly not the right way
to do it but I'm desperate.
1999-05-09 11:27:41 +00:00
Poul-Henning Kamp
3000820ae0 add some amount of sanity to the way the gdb stuff finds its device.
I'm not too happy about the result either, but at least it has less
chance of backfiring.

This particular feature could be called "a mess" without offending
anybody.
1999-05-09 10:51:13 +00:00
Peter Wemm
3f74540725 Fix two warnings. 1999-05-09 10:45:54 +00:00
Peter Wemm
a924771339 Fix warnings. 1999-05-09 10:43:54 +00:00
Poul-Henning Kamp
9cead0b272 Yet a major/dev_t confusion
Spotted by Bruce.
1999-05-09 10:42:39 +00:00
Poul-Henning Kamp
1a4dd80a43 siocngetc & putc can be staticized. 1999-05-09 10:28:50 +00:00
Poul-Henning Kamp
90fb336860 Yet another place which knew too much. Still not sure how much
good this does in the end.
1999-05-09 10:25:30 +00:00
Poul-Henning Kamp
0510491458 fix some DRIVER_TYPE / INTR_TYPE confusions. 1999-05-09 09:56:52 +00:00
Poul-Henning Kamp
dd3ebe6b04 Don't confuse dev_t and major numbers in DEV_MODULE() 1999-05-09 08:58:45 +00:00
Poul-Henning Kamp
8f0024a54a Peter beat me to half this patch, but didn't do the other half:
set d_bmaj

	don't cast a dev_t to int before comparing to NODEV
1999-05-09 08:18:12 +00:00
Peter Wemm
0da14f00bf Comment advising ordering of cdevsw_add and bdevsw_add is obsolete (no
bdevsw_add any more).
1999-05-09 08:10:17 +00:00
Poul-Henning Kamp
33525517b5 Duh, bdevsw() takes dev_t arg. 1999-05-09 07:56:36 +00:00
KATO Takenori
c4f748e7eb Removed DRIVER_TYPE_TTY field. 1999-05-09 05:02:26 +00:00
Kazutaka YOKOTA
ab4918cbff Reserve a major number for the frame buffer device. 1999-05-09 05:02:15 +00:00
KATO Takenori
f88efae58f Sync with sys/isa/sio.c revision 1.234. 1999-05-09 05:00:54 +00:00
Kazutaka YOKOTA
194da42d48 Don't confuse cursor keys with numpad keys when composing a char code.
PR: kern/10988
1999-05-09 05:00:19 +00:00
Kazutaka YOKOTA
57600c2385 Minor tweak after the introduction of new-bus to i386; properly
check "disabled" and "flags" probe hints.
1999-05-09 04:59:24 +00:00
Kazutaka YOKOTA
d1a67a9435 Revive APM hooking code for i386 arch now that the same source file is
used for both i386 and alpha (the code was in sys/i386/isa/psm.c, but
was disabled when ported to alpha.)
1999-05-09 04:58:35 +00:00
Kazutaka YOKOTA
4e1cc0095d Make apm_probe() properly return an error code when APM BIOS calls
failed, so that the apm driver won't be attached.
1999-05-09 04:58:13 +00:00
KATO Takenori
ac2e82dee1 Removed DRIVER_TYPE_TTY field. 1999-05-09 04:56:42 +00:00
KATO Takenori
ad4e5e0cfe Sync with sys/isa/atkbd_isa.c revision 1.4. 1999-05-09 04:53:58 +00:00
KATO Takenori
2623b6551f Sync with sys/i386/isa/wd.c revision 1.197. 1999-05-09 04:42:10 +00:00
KATO Takenori
b07d43b4ab Sync with sys/i386/isa/pcausio.c revision 1.48. 1999-05-09 04:39:36 +00:00
KATO Takenori
0b8c369031 Sync with sys/i386/isa/npx.c revision 1.61. 1999-05-09 04:38:27 +00:00
KATO Takenori
f1ff3d972f Sync with sys/i386/isa/mse.c revision 1.42. 1999-05-09 04:37:17 +00:00
KATO Takenori
75442335ac Sync with sys/i386/isa/fd.c revision 1.142. 1999-05-09 04:34:28 +00:00
KATO Takenori
c977a12971 Sync with sys/i386/i386/userconfig.c revision 1.141. 1999-05-09 04:30:08 +00:00
KATO Takenori
b1c4ac8e82 Sync with sys/i386/conf/majors.i386 revision 1.72. 1999-05-09 04:28:23 +00:00
KATO Takenori
58d78bbe43 Sync with sys/i386/conf/files.i386 revision 1.238. 1999-05-09 04:27:30 +00:00
KATO Takenori
a1fe075531 Sync with sys/i386/conf/Makefile.i386 revision 1.149. 1999-05-09 04:26:06 +00:00
Kenneth D. Merry
50711c71c9 Add a facility in the CAM error handling code to retry selection timeouts.
If the client requests that the error recovery code retry a selection
timeout, it will be retried after half a second.  The delay is to give the
device time to recover.

For most of these drivers, I only added selection timeout retries where
they were also retrying unit attention type errors.  The sa(4) driver calls
saerror() in a number of places, but most of them don't request retrying
unit attentions.

Also, bump the default minimum CD changer timeout from 2 to 5 seconds and
the maximum timeout from 10 to 15 seconds.  Some Pioneer changers seem to
have trouble with the shorter timeout.

Reviewed by:	gibbs
1999-05-09 01:25:34 +00:00
Dmitrij Tejblum
db72e05829 Fix a freelist trashing under following confitions:
- first program lock a region in a file,
- second program wait on the lock,
- first program extend the region,
- second program interrupted by a signal.
1999-05-08 22:46:46 +00:00
Doug Rabson
566643e39e Move the declaration of the interrupt type from the driver structure
to the BUS_SETUP_INTR call.
1999-05-08 21:59:43 +00:00
Peter Wemm
9eea90b55d Trivial tweak to avoid a warning. 1999-05-08 21:36:03 +00:00
Peter Wemm
0bbd01ea13 Add some notes about the globalness of certain things like interrupts
and ISA DMA channels (ie: on most PCI systems, they are not.. they are
on the ISA side of the PCI-ISA bridge and could be duplicated if there
were multiple PCI-ISA bridges, say in a laptop docking station), while
the APIC resources would be global on SMP systems.
Also, revert a previous change, change some printfs back to panics.
1999-05-08 21:34:34 +00:00
Peter Wemm
208e16e3af Fix a typo (eisa<->isa) and some minor cosmetics. 1999-05-08 21:30:38 +00:00
Peter Wemm
14d3b6b80c GC some #if 0 junk 1999-05-08 21:28:39 +00:00
Peter Wemm
141ed0620b Print 'irq nn' on the device attach line like the old pci code did.
However, we are not printing 'int a/b/c/d' yet, is it worth it on non-SMP
systems?  (It's useful when tracing PCI->IO-APIC routing on SMP systems)
1999-05-08 20:28:01 +00:00
Peter Wemm
6d9ecc2ba7 Print the child IRQ on it's identification line. 1999-05-08 20:25:38 +00:00
Peter Wemm
f98661016d Don't print 'interrupting at irq nn' on the x86 family, it's not all
that big a deal just yet and isn't worth a whole line on the boot screen.
This could change later in the face of multi-ISA-bus (eg: laptop docking
stations with two independent ISA busses) and SMP/APIC systems.  The Alpha
already has multiple interrupt destinations to deal with.
1999-05-08 20:24:44 +00:00
Peter Wemm
05170bddd7 Brace initializers to avoid a warning. 1999-05-08 20:20:18 +00:00
Peter Wemm
6d04a6cb97 I'm sick of the automatic rename of /kernel to /kernel.old while doing
development that leads to lots of crashes during boot.

I have made a 'reinstall' target (like in ports, and reinstall.debug)
This is most useful if you want to keep /kernel.old as a known bootable
kernel.  If you test a new kernel and have to reboot for a fix, a
'make reinstall' will install the new kernel over the top of the old
non-viable one, leaving the old one untouched.  This is mainly meant
for development, not general users.
1999-05-08 20:04:39 +00:00
Peter Wemm
ac0c5aaf01 Use haveseen_ioport() which is now connected up to the resource manager. 1999-05-08 18:20:57 +00:00
Peter Wemm
479232a2e7 GC some unused stuff relating to the old conflict checking and other lint.
Change haveseen_isadev() to something a little easier to emulate.
Store the device_t for the wrapper in isa_device.
Implement a replacement for haveseen_isadev - namely haveseen_ioport()
which takes a port size as an extra argument for a proper range check.
This (haveseen_ioport()) has not been tested, but I think it'll work.
1999-05-08 18:20:05 +00:00
Peter Wemm
1a738e4be7 Look up the sensitive flag better, allowing interoperation between old and
new isa drivers with sensitive flags.  If the resource_find() code
is meant to "find" the wildcard sensitive flag for a driver even though
a unit is supplied, this can be simplified.
1999-05-08 18:15:49 +00:00
Peter Wemm
df5c783c68 Fix unused variable "flags". (only used if #ifdef I586_CPU) 1999-05-08 18:14:09 +00:00
Peter Wemm
4fdff1649a GC unused #define id_physid id_scsiid 1999-05-08 18:13:15 +00:00
Peter Wemm
8292f0f488 Update for new resource_set_*() interface. Also deal with the conflicts
flag.
1999-05-08 18:12:03 +00:00
Peter Wemm
929f6b0a11 Slightly increase the visibility of the isa_wrap_old_drivers() stuff. It
would be a shame to pollute the new isa.c with the isa_device.h defs.
1999-05-08 18:11:04 +00:00
Peter Wemm
31c82d832c GC pci_bushigh() - no longer used. 1999-05-08 18:09:53 +00:00
Peter Wemm
73d35bdd96 Change resource_set_*() to be more useful. BTW; resource_find() is a
bit odd, it looks like the wildcard stuff isn't right.
1999-05-08 18:08:59 +00:00
Peter Wemm
b547392ed3 Change resource_set_*() interface to be more useful. 1999-05-08 18:07:37 +00:00
Peter Wemm
aee579830d Add brackets around && within || to quieten egcs. I've checked the code
and I'm reasonably sure it's right, but I don't have one of the beasties.
1999-05-08 17:52:03 +00:00
Peter Wemm
9c06a38614 Make sure the mem_range_AP_init() prototype is seen where it's needed, and
#ifdef SMP around it for fun.
1999-05-08 17:48:22 +00:00
Peter Wemm
b5a1d3ab96 Take a guess at a halfway reasonable fla entry so that the build
doesn't break on isa_compat.[ch].  phk - change this to what you need..
1999-05-08 15:46:46 +00:00
Peter Wemm
77b0c7599a Oops, committed wrong version.. 1999-05-08 15:45:25 +00:00
Peter Wemm
c036f5cfa9 Fix a couple of newbus merge problems:
Restore 0x710110b9 ("AcerLabs M15x3 Power Management Unit") - but only
if NALPM == 0.
Restore 0x00051166 ("Ross (?) host to PCI bridge") so that
fixbushigh_Ross() gets called.
Delete generic_pci_bridge(), it's been replaced by other mechanisms (see
the isab and pcib match/probes and the pci_bridge_type() function)
1999-05-08 14:55:18 +00:00
Poul-Henning Kamp
c1023c75e9 Add compat hooks for DiskOnChip2000 driver.
Minor change to loran driver
1999-05-08 14:36:48 +00:00
Peter Wemm
ecbc643aca Pre-declare struct proc to avoid 'inside param list' warnings. 1999-05-08 14:28:52 +00:00
Kenjiro Cho
0ce8bd9571 clean up en atm driver
o fix DDB support
   - include "opt_ddb.h"
   - fix Debugger() arg
   pointed out by bde

 o back out pvc shadow interface support
   - it is currently not used
   - to make it easier to merge another implementation

 o misc minor cleanup
1999-05-08 14:23:40 +00:00
Peter Wemm
4173e42044 Use KERNBASE for the load address of the kernel rather than magic constants
as it seems to work..  (at least on i386/elf).
1999-05-08 13:03:49 +00:00
Peter Wemm
b5b15c3ff0 First stages of a module dependency cleanup. This part fixes a
particularly annoying hack, namely having the linker bash the moduledata
to set the container pointer, preventing it being const.  In the process,
a stack of warnings were fixed and will probably allow a revisit of the
const C_SYSINIT() changes.  This explicitly registers modules in files or
preload areas with the module system first, and let them initialize via
SYSINIT/DECLARE_MODULE later in their SI_ORDER_xxx order.  The kludge of
finding the containing file is no longer needed since the registration
of modules onto the modules list is done in the context of initializing
the linker file.
1999-05-08 13:01:59 +00:00
Peter Wemm
05aec5db24 ls_items[] is most definately not a set of pointers to const objects..
sysinits, for example, are sorted by swapping those objects(!).  Perhaps
they should be const and the sysinit sorting should be swapping the
pointers rather than the targets.  This is on my revisit list, but it
has the side effect of removing a lot of warnings.  With -Wcast-qual, it
doesn't seem easy to get rid of the constness when you *know* it's not.
(With apologies to bde, this essentially reverts rev 1.21 of kernel.h
 from back in 1996)
1999-05-08 12:52:26 +00:00
Dag-Erling Smørgrav
7782bb379d A little closer to style(9). 1999-05-08 11:51:51 +00:00
Poul-Henning Kamp
1637aa4b1c Fix some of the places where too much inside knowledge about major/minor
layout and dev_t structure is being (ab)used.
1999-05-08 07:02:41 +00:00
Poul-Henning Kamp
cb40a67f2b Fix some disordering I introduced with the jail code. 1999-05-08 07:00:04 +00:00
Poul-Henning Kamp
4be2eb8c49 I got tired of seeing all the cdevsw[major(foo)] all over the place.
Made a new (inline) function devsw(dev_t dev) and substituted it.

Changed to the BDEV variant to this format as well: bdevsw(dev_t dev)

DEVFS will eventually benefit from this change too.
1999-05-08 06:40:31 +00:00
Daniel C. Sobral
a5eec77539 The lowercasing of Joliet filenames was not a feature. 1999-05-08 04:35:47 +00:00
Greg Lehey
9d622f47e1 Make Vinum compile correctly without VINUMDEBUG
Tripped-over-by:	Thomas Stromberg <tstromberg@rtci.com>
1999-05-08 02:50:44 +00:00
Kirk McKusick
5c92a5b353 Get rid of extern declarations on gdb stuff so systems compiled without
DDB will compile. Warn users that try to use GDB without specifying a GDB
port in their configuration file.
1999-05-07 23:08:23 +00:00
Doug Rabson
ac065b7037 The structure Elf_Note does not have 32 and 64 bit variants but always
has 32bit fields. This change allows FreeBSD/alpha to generate well-formed
ELF corefiles.

Reviewed by: John Polstra <jdp@polstra.com>
1999-05-07 22:09:18 +00:00
Peter Wemm
b2dd339fdc Update intpm driver.
PR:		11531
Submitted by:	Takanori Watanabe <takawata@shidahara1.planet.sci.kobe-u.ac.jp>
1999-05-07 18:03:27 +00:00
Matt Jacob
49c36ff4f3 fix it so it compiles on alpha again 1999-05-07 17:52:01 +00:00
Matt Jacob
eacbd96bcb Propagate i386 change to alpha (bdevsw[] -> bdevsw()). 1999-05-07 17:48:44 +00:00
Dag-Erling Smørgrav
b83308b00b Nit fix. 1999-05-07 17:37:08 +00:00
Peter Wemm
0b45dbca38 Yet another kludge to maintain the isa_device illusion, this time malloc
an isa_driver and name pointer so the uc_devlist sysctl can get to it.
1999-05-07 16:54:50 +00:00
Peter Wemm
e8b22b43e4 GC stray static prototypes for physread/physwrite which don't exist
statically and cause compile warnings.
1999-05-07 16:37:06 +00:00
Peter Wemm
250f167fe8 Minor style nit (this minor style.9 violation caused a grep miss here) 1999-05-07 16:33:08 +00:00
Poul-Henning Kamp
46eede0058 Continue where Julian left off in July 1998:
Virtualize bdevsw[] from cdevsw.  bdevsw() is now an (inline)
        function.

        Join CDEV_MODULE and BDEV_MODULE to DEV_MODULE (please pay attention
        to the order of the cmaj/bmaj arguments!)

        Join CDEV_DRIVER_MODULE and BDEV_DRIVER_MODULE to DEV_DRIVER_MODULE
        (ditto!)

(Next step will be to convert all bdev dev_t's to cdev dev_t's
before they get to do any damage^H^H^H^H^H^Hwork in the kernel.)
1999-05-07 10:11:40 +00:00
Poul-Henning Kamp
e994c55884 Fix a goof in the #ifdef DEVFS case which was found by inspection,
it may have made things very difficult for people if they tried to
used DEVFS.
1999-05-07 09:10:10 +00:00
Greg Lehey
c4444aeb08 Include opt_vinum.h to get the VINUMDEBUG definition as early as
possible.  This fixed a problem building LINT.

Tripped-over-by: phk
1999-05-07 08:08:02 +00:00
Greg Lehey
5b6d18c5e9 Convert to use physread() and physwrite().
Advertised-by: phk
1999-05-07 08:07:09 +00:00
Poul-Henning Kamp
c48d17750f Introduce two functions: physread() and physwrite() and use these directly
in *devsw[] rather than the 46 local copies of the same functions.

(grog will do the same for vinum when he has time)
1999-05-07 07:03:47 +00:00
Kirk McKusick
e244fe31d6 Generalize to allow any serial port to be used as the GDB port.
Mark the GDB port in the config file with flags 0x80. Currently
only the sio driver checks these flags and sets up a GDB port,
but adding similar code to other serial drivers would be easy.
For backward compatibility, if an sio port is marked as the console
and no port is marked as the gdb port, the GDB port will be mapped
to the console port. This hack should go away at some point.
1999-05-07 06:50:41 +00:00
Kirk McKusick
36cfb417de Whitespace cleanup. 1999-05-07 05:21:16 +00:00
Kirk McKusick
7957996abd Get rid of random debugging cruft; sync up with latest version. 1999-05-07 05:11:31 +00:00
Julian Elischer
5422ed753b My 5520 turned out to be a 5510 in disguise.. correct the probe message. 1999-05-07 04:04:42 +00:00
Bill Paul
049e649a10 Add support to wicontrol(8) and wi(4) for enabling and configuring
power management. This will only work on newer firmware revisions; older
firmware will silently ignore the attempts to turn power management on.

Patches supplied by: Brad Karp <karp@eecs.harvard.edu>
1999-05-07 03:28:54 +00:00
Greg Lehey
1d420ca902 Remove the last trace of disk.h
Put-up-to-it-by:	phk
1999-05-07 03:28:46 +00:00
Kirk McKusick
224a6aa241 Severe slowdowns have been reported when creating or removing many
files at once on a filesystem running soft updates. The root of
the problem is that soft updates limits the amount of memory that
may be allocated to dependency structures so as to avoid hogging
kernel memory. The original algorithm just waited for the disk I/O
to catch up and reduce the number of dependencies. This new code
takes a much more aggressive approach. Basically there are two
resources that routinely hit the limit. Inode dependencies during
periods with a high file creation rate and file and block removal
dependencies during periods with a high file removal rate. I have
attacked these problems from two fronts. When the inode dependency
limits are reached, I pick a random inode dependency, UFS_UPDATE
it together with all the other dirty inodes contained within its
disk block and then write that disk block. This trick usually
clears 5-50 inode dependencies in a single disk I/O. For block and
file removal dependencies, I pick a random directory page that has
at least one remove pending and VOP_FSYNC its directory. That
releases all its removal dependencies to the work queue. To further
hasten things along, I also immediately start the work queue process
rather than waiting for its next one second scheduled run.
1999-05-07 02:26:47 +00:00
Greg Lehey
560863926b Remove old grunge, including references to sys/disk.h (which is going
away).

Submitted-by:	phk
1999-05-07 01:35:29 +00:00
Greg Lehey
d65937394f Remove old grunge
Submitted-by:	phk
1999-05-07 01:25:54 +00:00
Peter Wemm
691343c4f8 Use id_ointr for setting the pnp interrupt handler, it uses the oldstyle
int unit argument still.
1999-05-06 22:26:28 +00:00
Peter Wemm
debf951175 ``fix'' the devfs_add_devswf() calls, the printf string wasn't factoring
in the unit number.  I'm not so sure about this at all, the SVR4 systems
I have access to have a mixture of names and often %03d format units.
1999-05-06 22:21:31 +00:00
Peter Wemm
bbdc01224f Undo excess staticization - these two are meant to be callable from
DDB.
1999-05-06 22:19:38 +00:00
Peter Wemm
1ce418a67d ahatimeout is static.. 1999-05-06 22:18:21 +00:00
Peter Wemm
5e80440b17 Use consistant function definitions which also silences a warning. 1999-05-06 22:17:26 +00:00
Peter Wemm
94f9940a0c Ensure prototype for pnp_configure() is visible. 1999-05-06 22:16:19 +00:00
Peter Wemm
ea5c2064b4 GC unused variable 1999-05-06 22:14:46 +00:00
Peter Wemm
ea861c7968 Pull in prototype for splq(). 1999-05-06 22:13:53 +00:00
Peter Wemm
284c724fb4 Fix a static/extern conflict. Put extra brackets to ensure the
tsleep() priority is clear and not parsed incorrectly.
1999-05-06 22:13:04 +00:00
Peter Wemm
ae89b422d5 Put the old-style isa interrupt handlers in id_ointr to avoid warnings. 1999-05-06 22:11:19 +00:00
Peter Wemm
189f4bb9c8 Fix a warning - make sure the register is read regardless of the debugging
options.
1999-05-06 22:09:55 +00:00
Peter Wemm
bb6f0e396b Fix two warnings; and note a problem where a pointer is stored in an
int variable - this can't work on an Alpha.
1999-05-06 22:08:57 +00:00
Peter Wemm
21a1062c12 One too many vfsops.. 1999-05-06 22:07:34 +00:00
Peter Wemm
4d38e6b5ec Add brackets to silence egcs and help clarity. 1999-05-06 22:06:45 +00:00
Peter Wemm
2850fee53f Fix a goof on my part; s/struct moduledata */struct module */ 1999-05-06 22:05:39 +00:00
Peter Wemm
481d658f1e Fix some variable naming confusion 1999-05-06 22:04:21 +00:00
Peter Wemm
3cca27dac6 GC unused pps_drvinit() declaration 1999-05-06 22:03:14 +00:00
Julian Elischer
d4439333ff Add Cyrix (NatSemi) 5520 and 5530 PCI-ISA bridges. 1999-05-06 21:21:30 +00:00
Kenneth D. Merry
db15b5b790 The base transfer speed for the parallel port bus is 93K/sec, not 3.3MB/sec.
Submitted by:	Nick Hibma <hibma@skylink.it>
1999-05-06 21:14:49 +00:00
Kenneth D. Merry
169b302922 Take out calls to cam_sim_set_basexfer_speed(), the base transfer speed is
now returned in the path inquiry CCB.

Submitted by:	Nick Hibma <hibma@skylink.it>
1999-05-06 21:12:58 +00:00
Nick Hibma
4ea5aa83d4 Add new member for XPT_PATH_INQ, follows recent changes in
version v1.2 of cam_sim.h.
1999-05-06 20:58:37 +00:00
Kenneth D. Merry
9deea8574e Add a number of interrelated CAM feature enhancements and bug fixes.
NOTE:  These changes will require recompilation of any userland
applications, like cdrecord, xmcd, etc., that use the CAM passthrough
interface.  A make world is recommended.

camcontrol.[c8]:
 - We now support two new commands, "tags" and "negotiate".

	- The tags commands allows users to view the number of tagged
	  openings for a device as well as a number of other related
	  parameters, and it allows users to set tagged openings for
	  a device.

	- The negotiate command allows users to enable and disable
	  disconnection and tagged queueing, set sync rates, offsets
	  and bus width.  Note that not all of those features are
	  available for all controllers.  Only the adv, ahc, and ncr
	  drivers fully support all of the features at this point.
	  Some cards do not allow the setting of sync rates, offsets and
	  the like, and some of the drivers don't have any facilities to
	  do so.  Some drivers, like the adw driver, only support enabling
	  or disabling sync negotiation, but do not support setting sync
	  rates.

 - new description in the camcontrol man page of how to format a disk
 - cleanup of the camcontrol inquiry command
 - add support in the 'devlist' command for skipping unconfigured devices if
   -v was not specified on the command line.
 - make use of the new base_transfer_speed in the path inquiry CCB.
 - fix CCB bzero cases

cam_xpt.c, cam_sim.[ch], cam_ccb.h:

 - new flags on many CCB function codes to designate whether they're
   non-immediate, use a user-supplied CCB, and can only be passed from
   userland programs via the xpt device.  Use these flags in the transport
   layer and pass driver to categorize CCBs.

 - new flag in the transport layer device matching code for device nodes
   that indicates whether a device is unconfigured

 - bump the CAM version from 0x10 to 0x11

 - Change the CAM ioctls to use the version as their group code, so we can
   force users to recompile code even when the CCB size doesn't change.

 - add + fill in a new value in the path inquiry CCB, base_transfer_speed.
   Remove a corresponding field from the cam_sim structure, and add code to
   every SIM to set this field to the proper value.

 - Fix the set transfer settings code in the transport layer.

scsi_cd.c:

 - make some variables volatile instead of just casting them in various
   places
 - fix a race condition in the changer code
 - attach unless we get a "logical unit not supported" error.  This should
   fix all of the cases where people have devices that return weird errors
   when they don't have media in the drive.

scsi_da.c:

 - attach unless we get a "logical unit not supported" error

scsi_pass.c:

 - for immediate CCBs, just malloc a CCB to send the user request in.  This
   gets rid of the 'held' count problem in camcontrol tags.

scsi_pass.h:

 - change the CAM ioctls to use the CAM version as their group code.

adv driver:

 - Allow changing the sync rate and offset separately.

adw driver

 - Allow changing the sync rate and offset separately.

aha driver:

 - Don't return CAM_REQ_CMP for SET_TRAN_SETTINGS CCBs.

ahc driver:

 - Allow setting offset and sync rate separately

bt driver:

 - Don't return CAM_REQ_CMP for SET_TRAN_SETTINGS CCBs.

NCR driver:

 - Fix the ultra/ultra 2 negotiation bug
 - allow setting both the sync rate and offset separately

Other HBA drivers:
 - Put code in to set the base_transfer_speed field for
   XPT_GET_TRAN_SETTINGS CCBs.

Reviewed by:	gibbs, mjacob (isp), imp (aha)
1999-05-06 20:16:39 +00:00
Poul-Henning Kamp
b0eeea2042 remove b_proc from struct buf, it's (now) unused.
Reviewed by:	dillon, bde
1999-05-06 20:00:34 +00:00
Poul-Henning Kamp
782e5999ff Oops, forgot this bit: don't use <sys/disk.h> 1999-05-06 19:35:55 +00:00
Poul-Henning Kamp
6cc5a7220c Don't use <sys/disk.h> 1999-05-06 19:19:30 +00:00
Poul-Henning Kamp
9f9431d611 Nuke bogus prototypes which have bogotified ccd and vinum
(who shouldn't really use this file in the first place!)
1999-05-06 19:07:06 +00:00
Peter Wemm
3f251a4979 Fix 'signed char as array index' warnings and an unused variable. 1999-05-06 18:58:05 +00:00
Peter Wemm
c41dbe5cc4 Missing 'int' in declaration of variables. 1999-05-06 18:54:19 +00:00
Peter Wemm
03a4d0108f Fix a precedence bug in the atapi tape driver. I think it could either
write a filemark where it wasn't needed, or neglect to write one at all,
depending on how the boolean converted to an int value for the &.
1999-05-06 18:50:10 +00:00
Peter Wemm
d5558c001a Fix up a few easy 'assignment used as truth value' and 'suggest parens
around && within ||' type warnings.  I'm pretty sure I have not masked
any problems here, I've committed real problem fixes seperately.
1999-05-06 18:44:42 +00:00
Peter Wemm
522c197d02 The joypart() macro had a precedence bug. Add seatbelts for UNIT() too. 1999-05-06 18:39:32 +00:00
Peter Wemm
754d670b57 Missing 'int' declaration in devsw_installed variable. 1999-05-06 18:33:48 +00:00
Peter Wemm
dfd5dee1b0 Add sufficient braces to keep egcs happy about potentially ambiguous
if/else nesting.
1999-05-06 18:13:11 +00:00
Peter Wemm
5f0d05904c Add missing comment characters from wi driver description. 1999-05-06 18:08:23 +00:00
Poul-Henning Kamp
84c55b38e4 Remove unused fields from struct buf:
b_savekva
	b_validoff
	b_validend

Reviewed by:	dillon, bde
1999-05-06 17:06:41 +00:00
Bill Paul
e566363ef1 Modify wicontrol(8) and wi(4) to allow setting the frequency of the
WaveLAN's radio modem. The default is whatever the NIC uses since NICs
sold in different countries may default to different frequencies. (The
Lose95/LoseNT software doesn't let you select the channel so it's probably
not really meant to be changed.)
1999-05-06 16:32:45 +00:00
Bill Paul
727c88e9da Tweak the Macronix driver to hopefully make it more reliable:
- Change to the same transmit scheme as the PNIC driver.
- Dynamically set the cache alignment, and set burst size the same as
  the PNIC driver in mx_init().
- Enable 'store and forward' mode by default. This is the slowest option
  and it does reduce 100Mbps performance somewhat, but it's the most
  reliable setting I can find. I'm more interested in having the driver
  work reliably than trying to squeeze the best performance out of it.
  The reason I'm doing this is that on *some* systems you may see a lot
  of transmit underruns (which I can't explain: these are *fast* test
  systems) and these errors seem to cause unusual and decidedly
  non-tulip-like behavior. In normal 10Mbps mode, performance is fine
  (you can easily saturate a 10Mbps link).

Also tweak some of the other drivers:

- Increase the size of the TX ring for the Winbond, ASIX, VIA Rhine
  and PNIC drivers.
- Set a larger value for ifq_maxlen in the ThunderLAN driver. The setting
  of TL_TX_LIST_CNT - 1 is too low (the ThunderLAN driver only allocates
  20 transmit descriptors, and I don't want to fiddle with that now
  because the ThunderLAN's descriptor structure is an oddball size
  compared to the others).
1999-05-06 15:32:52 +00:00
Nick Hibma
4ca710c5e2 Added USB HID devices major number.
Submitted by: MAEKAWA Masahide
1999-05-06 13:51:26 +00:00
Peter Wemm
442e64375a Move the proc0 init before the driver probe/attach etc since machdep.c
doesn't set curproc anymore, and certain drivers like to tsleep() during
probes, usb for example.
1999-05-06 13:42:25 +00:00
Peter Wemm
97bf178703 I'm not sure why the #ifdef SMP became #if 1 (this overrode the npx probe
and always succeeded as is required on SMP).  Anyway, reverting this
still compiles and appears ok.
1999-05-06 12:47:21 +00:00
Bruce Evans
ea2b3e3d1b Fixed profiling of elf kernels. Made high resolution profiling compile
for elf kernels (it is broken for all kernels due to lack of egcs support).

Renaming of many assembler labels is avoided by declaring by declaring
the labels that need to be visible to gprof as having type "function"
and depending on the elf version of gprof being zealous about discarding
the others.  A few type declarations are still missing, mainly for SMP.

PR:		9413
Submitted by:	Assar Westerlund <assar@sics.se> (initial parts)
1999-05-06 09:44:57 +00:00
KATO Takenori
5c32431080 Sync with sys/i386/i386/userconfig.c revision 1.138. 1999-05-06 09:15:20 +00:00
KATO Takenori
bb0992d7ab Sync with sys/i386/conf/files.i386 revision 1.237. 1999-05-06 09:13:56 +00:00
Bruce Evans
54ab20b159 Fixed bitrot in comments. 1999-05-06 03:35:44 +00:00
Bill Paul
c49713fde1 Fix some byte ordering problems; I was storing string lengths wrong,
which was causing wicontrol to crash when reading string parameters
from the WaveLAN.

Patches submitted by: Brad Karp <karp@eecs.harvard.edu>
1999-05-06 03:34:02 +00:00
Luoqi Chen
25b602e4c2 Now that each cpu has its own gdt table, we need to setup apm gdt entries in
all the tables.
1999-05-06 01:07:03 +00:00
Luoqi Chen
c300b7b6c1 Initialize dblfault_tss.tss_fs to the per-cpu private data segment selector. 1999-05-06 00:54:54 +00:00
Luoqi Chen
d28ab90f02 Don't ignore mmap() address hint below the text section. 1999-05-06 00:46:19 +00:00
Luoqi Chen
68db6cea99 Do not set curproc until proc0 is fully initialized (in proc0_init()). 1999-05-06 00:39:00 +00:00
David E. O'Brien
025998c77d MFS: don't build the pcic.ko module. 1999-05-05 20:58:15 +00:00
Bill Paul
b346e4e2e4 Dynamically increase TX start threshold if TX underruns are detected. 1999-05-05 17:05:07 +00:00
John Birrell
785d2100dd Add the INIT_PATH option for embedded systems. 1999-05-05 12:22:31 +00:00
John Birrell
67481196cc Allow the init_path to be customised in an embedded system using the
INIT_PATH config option.

Also fix two bugs which caused an infinite loop in none of the programs
in the init_path were found. That code was obviously not tested!
1999-05-05 12:20:23 +00:00
John Birrell
9775e37869 Add an INIT_PATH option to allow the init_path (for sys/kern/init_main.c)
to be customised in an embedded system which doesn't want to
run either init of sysinstall.
1999-05-05 11:24:15 +00:00
Jordan K. Hubbard
3d0d924077 Add information strings for a number of devices which have suddenly appeared
in the configuration name space.
1999-05-05 09:37:22 +00:00
Bill Paul
31a08ab08e Add device driver support for the Lucent WaveLAN/IEEE 802.11 PCMCIA
adapter (and some workalikes). Also add man pages and a wicontrol
utility to manipulate some of the card parameters.

This driver was written using information gleaned from the Lucent HCF Light
library, though it does not use any of the HCF Light code itself, mainly
because it's contaminated by the GPL (but also because it's pretty gross).
The HCF Light lacks certain featurs from the full (but proprietary) HCF
library, including 802.11 frame encapsulation support, however it has
just enough register information about the Hermes chip to allow someone
with enough spare time and energy to implement a proper driver. (I would
have prefered getting my hands on the Hermes manual, but that's proprietary
too. For those who are wondering, the Linux driver uses the proprietary
HCF library, but it's provided in object code form only.)

Note that I do not have access to a WavePOINT access point, so I have
only been able to test ad-hoc mode. The wicontrol utility can turn on
BSS mode, but I don't know for certain that the NIC will associate with
an access point correctly. Testers are encouraged to send their results
to me so that I can find out if I screwed up or not.
1999-05-05 07:37:11 +00:00
Bill Paul
113a394c06 Add device driver support for the Lucent WaveLAN/IEEE 802.11 wireless
network adapters. These are all PCMCIA devices (the ISA version is a
PCMCIA to ISA bridge with a PCMCIA card plugged into it). Also add a
wicontrol utility to read and write some of the card's parameters.

Note: I do not have access to a WavePOINT access point, so I have only
been able to test this driver in ad-hoc (point to point) mode. The
wicontrol utility allows programming the desired service set name (SSID)
and enabling BSS mode, but I can't tell for sure if it works (I know the
card switches modes, but I can't verify that it joins a service set
correctly).

This driver was written using information gleaned from the Lucent HCF Light
library, which is an API library designed to simplify driver development
for devices based on the Lucent Hermes chip. Unfortunately, the HCF Light
is missing certain features (like 802.11 frame encapsulation!) which are
available only in the proprietary complete HCF code, which is not available
to the public. This driver uses none of the HCF Light code: it's very ugly
and contaminated by the GPL. IP and ARP packets are encapsulated as 802.11
frames, everything else is encapsulated as 802.3.

(It would be easier to just get the Hermes programming manual, but that's
not publically available either. For those who are wondering, the Linux
WaveLAN/IEEE driver uses the proprietary HCF code, which is provided in
object code form only. So much for supporting open source sofware.)

Multicast filter support is implemented, however it appears that the
filter doesn't work: programming in one IP mutlicast group enables them
all.
1999-05-05 07:11:38 +00:00
Warner Losh
ed7b35c79d Remove bt_softcs. It is no longer used. 1999-05-05 06:45:10 +00:00
KATO Takenori
ef560ddafd Sync with sys/i386/isa/fd.c revision 1.137. 1999-05-05 03:43:00 +00:00
KATO Takenori
635a64d91f Sync with sys/i386/conf/majors.i386 revision 1.71. 1999-05-05 03:41:39 +00:00
KATO Takenori
86f210dfba Fixed missing parenthesis.
Submitted by:	Takahashi Yoshihiro <nyan@dd.catv.ne.jp>
1999-05-05 01:53:43 +00:00
Doug Rabson
6887e80a0f Use unit, not device_id as an argument to an old-style ISA interrupt
handler. This fixes pnp interrupts and would have fixed pccard interrupts
but a workaround has been applied there.

This the sound driver problems which people have reported with new-bus.
1999-05-04 21:18:20 +00:00
Bill Fumerola
9309218052 Add procfs_rlimit.c so the kernel actually compiles.
PR:		kern/11497
Submitted by:	Jos Backus <jos.backus@nl.origin-it.com> (misordered patch)
Pointy Hat:	phk, adrian
1999-05-04 21:08:58 +00:00
Bill Paul
36d3e45587 Fix the media selection for the 3c900B-FL 10baseFL adapter. It actually
uses the AUI port with an on-board AUI to 10baseFL transceiver, not the
10baseT port like I had earlier suspected. The 3c900B-FL should be properly
supported now.
1999-05-04 20:52:30 +00:00
Justin T. Gibbs
5f14bb14e3 Don't touch a path after we've free'd it. 1999-05-04 19:24:21 +00:00
Luigi Rizzo
eaa726bed6 Free the dummynet descriptor in ip_dummynet, not in the called
routines. The descriptor contains parameters which could be used
within those routines (eg. ip_output() ).

On passing, add IPPROTO_PGM entry to netinet/in.h
1999-05-04 16:20:33 +00:00
Bill Paul
134a826b50 Unbreak slot_irq_handler(). The problem here is that slot_irq_handler()
abuses its argument, which is supposed to be an integer unit number, as
a pointer to the head of the 'struct slot' list. When this code was
hacked^Wupdated for newbus, a new mechanism for registering slot_irq_handler()
was put in place and the significance of the unit number was overlooked.
When registering an interrupt, we have both device_id and unit. The unit
number is passed as 'unit' but /sys/i386/usa/intr_machdep.c:register_intr()
drops unit on the floor and uses device_id instead. Since pccard_alloc_intr()
always sets device_id to 0, this means the unit number is always zero, and
slot_irq_handler() is always called with 0, which becomes a NULL pointer
which slot_irq_handler() tries to dereference and the kernel explodes.

Result: if you assign a PCMCIA driver in the kernel config file like this:

device wi0 at isa? port? irq?

Then the system will panic the moment a PCMCIA device is attached and
an interrupt is triggered.

The quick fix: make pccard_alloc_intr() pass the unit number as both
the device_id and unit arguments to register_pcic_intr(). The correct fix
would be to rewrite /sys/pccard to be less disgusting.
1999-05-04 15:43:02 +00:00
KATO Takenori
8d0e6b1696 Replace misused FE_D6_BBW with FE_D6_SBW.
Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
Reminded by:	Takahashi Yoshihiro <nyan@dd.catv.ne.jp>
1999-05-04 12:59:59 +00:00
Jordan K. Hubbard
d4fb5cb1e8 Add missing copyright. 1999-05-04 12:58:56 +00:00
Jordan K. Hubbard
cc611a43c2 Add "fire" screen saver.
Submitted by:	Brad Forschinger <retch@flag.blackened.net>
1999-05-04 12:23:32 +00:00
Brian Somers
f1dfc9571e Add missing ``.''. 1999-05-04 10:56:13 +00:00
Poul-Henning Kamp
f16bbd9770 Grab a char-major for dallas semiconductor one-wire bus. 1999-05-04 10:48:22 +00:00
Luigi Rizzo
a7c219496c forgot passing the right pointer to dst to dummynet_io().
(-stable and releng2 were already safe).
Debugged-By: phk
1999-05-04 09:26:12 +00:00
Poul-Henning Kamp
a6d3121589 Make the type and map files claim 0 bytes size. Tar doesn't get confused
now, but doesn't store any data eiter.

I wonder if we shouldn't claim to be fifos instead...
1999-05-04 08:01:55 +00:00
Poul-Henning Kamp
8902608d57 Add even more () to CHECKIO which by now feels positively LISPish.
Submitted by:	bde
Reviewed by:	phk
1999-05-04 08:00:10 +00:00
Luigi Rizzo
44f1bb1a55 assorted dummynet cleanup:
+ plug an mbuf leak when dummynet used with bridging
 + make prototype of dummynet_io consistent with usage
 + code cleanup so that now bandwidth regulation is precise to the
   bit/s and not to (8*HZ) bit/s as before.
1999-05-04 07:30:08 +00:00
Mike Smith
3574d12d70 Disable the ppc chipset-specific probes by default. 1999-05-04 00:15:15 +00:00
Bill Fumerola
3d177f465a Add sysctl descriptions to many SYSCTL_XXXs
PR:		kern/11197
Submitted by:	Adrian Chadd <adrian@FreeBSD.org>
Reviewed by:	billf(spelling/style/minor nits)
Looked at by:	bde(style)
1999-05-03 23:57:32 +00:00
Nick Hibma
139559717b Descriptors can be delivered with short transfers. 1999-05-03 23:21:28 +00:00
Nick Hibma
a13cdf0c74 Add a load of definitions 1999-05-03 23:20:37 +00:00
Nick Hibma
42be55493c Remove disconnected method 1999-05-03 23:19:55 +00:00
Nick Hibma
561a70bd94 Replace UE_GET_IN with UE_GET_DIR
Remove freeind of description. Is done by subr_bus.c.
1999-05-03 23:19:32 +00:00
Nick Hibma
0bf8525354 Replace UE_GET_IN with UE_GET_DIR 1999-05-03 23:18:11 +00:00
Nick Hibma
f99abb25a6 Change '#if UKBD_DEBUG' to '#ifdef...'
Remove freeing of description on detach. Is done by subr_bus.c.
1999-05-03 23:16:05 +00:00
Nick Hibma
6fed05b974 Remove double removal of children of a hub. (remove disconnected method)
This was introduced when merging a patch for the newbus people.

And change the debugging flag from USB_DEBUG to UHUB_DEBUG.
1999-05-03 23:14:46 +00:00
Nick Hibma
808844911f Add URL to HID spec 1999-05-03 23:13:14 +00:00
Nick Hibma
f018dbb4d9 Clean up parts of struct shared between NetBSD and FreeBSD 1999-05-03 23:12:49 +00:00
Nick Hibma
7b3849971a Clean up debugging output 1999-05-03 23:11:41 +00:00
Alan Cox
7f2f2dae43 All directory accesses must be made with NFS_DIRBLKSIZE chunks to avoid
confusing the directory read cookie cache.  The nfs_access implementation
for v2 mounts attempts to read from the directory if root is the user
so that root can't access cached files when the server remaps root
to some other user.

Submitted by:	Doug Rabson <dfr@nlsystems.com>
Reviewed by:	Matthew Dillon <dillon@apollo.backplane.com>
1999-05-03 20:59:14 +00:00
Bill Paul
6263933e7a Upgrade firmware images Alteon's latest release (12.3.10). This fixes a
bug in the stats accounting (nicSendBDs counter was bogus when TX ring was
configured to be in host memory).

Update if_tireg.h to look for new firmware fix level.
1999-05-03 17:44:53 +00:00
Peter Wemm
cbdfdcb2f4 Don't deref a NULL mem_range_softc.mr_op pointer on non-MTRR systems when
starting the AP.
1999-05-03 09:47:53 +00:00
Doug Rabson
84b399de51 Changes to support diskless booting on the alpha:
* Make the network code in the bootstrap more chatty (helps debugging)
* Add nfs root stuff to cpu_rootconf(). I also added a check to make sure
  it really was netbooting which allows the use of the same kernel for local
  and network boots.
* Tweak the de driver so that it takes the speed setting from the console
  for the alpha (some PWSs have broken de chipsets). This is the same
  behaviour as NetBSD/alpha.

Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>
1999-05-03 09:36:29 +00:00
Brian Somers
67fb73e4b4 Add an additional probe, hopefully allowing me to distinguish
between the PC/Xi and PC/Xem boards.  Now all I need is for
someone with a PC/Xem to tell me what the probe says....
1999-05-03 09:32:31 +00:00
Joseph Koshy
e539c67bbb Correct typos.
PR:		docs/11445
Submitted by:	Kazuo Horikawa <horikawa@jp.freebsd.org>
1999-05-03 08:32:45 +00:00
Joseph Koshy
5d48be470c Correct misuse of .Nm.
PR:		docs/11449
Submitted by:	Kazuo Horikawa <horikawa@jp.freebsd.org>
1999-05-03 07:25:50 +00:00
Alan Cox
4221e284a3 The VFS/BIO subsystem contained a number of hacks in order to optimize
piecemeal, middle-of-file writes for NFS.  These hacks have caused no
end of trouble, especially when combined with mmap().  I've removed
them.  Instead, NFS will issue a read-before-write to fully
instantiate the struct buf containing the write.  NFS does, however,
optimize piecemeal appends to files.  For most common file operations,
you will not notice the difference.  The sole remaining fragment in
the VFS/BIO system is b_dirtyoff/end, which NFS uses to avoid cache
coherency issues with read-merge-write style operations.  NFS also
optimizes the write-covers-entire-buffer case by avoiding the
read-before-write.  There is quite a bit of room for further
optimization in these areas.

The VM system marks pages fully-valid (AKA vm_page_t->valid =
VM_PAGE_BITS_ALL) in several places, most noteably in vm_fault.  This
is not correct operation.  The vm_pager_get_pages() code is now
responsible for marking VM pages all-valid.  A number of VM helper
routines have been added to aid in zeroing-out the invalid portions of
a VM page prior to the page being marked all-valid.  This operation is
necessary to properly support mmap().  The zeroing occurs most often
when dealing with file-EOF situations.  Several bugs have been fixed
in the NFS subsystem, including bits handling file and directory EOF
situations and buf->b_flags consistancy issues relating to clearing
B_ERROR & B_INVAL, and handling B_DONE.

getblk() and allocbuf() have been rewritten.  B_CACHE operation is now
formally defined in comments and more straightforward in
implementation.  B_CACHE for VMIO buffers is based on the validity of
the backing store.  B_CACHE for non-VMIO buffers is based simply on
whether the buffer is B_INVAL or not (B_CACHE set if B_INVAL clear,
and vise-versa).  biodone() is now responsible for setting B_CACHE
when a successful read completes.  B_CACHE is also set when a bdwrite()
is initiated and when a bwrite() is initiated.  VFS VOP_BWRITE
routines (there are only two - nfs_bwrite() and bwrite()) are now
expected to set B_CACHE.  This means that bowrite() and bawrite() also
set B_CACHE indirectly.

There are a number of places in the code which were previously using
buf->b_bufsize (which is DEV_BSIZE aligned) when they should have
been using buf->b_bcount.  These have been fixed.  getblk() now clears
B_DONE on return because the rest of the system is so bad about
dealing with B_DONE.

Major fixes to NFS/TCP have been made.  A server-side bug could cause
requests to be lost by the server due to nfs_realign() overwriting
other rpc's in the same TCP mbuf chain.  The server's kernel must be
recompiled to get the benefit of the fixes.

Submitted by:	Matthew Dillon <dillon@apollo.backplane.com>
1999-05-02 23:57:16 +00:00
Peter Wemm
87f0e52bec Set ifq_maxlen to default value. (This should be safe, it's not clear
if there's benefit to setting it to the exact amount, it appears the
card has 32K of ram, and 8K is used for outgoing packets, that would
be something like a queue limit of 5 packets.  I don't think that's
useful...)

PR:		11456
Submitted by:	Stephen J. Roznowski <sjr@home.net>
1999-05-02 22:01:24 +00:00
Nick Hibma
b7b075a2a2 Add driver for the Iomega Zip 100 drive. 1999-05-02 21:54:05 +00:00
Peter Wemm
0441b961d8 Sigh, serves me right for committing without reading the followups. :-]
The whole thing (mpu_config etc) is dead code.

PR:		11411 (followup)
Pointed out by:	"Daniel C. Sobral" <dcs@newsguy.com>
1999-05-02 21:53:28 +00:00
Nick Hibma
97f17d41f7 Change e-mail address 1999-05-02 21:52:15 +00:00
Peter Wemm
f79cfdd928 Operator precedence bug
PR:		11411
Submitted by:	Christopher Peterson <cpeterso@cs.washington.edu>
1999-05-02 21:51:17 +00:00
Peter Wemm
271694cc1e Operator precedence bug
PR:		11415
Submitted by:	Christopher Peterson <cpeterso@cs.washington.edu>
1999-05-02 21:46:31 +00:00
Peter Wemm
6a2648e613 Operator precedence (nit: in #if 0 code) bug.
PR:		11413
Submitted by:	Christopher Peterson <cpeterso@cs.washington.edu>
1999-05-02 21:45:31 +00:00
Peter Wemm
ccb64c7419 Typo: if (mpu_config = NULL) -> if (mpu_config != NULL)
PR:		11411
Submitted by:	Christopher Peterson <cpeterso@cs.washington.edu>
1999-05-02 21:43:20 +00:00
Peter Wemm
025fd878ff Operator precedence bug
PR:		11410
Submitted by:	Christopher Peterson <cpeterso@cs.washington.edu>
1999-05-02 21:41:20 +00:00
Peter Wemm
6ecf0f85fc s/size == 0;/size = 0;/
PR:		11409
Submitted by:	Christopher Peterson <cpeterso@cs.washington.edu>
1999-05-02 21:39:52 +00:00
Peter Wemm
dacc95aa33 Make this compile with CY_PCI_FASTINTR again. 1999-05-02 20:42:13 +00:00
Peter Wemm
cf52c04ff2 Attempt to make the sound driver recompile, at least for LINT which has
the sscape/trix driver active, which (for some reason) disables the
mpu401 driver, causing an undefined reference to mpuintr.  This was broken
with rev 1.79 (part of the PC98 nss driver commit).
1999-05-02 20:40:28 +00:00
Peter Wemm
edfdec1910 Disable FDC_YE - it's broken at present (breaking LINT) and awaiting some
pccard fixups.
Make DEVFS compile, it breaks LINT.
1999-05-02 20:38:08 +00:00
Peter Wemm
741640aac6 These two drivers have not been converted for newbus eisa yet. 1999-05-02 20:35:44 +00:00
Peter Wemm
db7cb131d0 Disable second declaration of oltr0 - the first one (intended for isa) will
cause the device to be found on all busses, including pci.
1999-05-02 20:34:06 +00:00
Doug Rabson
d4af94988c Declare the return address for __divX, __remX so that gdb can step over
calls properly.
1999-05-02 12:05:09 +00:00
Mark Murray
a8af2bd86b This routine was "use"ing File::Basename. This commit removes that
"use" and replaces it with equivalent inline code. The reason is that
Perl has some very nasty circular dependancies, and I am trying to
get the System Perl upgraded by one maintenance level.

The basic rule, until I can find a way to solve this, is that
the build tools MAY NOT use any library code; it must all be inline.
1999-05-02 08:55:27 +00:00
Greg Lehey
417f97c954 Get extern declarations right.
Change DEBUG_EXITFREE to DEBUG_WARNINGS.
1999-05-02 07:59:04 +00:00
Greg Lehey
a2d8e114f4 close_drive:
If a drive has gone down and has dirty buffers associated with it,
  we'll get a panic when we try to vn_close it.  Check for this
  situation and discard any buffers; they're toast anyway.

  Only complain about usage count if DEBUG_WARNINGS is set.

check_drive:
  Change parameter name from drivename to devicename.

  Get the check for a referenced drive right.

  If the partition isn't a vinum drive, set the last error to ENODEV.

vinum_scandisk:
  Change parameter name from drivename [] to devicename [].
1999-05-02 07:51:20 +00:00
Greg Lehey
3041dc10ba vinum_mallocinfo:
Set the entry number correctly.
1999-05-02 07:50:38 +00:00
Greg Lehey
b3a717f1a8 set_sd_state:
Don't change state from reborn to reborn.  This caused a silly
  warning message.
1999-05-02 07:50:09 +00:00
Greg Lehey
a894c77db1 sizespec:
Implement scaling letter 's' to mean 'sectors' (of 512 bytes).
1999-05-02 07:49:13 +00:00
Greg Lehey
9f8115fd0c Remove some dead variables.
Change DEBUG_EXITFREE to DEBUG_WARNINGS.
1999-05-02 07:48:00 +00:00
Nate Williams
4be290acd4 - Added PCI identification support for the TI1251 PCI/CardBus bridge.
With this addition my ThinkPad 600E works with the stock FreeBSD
  PCMCIA code.
1999-05-02 05:53:50 +00:00
Nate Williams
b79fadf33d - When the card is inserted, call pccard_insert_beep instead of
pccard_remove_beep.

Submitted by:	PAO
1999-05-02 04:19:27 +00:00
Mike Smith
1bbb92c757 Whoops, not all SMP systems have memory range attribute support. Don't
try to set it up on an AP unless we do.

Submitted by:	dave adkins <adkin003@tc.umn.edu>
1999-05-02 03:06:22 +00:00
Nick Hibma
5801da881d Oops. Introduced a typo in one of previous commits. 1999-05-01 23:59:09 +00:00
Nick Hibma
4933978a5f Clean up uhci_intr. Avoid acknowledging mutliple interrupts with
multiple writes.
1999-05-01 23:46:02 +00:00
Nick Hibma
e017ab4741 Correct maximum error count in TD initialisation for transfer from 2 to 3. 1999-05-01 23:38:46 +00:00
Nick Hibma
146a3db349 Clean up debugging output, rename printf to DPRINTF and set some
debugging levels to more sensible values.
1999-05-01 23:35:41 +00:00
Nick Hibma
1a7cfd07a3 Move the disabling of interrupts right before the allocation of the
resource. Avoids useless interrupts occurring between the allocation
of the interrupt resource and the final initialisation of the
kernel. Cause of these interrupts is unknown (a resuming device?).
1999-05-01 23:30:09 +00:00
Nick Hibma
9deb189ddc Z direction was upside down.
Submitted By: MAEKAWA Masahide
1999-05-01 13:17:47 +00:00
Nick Hibma
04f5d6d7a2 Added vendor OmniVision and camera 1999-05-01 13:16:35 +00:00
Mike Smith
4a034f21cd Add a hook that can be called to initialise a slave processor's memory
range attributes after they have been extracted from the master.

Hook up the i686 MP code to do this for each AP.

Be more careful about printing the default memory type for the i686.

Suggestions from: luoqi
1999-04-30 22:09:45 +00:00
Bill Paul
0a9766ee3a Bunch of updates:
- Try to unbreak what I broke by screwing with the tx queuing again.
  I'm waiting for a few more people to test out this code and report back
  before I move it into current. Hopefully it will be soon. Basically I
  reverted to the old TX queuing strategy.

- Add experimental support for the 3c900B-FL (10mbps ST fiber). The card
  should be detected properly and the 10baseFL mode supported, but again
  I'm still waiting for word from a tester to see if this actually works.
  It shouldn't affect the other cards though; all the differences are in
  media selection.

- Set the TX start threshold register to get better performance.

- Increase the size of the RX and TX rings. UDP performance was pretty
  bad because the TX ring was too small. Should be substantially better
  now (I can saturate the link with either TCP or UDP now).

- Change some of the #defines to reflect proper 3Com ASIC names (boomerang,
  cyclone, krakatoa, hurricane).

- Simplify and reorganize interrupt handler; ack all interrupts right
  away and then process them. This avoids a potential race condition.
  (Noted by Matt Dillon.)

- Reorganize the bridging code to eliminate using a goto to jump into
  the middle of an if() {} clause. Sorry, that just made my brain itch.

- Use m_adj() in xl_rxeof().

- Make the payload alignment in xl_newbuf() the default (instead of
  just conditionally defined for the alpha) to improve NFS performance
  (avoids need for nfs_realign()).
1999-04-30 16:15:43 +00:00
Poul-Henning Kamp
d37ed5a03a Add a new "file" to procfs: "rlimit" which shows the resource limits for
the process.

PR:		11342
Submitted by:	Adrian Chadd adrian@freebsd.org
Reviewed by:	phk
1999-04-30 13:04:21 +00:00
Roger Hardiman
541157e3ac My last commit accidentally undid the changes made in rev 1.68
regarding COMPAT_PCI_DRIVER. Put them back.
1999-04-30 11:16:30 +00:00
KATO Takenori
28e5bf9207 Added $Id$. 1999-04-30 07:31:17 +00:00
Poul-Henning Kamp
07901f227b Add beer-ware license and $Id$
Noticed by:	dillon
1999-04-30 06:51:51 +00:00
Poul-Henning Kamp
430210c00b Make BOOTP to work again.
Submitted by:	dillon
Reviewed by:	phk
1999-04-30 06:30:15 +00:00
Dmitrij Tejblum
188554bba1 Set curproc at the end of proc0_init().
This patch also moves the bogus comment (the comment is still not quite
right) and (as a side effect) removes some verbose initialisations (we
depend on static initialisation to 0 for almost everything in proc0).

The alpha kernels are bootable again. The change  won't affect i386's
until machdep.c is changed.

Submitted by:	bde
1999-04-29 22:51:59 +00:00
Alan Cox
0043b4376a Address a performance problem in getnewbuf:
In heavy-writing situations, QUEUE_LRU can contain a large number
	of DELWRI buffers at its head.  These buffers must be moved
	to the tail if they cannot be written async in order to reduce
	the scanning time required to skip past these buffers in later
	getnewbuf() calls.

Submitted by:	Matthew Dillon <dillon@apollo.backplane.com>
1999-04-29 18:15:25 +00:00
Bill Paul
737267b891 Add a test to ti_encap() to try and prevent the transmit producer index
from ever catching up to the transmit consumer index. We can't let this
happen because ti_txeof() depends on the assumption that producer == consumer
means the ring is empty, and producer != consumer means the ring has some
number of active descriptors in it.
1999-04-29 16:27:51 +00:00
Roger Hardiman
f677e15fe8 Added initial code for VBI capture based on work by
Hiroki Mori <mori@infocity.co.jp> and reworked by myself.
This allows software decoding of teletext, intercast and
subtitles via /dev/vbi.
1999-04-29 10:15:55 +00:00
Roger Hardiman
26da6e9453 Add support for VBI capture from /dev/vbi.
This will allow software teletext/intercast/subtitles decoding
while watching a TV station.

Based on code from Hiroki Mori <mori@infocity.co.jp> but reworked by
myself.
1999-04-29 10:01:28 +00:00
Roger Hardiman
ea2052d226 Added new cards: NEC PK-UG-X017 and I/O DATA GV-BCTV2/PCI
Added new tuner: ALPS_TSBH1 (plus FM Radio for ALPS_TSCH5)
Added support for BCTV audio mux.

Submitted by Hiroki Mori <mori@infocity.co.jp>
1999-04-29 09:57:47 +00:00
Roger Hardiman
c8f810a76e Fix crashes caused by rows=0 or columns=0.
Add new #ifdef. By defining BKTR_NO_MSP_RESET you can prevent the
MSP34xx being reset by the bt848 driver. This is handy
if you pre-initialise the MSP34xx stereo audio chip in another
operating system first (eg MS Windows).
Suggested by:  Randal Hopper<aa8vb@ipass.net>
Suggested by:  Yuri Gindin <yuri@xpert.com>
1999-04-29 05:48:32 +00:00
Luoqi Chen
9debe21353 - Handle mixer read ioctls correctly. They have the same group, number and
argument size as their write counterparts and were handled as write ioctls.
- Emulate some cdrom ioctls.
1999-04-29 04:37:57 +00:00
Luoqi Chen
cb64988f42 Postpone route_init() until all domains are attached. 1999-04-29 03:22:19 +00:00
Dmitrij Tejblum
9ade6e676b pmap_emulate_reference: don't ever lose PV_TABLE_MOD bit on page. If
PV_TABLE_REF cleared before PV_TABLE_MOD, the page may get fault on read again.

On fault on write, pmap_emulate_reference mark the page dirty with
vm_page_dirty. That decrease ill effects of the bug.

The problem probably become more serious after my rev.1.18 a week ago.
1999-04-28 15:52:09 +00:00
Poul-Henning Kamp
75c1354190 This Implements the mumbled about "Jail" feature.
This is a seriously beefed up chroot kind of thing.  The process
is jailed along the same lines as a chroot does it, but with
additional tough restrictions imposed on what the superuser can do.

For all I know, it is safe to hand over the root bit inside a
prison to the customer living in that prison, this is what
it was developed for in fact:  "real virtual servers".

Each prison has an ip number associated with it, which all IP
communications will be coerced to use and each prison has its own
hostname.

Needless to say, you need more RAM this way, but the advantage is
that each customer can run their own particular version of apache
and not stomp on the toes of their neighbors.

It generally does what one would expect, but setting up a jail
still takes a little knowledge.

A few notes:

   I have no scripts for setting up a jail, don't ask me for them.

   The IP number should be an alias on one of the interfaces.

   mount a /proc in each jail, it will make ps more useable.

   /proc/<pid>/status tells the hostname of the prison for
   jailed processes.

   Quotas are only sensible if you have a mountpoint per prison.

   There are no privisions for stopping resource-hogging.

   Some "#ifdef INET" and similar may be missing (send patches!)

If somebody wants to take it from here and develop it into
more of a "virtual machine" they should be most welcome!

Tools, comments, patches & documentation most welcome.

Have fun...

Sponsored by:   http://www.rndassociates.com/
Run for almost a year by:       http://www.servetheweb.com/
1999-04-28 11:38:52 +00:00
Poul-Henning Kamp
02daf150a4 Add the jail system call. 1999-04-28 11:28:49 +00:00
Dmitrij Tejblum
604359cf9b s/static foo_devsw_installed = 0;/static int foo_devsw_installed;/.
(Edited automatically)
1999-04-28 10:54:24 +00:00
KATO Takenori
482f0be026 Sync with sys/i386/isa/clock.c revision 1.132. 1999-04-28 08:06:00 +00:00
KATO Takenori
8aef41e249 Sync with sys/i386/i386/machdep.c revision 1.332. 1999-04-28 08:03:54 +00:00
Mike Smith
f8dc47162a Allow loadable interface drivers with BPF support to be loaded into a kernel
that doesn't have it.  This is achieved by having minimal do-nothing stubs
enabled when there are no bpfilter devices configured.

Driver modules should be built with BPF enabled for maximum
convenience (but can be built without it for maximum performance).
1999-04-28 01:18:13 +00:00
Luoqi Chen
5206bca10a Enable vmspace sharing on SMP. Major changes are,
- %fs register is added to trapframe and saved/restored upon kernel entry/exit.
- Per-cpu pages are no longer mapped at the same virtual address.
- Each cpu now has a separate gdt selector table. A new segment selector
  is added to point to per-cpu pages, per-cpu global variables are now
  accessed through this new selector (%fs). The selectors in gdt table are
  rearranged for cache line optimization.
- fask_vfork is now on as default for both UP and SMP.
- Some aio code cleanup.

Reviewed by:	Alan Cox	<alc@cs.rice.edu>
		John Dyson	<dyson@iquest.net>
		Julian Elischer	<julian@whistel.com>
		Bruce Evans	<bde@zeta.org.au>
		David Greenman	<dg@root.com>
1999-04-28 01:04:33 +00:00
Mike Smith
f4711b2df4 Simplify the tunefs example, since tunefs uses getfsfile(). Lots of
people complain about working out what device their filesystems are
mounted on.
1999-04-27 21:11:19 +00:00
John Polstra
7c44ad261e Eliminate compiler warning about missing type in declaration.
Remove useless initialization of static variable to 0.

Move static variable declaration into the only function that uses
it.
1999-04-27 18:47:39 +00:00
John Polstra
b1f2f2d538 Fix the code that prints the "Initializing PC-card drivers" message
so that the list of drivers is correct.  This is a slightly
simplified version of the patch from the PR.

PR:		misc/10544
Submitted by:	Christophe Colle <colle@krtkg1.rug.ac.be>
1999-04-27 18:34:13 +00:00
Poul-Henning Kamp
1c308b817a Change suser_xxx() to suser() where it applies. 1999-04-27 12:21:16 +00:00
Poul-Henning Kamp
0fc6acbfe4 bump __FreeBSD_version to 400005:
suser() API changed.
1999-04-27 11:20:54 +00:00
Poul-Henning Kamp
f711d546d2 Suser() simplification:
1:
  s/suser/suser_xxx/

2:
  Add new function: suser(struct proc *), prototyped in <sys/proc.h>.

3:
  s/suser_xxx(\([a-zA-Z0-9_]*\)->p_ucred, \&\1->p_acflag)/suser(\1)/

The remaining suser_xxx() calls will be scrutinized and dealt with
later.

There may be some unneeded #include <sys/cred.h>, but they are left
as an exercise for Bruce.

More changes to the suser() API will come along with the "jail" code.
1999-04-27 11:18:52 +00:00
Kenneth D. Merry
5007fcb30f Fix from Justin for transfer negotiations for targets up to target ID 7. 1999-04-26 22:03:44 +00:00