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