Commit Graph

76 Commits

Author SHA1 Message Date
matthias 41cc99aa8c * Rearange duart_info and add hwflags to store uart type (Ian Dall).
* Define SCN_RING_HIWAT and add sc_rbhiwat to scn_softc. When the
  ringbuffer gets full up to this mark, rts gets asserted (Ian Dall).
* Add sc_rx_blocked to scn_softc. This is used to tell scnsoft that
  rxinterrupts are blocked (Ian Dall).
1996-12-23 08:37:11 +00:00
matthias 2c7e970491 * Define the bits in MR0 for the SCC26C92 (Ian Dall).
* Define SCC26C92-only commands (Ian Dall).
1996-12-23 08:37:10 +00:00
matthias b080d4fea0 * Match functions take a "struct cfdata *" as their second argument.
* intr_establish now takes *two* ipls. One at which the handler should run,
  and one in which the interrupt should get blocked.

All the following changes were provided by Ian Dall:
* Remove SCN_HSOFT. Now that the pc532's software interrupt system is running
  from int14, this won't work anymore.
* Add code to detect uart type (SCN2681, SCC2692 or SCC26C92).
* Cleanup my RECOVER mess. Thank's to Ian Dall for reading the datasheet
  and removing all the unnecessary RECOVERs.
* Cleanup scnrxintr.
* Implement scnhiwflow.
* Do not use automatic RTS. This and scnhiflow and some changes to the
  interrupt system suggested by Ian fix the scn overrun problem at 57600
  baud.
1996-12-23 08:37:07 +00:00
matthias 70597563c6 * Match functions take a "struct cfdata *" as their second argument.
* intr_establish now takes *two* ipls. One at which the handler should run,
  and one in which the interrupt should get blocked.
* Make transfersize configurable for input and output. Default the input
  transfersize to 128 bytes. That way interrupts won't be disabled for more
  then about 128us-256us for slow targets. This is necessary to prevent scn
  fifo overruns. Cleanup the pdma code. Thank's to Ian Dall for these
  changes.
1996-12-23 08:37:04 +00:00
matthias c3f3bc0228 * Match functions take a "struct cfdata *" as their second argument.
* intr_establish now takes *two* ipls. One at which the handler should run,
  and one in which the interrupt should get blocked.
1996-12-23 08:37:02 +00:00
matthias a0117d39dd * Prototyping tweaks.
* Real probe code added.
* Duart info is now allocated only for devices that are present.
* Added IO-Recovery delays for 30mhz systems.
* Removed a few potential NULL-pointer references.
1996-11-24 13:32:53 +00:00
matthias ee943634a8 * Prototyping tweaks. 1996-11-24 13:32:48 +00:00
matthias dbaaf5e560 * rd_attach_hook/rd_open_hook. Stolen from sun3/dev/rd_root.c 1996-11-07 07:21:00 +00:00
matthias ddb9815a80 * We are using the mi ramdisk driver now. 1996-11-07 07:20:37 +00:00
matthias 4ae217f7fa * We are using the mi ncr driver now. 1996-11-07 07:20:29 +00:00
matthias df2a490d8f * Not in use for a very long time. 1996-11-07 07:20:28 +00:00
matthias 2336fbd2c6 * Phil Budne's much improved scn driver. 1996-10-23 07:52:35 +00:00
thorpej b12cf5890d RCS id police. 1996-10-15 21:59:03 +00:00
christos e37692f04d backout previous kprintf change 1996-10-13 03:29:05 +00:00
christos 848c9d8f02 printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:39:22 +00:00
matthias f0c2efd752 * Remove ncr_minphys. Simply use minphys.
* Protect interrupt code with splbio.
* Don't use intr_disable/intr_enable in the pdma routines.
1996-10-09 07:29:58 +00:00
matthias f28c7ec9dd * Don't use ansi c prototypes. Use the __P() macro.
* Support for bpf added.
* Don't duplicate code, use ether_ifattach instead.
* Recode plipreceive and pliptransmit in assembler.
This improves performance from 40 kbyte/s to 50 kbyte/s
between a 30mhz pc532 and a 25mhz i386.
1996-10-09 07:29:55 +00:00
mycroft 0a59726320 Fix obvious typo. 1996-09-02 12:42:11 +00:00
mycroft b3eac79b64 tty stop functions really should return void, not int, and certainly not both. 1996-09-02 06:43:16 +00:00
cgd 71ad30d0e9 (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
    single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
    function, and kill any locally-defined print function.
1996-08-28 18:59:15 +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
cgd af576d8a9f no need for a local implementation of SIOCGIFMTU; delete it.
s/ifr_metric/ifr_mtu/ where appropriate (in SIOCSIFMTU code), since
MTU data no longer (loggically) stored in ifr_metric.
1996-06-13 21:51:53 +00:00
phil 8d6d309bf0 Minor fixes from Matthias Pfaller.
ncr.c => add parity disable code.
1996-05-19 05:32:09 +00:00
thorpej ccc18dd2ae Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_start)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 01:12:53 +00:00
christos 933d138841 Change %r -> %: as for recursive printf's 1996-03-30 21:01:21 +00:00
phil 6d61867cc0 Remove old files not needed now that the pc532 uses the MI ncr5380 driver. 1996-03-28 04:49:32 +00:00
thorpej 77abd102b7 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:38:52 +00:00
phil d92d9aa2f7 Move the pc532 ncr5380 driver to the MI one. 1996-03-11 20:50:50 +00:00
mycroft 9d9a70a5a2 Fix #includes. 1996-02-02 18:05:36 +00:00
phil 54df7b2130 Updating DELAY and scncnputc. 1996-02-01 02:37:15 +00:00
phil 2a13a30e5e Update from Matthias Pfaller. (Small tweeks.) 1996-01-26 05:04:12 +00:00
phil 49d37e3c5d Update to current state. No major changes. 1996-01-25 19:50:39 +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
jtc 0cd793449e merge in changes from 1.1 release branch 1995-11-30 00:56:23 +00:00
phil 326e5742ac Disable interrupt to avoid a bug. This makes the "new ncr" driver
stable enough to use in the distribution.  We still need to find out
where the bug is when interrupts are enabled.
1995-10-10 08:08:01 +00:00
phil 03fa08025b Major update: Many changes from Matthias Pfaller.
* conf/DEFAULT: new file, default install kernel
* conf/INSTALL: +MSDOSFS, +NO_INLINE_SPLX, +RD_SIZE=2mb, +scn4/5
* conf/KLONDIKE: cosmetic changes
* conf/STEELHEAD: cosmetic changes
* conf/files.pc532: rd got a file of it's own
* dev/lpt.c: changes to support lower interrupt latency, packet input/output
  is now done at spl0
