Commit Graph

278 Commits

Author SHA1 Message Date
leo 92a2e67c31 Remove the atari specific incarnation of wdc_isa.c. We don't need it (in
fact it didn't work that well either), all could be done by simply adding the
NOSTREAM options to the flags of the generic ISA frontend.
There was probably to much byteswapping in my brain when I invented this.
2001-06-07 07:23:02 +00:00
leo 49927dd845 Add itepoll() prototype as suggested by 'maximum entropy' (pr#13047). 2001-05-30 14:25:07 +00:00
scw 2963ff5c58 Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +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
leo a1bcd64a89 The register spacing for the Milan is different. 2001-04-24 06:27:58 +00:00
leo d7512523ba Add sanity checking on register B of the mc146818. 2001-04-24 06:26:48 +00:00
leo 3f7694f804 Adapt these for use on the Milan. 2001-04-11 14:45:07 +00:00
leo ad8c9f3a7e Wcd attacment code for the Milan. The Milan has the standard dual IDE port
hardware. A Milan specific attachment is needed to modify the iot so that
the streaming methods do a byteswap.
Configure like:
  wdcisa0 at isa? port 0x1f0 irq 14
  wdcisa1 at isa? port 0x170 irq 15
2001-03-31 20:24:10 +00:00
leo 3d1167e274 Fix fallout from lastest tty changes. 2001-02-01 08:59:45 +00:00
leo dcee338286 Fix y2001 problem in the initial read of the RTC. 2001-01-29 08:32:23 +00:00
thomas 16090efe76 Let lpmatch recognice the printer. 2001-01-16 21:13:09 +00:00
chs aeda8d3b77 Initial integration of the Unified Buffer Cache project. 2000-11-27 08:39:39 +00:00
eeh bc7363329c Adapt to new line discipline scheme. 2000-11-02 00:26:35 +00:00
leo 670b06c6e0 Move config_console() out of the grf-layer. This allows for more than just
grf-type consoles (wscons). Config_console() is now called from consinit(),
just after setting up the kernel msgbuf, so debugging is easy(er).
To further facilitate this move, the pcibus now allows for early-console
attaches by allocating static bus_space_tags (no mallocs possible at this
point).
2000-09-28 07:26:48 +00:00
leo 6c521b3fcc Now that formatting works (Thanks Nathan!), it shows that spec_read() is
issueing a 'DIOCGPART' at every read. Avoid re-reading the label at
every format-verify (or read/write on the block-device) by fetching the label
at open-time and caching it until we close.
2000-08-29 20:00:16 +00:00
nathanw 5127aa189d In fdioctl(), allocate fd_formb dynamically when needed, rather than on
the stack, and remove the no-longer-necessary PHOLD()/PRELE() calls
in fdformat().

(This eliminates 1/3 of the instances of PHOLD()/PRELE() in the kernel code.)

XXX We still have too many mostly-redundant floppy drivers.
2000-08-24 20:04:28 +00:00
tv 0505a9e28a Eliminate the other %:, using vsnprintf followed by printf. 2000-07-28 15:40:24 +00:00
tv ce9fd05593 Avoid a nonstandard %: format: printf("%:", fmt, ap) -> vprintf(fmt, ap) 2000-07-28 14:46:37 +00:00
mrg ca5133d3fb remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 08:22:17 +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
simonb 889c658b5b Change the kernel mmap interface so that the offset to map is an
"off_t" and the return value is a "paddr_t" to allow mappings
at offsets past 2^31 bytes.  Somewhat inspired by FreeBSD, which
only changed the offset to a "vm_offset_t".

Includes updates for the i386, pc532 and sh3 mmmmap from Jason Thorpe.
2000-06-26 04:55:19 +00:00
leo 30bae800ae Mark 'n' explicitely as output of the 'mulul' instruction. 2000-06-07 14:26:11 +00:00
leo 4b3b8618df Fix some bugs in clkread(). These bugs caused strange time leaps. 2000-05-31 12:27:30 +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
leo 793cd652e3 Add some {u}vm includes for the sake of PHOLD(). 2000-05-09 10:29:01 +00:00
leo 9b47c7431d Now what are we doing with the return value of splx()? (probably a pasto) 2000-04-11 07:08:45 +00:00
thorpej 4044b5a41c Use separate callouts for motor-on and motor-off. Fixes a condition
where the floppy driver would wedge because a motor-on timeout would
be cancelled by another I/O operation cancelling a motor-off timeout.

From enami tsugutomo <enami@sm.sony.co.jp>.
2000-04-07 16:58:53 +00:00
leo 27d334cf76 Nuke a bunch of cf_unit abuses. 2000-03-29 14:19:22 +00:00
leo d4ff1a5f4e This file was forgotten in the commit with log message:
Move the ite_default_* variables to ite.c. They are generic ite.
2000-03-27 14:08:39 +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
soren 95054da1a1 Fix doubled 'the's in comments. 2000-03-13 23:52:25 +00:00
leo 8d6a7f1861 Grabage collect a 'struct buf *' left over from recent disksort changes. 2000-02-15 09:00:07 +00:00
leo d10190a70c Move the ite_default_* variables to ite.c. They are generic ite. 2000-02-11 21:42:52 +00:00
leo 39a8093c78 Remove redundant test. 2000-02-11 21:36:38 +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
leo 7396daca2b No longer abuse cf_unit. This broke with the latest autoconf changes. 2000-01-19 13:23:14 +00:00
leo 2f371152d6 Init the preset_row_scan register. This fixes a sometimes partly scrolled-up
console.
2000-01-12 08:53:01 +00:00
leo a93741b5c7 Determine the default floppy type on the TT/Falcon by reading the config
switches. (Thanks to Michael Schwingen for the missing bits of information!).
2000-01-06 12:14:33 +00:00
leo 2b1c23376c Fix y2k buglet in /dev/rtc reported by Julian Coleman. Note that the input
and output format of /dev/rtc is now changed.
2000-01-06 12:03:31 +00:00
leo 8c73075593 Limit the io-region mapped by this driver to the part actually used.
Otherwise, it conflicts with the wd-driver.
1999-10-22 08:50:59 +00:00
leo 2c1b82026b implement DIOCSDINFO. 1999-10-21 15:03:28 +00:00
thorpej e6c88a7686 Update for SCSIPI changes. 1999-09-30 22:59:52 +00:00
leo 54f2532106 Change the way that bit's are cleared in the InterruptPending register of
the 68901. Do this now by _assigning_ ~<bit_to_clear> instead of the
previously used 'andb ~<bit_to_clear>'. The latter caused a rwm-cycle that
caused a race condition to happen when an interrupt arrived between the
Read and Modify-Write.
Anyway, this solved my hanging keyboard problem.
1999-08-06 08:27:30 +00:00
leo 38029cf240 If the floppy has no label, fake one. 1999-05-04 14:29:44 +00:00
pk 8d2456a432 Move advertisement text into a comment of its own. 1999-04-06 19:31:37 +00:00
pk 0e39bfc32c remove duplicate line in copyright. 1999-04-06 19:28:41 +00:00
pk 5a47d424ae Fix garbled word in copyright statement. 1999-04-06 19:27:48 +00:00
leo f621acf82b Nuke the pieces of code obsoleted by .../pci/pci_tseng.c 1999-03-26 19:20:42 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00