Commit Graph

87 Commits

Author SHA1 Message Date
thorpej 90c48d2563 Use CFATTACH_DECL(). 2002-10-01 01:25:25 +00:00
thorpej bf97c13c6c Declare all cfattach structures const. 2002-09-27 20:41:46 +00:00
provos 0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
thorpej 6c88de3b53 Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller.  Use it
rather than invoking cfattach->ca_match directly.
2002-09-27 03:17:40 +00:00
thorpej d1ad2ac4f2 Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver.  The cfdriver is then looked
up in a list which is built at run-time.
2002-09-27 02:24:06 +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 9c4c15c084 Convert to new device buffer queue interface.
Approved by: Nathan J. Williams <nathanw@netbsd.org>
2002-07-23 20:49:54 +00:00
fredette 23aa52421d No longer assume that !DDB implies that Debugger() isn't defined.
Now only define Debugger() if it isn't defined already.
2002-03-26 23:14:49 +00:00
tsutsui bcba62925f Call malloc(9) with M_ZERO flag instead of bzero() after malloc(). 2002-01-14 13:32:44 +00:00
lukem 2565646230 don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
lukem b589588216 add RCSIDs 2001-11-13 06:08:32 +00:00
eeh 766a9b8c9c Change bus_space_mmap() signature to the official one. 2001-09-24 23:49:31 +00:00
pk 828bc6ebb3 Move some logic from dma_start() to dma_setup(); inspired by the sun3 si version. 2001-09-11 07:03:56 +00:00
wiz 1e378c4c12 precede, not preceed. 2001-08-20 12:00:46 +00:00
wiz a9356936b4 seperate -> separate 2001-07-22 13:33:58 +00:00
fredette ebaac3f1e0 Don't define Debugger() if it's already defined.
It is always defined on the sun[23].
2001-06-27 20:17:20 +00:00
fredette 274629aa08 Added support for the VME `sc' SCSI board. Compiles,
but needs testers as the author doesn't actually have
the hardware.
2001-06-11 15:09:54 +00:00
bouyer 937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
jdolecek 745ab257dc Put back all header files defining ioctls 2001-04-11 19:07:36 +00:00
jdolecek 372e5956ef Only install headers which are actually used by our userland. This
saves about 2.2MB under /usr/include/dev/. Discussed on tech-kern@
recently.

I HOPE to get the list right. The headers I left in are ones
used for MI tools and those whose usage I discovered by grep over tree sources.
Feel free to put needed includes back in if you encounter anything which
should not be removed from lists.
2001-04-11 07:42:31 +00:00
tsutsui 43bd337868 Update for recent changes to the MI i82586 driver.
(added 'why' argument to the channel attention hook function)
2001-03-13 16:31:14 +00:00
chs 631f092c9b make this compile again. 2001-03-13 04:20:13 +00:00
thorpej 76eec79181 Don't misuse bus_dmamap_load_raw(). 2001-03-06 22:27:59 +00:00
lukem 3aeb5f2f29 whitespace police 2001-02-24 01:59:46 +00:00
bjh21 fe3273fbb4 Patch from PR kern/8001, submitted by Rafal Boni.
This adds support for EtherExpress/16 cards with 16k of RAM, and in the
process adds general support for PIO mode on these cards.  This entails
changing the way the i82586 driver handles bus barriers, since it doesn't
allow for strange cases like this.

This has been tested on the i386 port with the 'ix' driver in both
16KB (which was the source of the problem) and 32KB modes, as well
as with the 'ef' driver.  I've tested it (briefly) with 'ei' on arm26
as well.  In theory, drivers other than 'ix' should follow precisely the
same code paths as before.
2001-01-22 22:28:43 +00:00
fvdl a8d16ea901 Move decl out of __HAVE_OLD_DISKLABEL 2001-01-15 21:29:30 +00:00
fvdl 4d7a6c1fda Move declaration out of __HAVE_OLD_DISKLABEL ifdef. 2001-01-15 21:27:21 +00:00
fvdl d040bd5908 Return error in the case of using ODIOCGDINFO or ODIOCGDEFLABEL when
the number of partitions is > OLDMAXPARTITIONS. This is better
than silently truncating the label (don't want to silently throw
away partitions when using an old disklabel binary on a label with
> 8 partitions). From Enami Tsugutomo.
2001-01-08 02:03:45 +00:00
fvdl e2d1c1f926 Adapt all disk devices in MI directories to handle ODIOC* calls
for ports that have bumped MAXPARTITIONS (and thus define
__HAVE_OLD_DISKLABEL).
2001-01-07 18:09:01 +00:00
scw 197f977187 Pass the level and vector to vme_intr_map() in the correct order. 2000-07-24 15:00:41 +00:00
pk 19bd1749ad Add short device descriptions in comment lines. 2000-07-22 21:25:52 +00:00
mrg 0de5b6e260 these don't need <uvm/uvm_extern.h> at all, actually. 2000-07-10 13:54:54 +00:00
pk 0d97100854 Use vme_dmamap_create().
Also, this device lives in VME_D16 data space.
2000-07-07 21:12:21 +00:00
pk 67f1f77b78 Use vme_dmamap_create(). 2000-07-07 21:11:08 +00:00
thorpej d0827b0ed7 sparc/dev/sireg.h -> dev/vme/sireg.h 2000-07-04 01:29:14 +00:00
pk 93f987a210 The `si' driver has been transformed into an MI VME frontend. 2000-07-03 23:30:33 +00:00
fvdl dd3e309684 Fix some missed vm/vm.h -> uvm/uvm_extern.h conversions. 2000-06-29 19:27:55 +00:00
mrg 2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
pk c7477bfbe5 Fix spelling and formatting. 2000-06-25 00:23:13 +00:00
chs d4ffcd0cec change ifdef __sun3__ to sun3, since the former isn't defined on sun3.
(not that it matters, since the sun3 currently has its own copy of
these files anyway, but it's nice to be consistent.)
2000-06-05 15:58:43 +00:00
cgd cffb580806 Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
2000-06-04 19:14:14 +00:00
thorpej 21fc65e1a8 sleep() -> tsleep() 2000-05-27 04:52:27 +00:00
thorpej 071aed40ac A foolish consistency; most parts of the kernel use bp->b_data, so
change these from bp->b_un.b_addr to bp->b_data, as well.  This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.
2000-05-19 18:54:22 +00:00
thorpej 463931b3ba Nuke dk_establish() from orbit except from those ports which still use
it to determine the boot device: mvme68k, pc532, macppc, ofppc.  Those
platforms should be changed to use device_register().  In the mean time,
those ports defined __BROKEN_DK_ESTABLISH.
2000-05-16 05:45:44 +00:00
pk 82dbe14248 No need to specify page alignment; this is automatic. 2000-05-10 14:25:43 +00:00
pk 1bf775b965 Conform bus_dmamem_{alloc,map} usage to bus_dma(9) specs. 2000-05-09 22:42:08 +00:00
chs 8ad280f815 sparc -> __sparc__
sun3 -> __sun3__
2000-04-10 02:16:15 +00:00
thorpej fc96443d15 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 07:01:25 +00:00
soren 95054da1a1 Fix doubled 'the's in comments. 2000-03-13 23:52:25 +00:00
drochner 469464d4c8 add forward declaration of "struct extent", so the extent header doesn't
need to be included
2000-02-25 10:33:12 +00:00