Commit Graph

74 Commits

Author SHA1 Message Date
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
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 0b0aecffd6 Update for sys/buf.h/disksort_*() changes. 2000-01-21 23:43:10 +00:00
thorpej f7c9b87381 Update for sys/buf.h/disksort_*() changes, plus make it compilable on
more systems.
2000-01-21 23:41:45 +00:00
drochner 36e00c28de fix the previous fix 1999-07-28 10:03:02 +00:00
christos fb4ecab492 make these compile again s/#endif/#else/
again, it is impossible for me to make sure that they work.
1999-07-28 06:35:06 +00:00
drochner 83eb712e3c update for new VME framework 1999-06-30 15:07:45 +00:00
drochner 44418fdf70 new, more mi, VME framework 1999-06-30 15:06:05 +00:00
pk b0de87c45f To clear a chunk of bus memory use bus_space_set_regionN(). 1999-03-23 12:01:45 +00:00
pk df7a15e33c * sparc => __sparc__
* wrap Sun disklabel code in `#if __sparc__ || __sun3__' for now.
1999-03-05 10:38:16 +00:00
mrg 9d4112bf21 make struct xd_iocmd's block member an u_int not a u_long 1998-08-22 15:11:02 +00:00
pk bc7c6c0c4c Fix DVMA address handling. 1998-08-22 11:47:45 +00:00
mrg 165447c4e1 moved <machine/sun_disklabel.h> to <dev/sun/disklabel.h> 1998-06-20 13:12:54 +00:00
pk 5bdabceb87 Send the DMA, not KVA, addresses of I/O descriptors to the controller. 1998-06-18 22:08:43 +00:00