Commit Graph

61 Commits

Author SHA1 Message Date
thorpej
e43fecb228 Change bounds_check_with_label() to take a pointer to the disk structure,
rather than the label itself.  This paves the way for some future changes.
2003-05-10 23:12:28 +00:00
wiz
1ffa7b76c4 DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
thorpej
8818afa48e Use PAGE_SIZE rather than NBPG. 2003-04-01 21:26:26 +00:00
wiz
c6f1277bfa synchronous, not syncronous. 2003-01-06 13:10:25 +00:00
thorpej
5001cdaf1f Use aprint_normal() for cfprint routines. 2003-01-01 00:25:01 +00:00
mrg
603098b9b5 implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
	- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
	when processing hw.diskstats, add the read&write bytes/transfers for
	the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail.  however, the next time this is
change it will not fail again.

this is just the kernel portion.
2002-11-01 11:31:50 +00:00
jdolecek
e0cc03a09b merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
2002-10-23 09:10:23 +00:00
thorpej
c5e91d447d Use CFATTACH_DECL(). 2002-10-02 04:55:47 +00:00
thorpej
9a711d6985 Declare all cfattach structures const. 2002-09-27 20:29:02 +00:00
gehenna
77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
hannken
bf7cb35ffa Convert to new device buffer queue interface.
Approved by: Ignatios Souvatzis <is@netbsd.org>
2002-08-07 07:29:13 +00:00
aymeric
1ea4df81a8 add __KERNEL_RCSID as suggested by Luke Mewburn 2002-01-28 09:56:43 +00:00
aymeric
9382c87338 - ANSIfy
- remove some trailing spaces/tabs
- minor style nits
2002-01-26 13:40:52 +00:00
wiz
456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
aymeric
11dbbd8afe make this compile again 2001-01-13 02:08:15 +00:00
chs
c62d17a551 rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
2000-11-20 08:24:08 +00:00
thorpej
b667a5a357 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 06:30:07 +00:00
kleink
8bc084e1de Kill more broken cf_unit bogons. 2000-03-16 16:37:20 +00:00
thorpej
fe551f0e64 Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle.  Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.
2000-02-07 20:16:47 +00:00
thorpej
52242fdf9f Update for sys/buf.h/disksort_*() changes. 2000-01-21 23:28:59 +00:00
ragge
0513268399 CL* discarding. 1999-12-04 21:13:19 +00:00
thorpej
0b6e56ec02 Adjust for changes to config. 1998-01-12 10:39:01 +00:00
mhitch
7c5af2d5da Fix typo from DIOCGDEFLABEL implementation. 1997-10-11 16:13:19 +00:00
thorpej
e3834cc351 Implement DIOCGDEFLABEL. 1997-10-08 23:37:50 +00:00
jtk
594536a71f use locator defines in "locators.h" to index cf_loc[] 1997-07-17 01:28:54 +00:00
veego
94b6312429 Get rid of __BROKEN_INDIRECT_CONFIG. 1996-12-23 09:09:49 +00:00
christos
ca36ac9ef4 backout previous kprintf change 1996-10-13 03:05:43 +00:00
christos
946833855f printf -> kprintf, sprintf -> ksprintf 1996-10-10 23:51:21 +00:00
cgd
2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
mhitch
c871eb1ec2 Floppy driver now supports MSDOS track format. Minor device 1 (/dev/fd?b)
uses MSDOS MFM track encoding.  From Ezra Story (ezy@panix.com) with
a couple of changes by me.
1996-05-04 04:54:00 +00:00
mhitch
bcd490a50d Remove include of sys/cpu.h. 1996-04-30 06:09:51 +00:00
mhitch
74de027054 Add floppy index interrupt routine for future MSDOS floppy support.
Don't seek to track 0 before checking for diskchange:  if drive steps,
the diskchange flag is cleared.  Just select the drive, then test for
a diskchange.
Clean up for -Wall with FDDEBUG defined, and fix a message typo.
1996-04-29 06:23:47 +00:00
veego
974e9f6e22 - Cleanup for -Wall and -Wstrict-prototypes
- Added support for multiple floppy drives
- CyberVision64:
        - has now a real console mode
        - another bugfix for boards with the new S3 chip
- Ariadne:
        - fixed crashes with aeput (mbuf failure)
1996-04-21 21:10:48 +00:00
mhitch
3ce4de5491 Pass reserved blocks in label so adosfs computes root block
correctly (close PR 2232).
1996-04-05 05:08:07 +00:00
mhitch
b00a2c1e30 Clean up typos and other errors from new device attachment changes. 1996-03-17 05:53:57 +00:00
thorpej
5c67e5fad9 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 01:16:48 +00:00
chopps
9819a7c27e make sure master enable is set #1920 1996-01-28 19:48:39 +00:00
thorpej
18960b616f Call disk_busy() a bit earlier in case an exceptional condition causes
fddone() (and thus disk_unbusy()) to be called directly from fdstart().
Pointed out by Ezra Story <ezy@panix.com>.
1996-01-15 21:53:50 +00:00
thorpej
cca25e85ec Fixed typo (that I probably introduced with the disk changes). From
Thorsten Frueauf <frueauf@ira.uka.de>, PR #1924.
1996-01-14 00:23:56 +00:00
thorpej
5b39541e48 New generic disk framework. Highlights:
- New metrics handling.  Metrics are now kept in the new
	  `struct disk'.  Busy time is now stored as a timeval, and
	  transfer count in bytes.

	- Storage for disklabels is now dynamically allocated, so that
	  the size of the disk structure is not machine-dependent.

	- Several new functions for attaching and detaching disks, and
	  handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.
1996-01-07 22:01:38 +00:00
mycroft
80d7b0695a minphys() functions really should return void. 1995-08-12 20:30:45 +00:00
chopps
3878753b32 fix typo 1995-07-26 14:22:43 +00:00
cgd
4f9fb2ab3e bound xfer properly in minphys, panic if can't. 1995-07-24 07:25:46 +00:00
chopps
07d9670a6c remove indirect use of strategy which brok with recent changes 1995-07-05 02:12:38 +00:00
chopps
1ee73a604e couple small changes from Michael. 1995-04-13 11:59:21 +00:00
mycroft
bdd61fbe66 Fdclose --> fdclose 1995-04-10 09:14:00 +00:00
chopps
e688ef2f10 say something more for unconfigured devices 1995-04-06 19:45:00 +00:00
mycroft
2f8ea29cdb fdclose -> Fdclose 1994-12-13 21:17:23 +00:00
chopps
548708dd80 bring up to current. change sun to sunos. handle changes in device
open params and autoconf match function params.
1994-12-01 17:24:23 +00:00
cgd
ec77f0b327 new RCS ID format. 1994-10-26 02:01:24 +00:00