* dev/ncr.c: changes to support the most recent atari version of the ncr5380
  driver
* dev/ncr5380.c, dev/ncr5380reg.h: upgraded to most recent atari version,
  memcpy -> bcopy.
* dev/rd.c: ramdisk driver
* dev/scn.c: by patching scndefaultrate, the kernel's default baud rate can
  be changed with gdb
* include/psl.h: struct iv now protected by !LOCORE && _KERNEL
  inlining of splx can be prevented with new kernel option NO_INLINE_SPLX
  splx_di is like splx but leaves processor interrupts disabled
* pc532/autoconf.c: cosmetic changes
* pc532/conf.c: with rd entries
* pc532/intr.c: changes to support splx_di
* pc532/locore.s: ramdisk is no longer initialized
  not splx, but rett is now used to reenable CPU interrupts when leaving the
  interrupt service routine. This is necessary to prevent recursive interrupts.
* pc532/sys_machdep.c: memcpy -> bcopy
* pc532/mem.c: moved ramdisk to dev/rd.c
* stand/Makefile: boot is now loaded at 0x3eb800 instead of 0x363800
  Use current form of libsa and libkern.
* stand/inflate.c: emit twiddle every 8k and not every 1k
* stand/rd.c: ramdisk starts at 0x288000
1995-09-26 20:15:57 +00:00
phil f9399fadc7 add option CON_BRK_PANIC to be able to force a panic by 3 consecutive
breaks without any input on the console port.
1995-08-30 23:51:40 +00:00
phil 3564c1fcc2 More changes to ncr driver to try to get it working. (From Matthias Pfaller) 1995-08-29 22:44:27 +00:00
phil 6a179f1f2e VOID minphys. 1995-08-27 04:07:53 +00:00
phil 47ff5d6b3d More changes to the "new" ncr interrupt driven scsi driver (from M. Pfaller)
Bring back the old polled driver until a kernel built with the interrupt
driven one is stable enough for production use.
1995-08-25 07:30:33 +00:00
mycroft 80d7b0695a minphys() functions really should return void. 1995-08-12 20:30:45 +00:00
cgd ffe4785a58 update SCSI minphys routines' definitions to match standard minphys()
definition and usage.
1995-07-24 07:33:32 +00:00
phil ad4af073cd Updates from Matthias Pfaller. (leo@marco.de) 1995-06-26 23:13:54 +00:00
phil 2f62eae02d Checkpointing ... still has a couple of problems but it is better.
(include/{icu.h,psl.h} should be listed as part of this checkpoint.)
1995-06-18 07:18:02 +00:00
phil a8674363a7 Replacement of the NCR driver by the Leo Weppelman NCR driver as
ported by Matthias Pfaller (Thanks to both!) and a RCS id.
1995-06-09 04:36:14 +00:00
phil 29db7c74b1 Changes from Matthias Pfaller: lpt driver changes, clock code similar
to i386, interrupts from static table to dynamic table, other small
fixes (locore.s byte operates -> double operands ...)
1995-05-16 07:30:30 +00:00
phil fae7c89fdd RCS id/header cleanup. 1995-05-08 19:37:45 +00:00
phil 83e651c4c4 scntty & reorg using softc stuff. 1995-04-27 07:18:02 +00:00
phil c42a783b23 Add scncnpollc. 1995-04-21 18:36:32 +00:00
mycroft 7e450d5085 device.h is defunct. 1995-04-10 07:50:42 +00:00