Commit Graph

56 Commits

Author SHA1 Message Date
jonathan f5343d2229 Cleanups, and convergence with the Alpha driver:
* kill scc_tty[] and needs-count.
  * Add usable-when-cold version of sccparam().
  * Add pre-autconf() console initialization entrypoint.
  * remove lint for gcc -Wall
  * wbflush() -> tc_mb()
all but the last of which have been fed through cgd and committed to the
Alpha scc driver.
1996-10-16 05:04:51 +00:00
jonathan 4be3cd1350 Remove pmax/tc/if_le.c. Superseded by sys/dev/tc MI TC/ioasic lance drivers. 1996-10-13 13:18:06 +00:00
christos d286889901 backout previous kprintf change 1996-10-13 03:39:27 +00:00
christos 19d8368f2f printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:44:42 +00:00
jonathan 998ce62cdf Update pmax drivers to use "const" on 2nd arg to cfprint_t:
turbocnhannel: include/tc_machdep.h, tc/tc_subr.c, tc/asic.c
    kn01 baseboard: pmax/mainbus.c
1996-10-06 06:29:51 +00:00
jonathan be23611556 Apply diff from the 1.2 release branch, so that ugly IOASIC debugging
is disabled by default:
>revision 1.9.4.2
>date: 1996/09/09 20:19:11;  author: thorpej;  state: Exp;  lines: +2 -18
>Disable IOASIC_DEBUG so that autoconfiguration looks normal, by request
>of Jonathan Stone
1996-09-09 21:32:20 +00:00
mhitch b7ef581afb The MAXINE serial console is on scc0 (the only SCC on the MAXINE) instead
of scc1.  Fix the check of which scc to initialize the console serial line
so that the MAXINE serial console will work.
1996-09-07 01:25:37 +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 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
jonathan 73a5d45710 * Add initialization of colourmap array when using mfb as a console.
* Add interrupt handler for 3MIN, where we cannot disable TC slot interrupts.
* Change mfbinit() signature to match other (pmax) TC framebuffer init
  routines.
* TODO after 1.2: add {cfb,mbf,sfb}var.h. Declare init functions there.
1996-08-27 02:32:48 +00:00
jonathan acebbfc2bd Fix sfbinit() call to pass four arguments, not three, matching the
signature in sfb.c, which was changed to support multiple sfb devices.
1996-08-21 14:02:48 +00:00
jonathan 2311fa5f31 Fix typo, colon instead of semicolon when DS_5000_25 is not defined. 1996-06-17 07:59:39 +00:00
mhitch 56a2e98b80 Do tty_attach() for serial lines. 1996-06-16 16:49:07 +00:00
jonathan d56e7d7f50 Fix for PR #1828 and partial fix for PR #2548:
* Eliminate the #ifdef DS5000 and kernel config option DS5000 altogether.
  option DS5000 was a hangover from 4.4bsd/pmax; it's never been clear
  if it means "support for DS5000/200" or "support for any TC machine".
  This implictly fixes pr 1828.

* Use the  "tc.h" and NTC generated by config for a "tc? at mainbus"
  where appropriate, intsead of #ifdef DS5000.


* Canonicalize the spelling of kernel options that enable support
  for particular models. Use
	DS5000_25	for the Personal Decstation aka MAXINE aka KN02-ca
	DS5000_100	for the 5000/1xx series aka KMIN aka KN02-ba
	DS5000_200	for the 5000/200 aka 3MAX aka KN02
	DS500_240	for the 5000/240 aka 3MAXPLUS aka KN03

and change  DS_5000_xxx to DS5000_xxx everywhere.

* Wrap the  interrupt handlers for each model in the appropriate #ifdef,
  instead of wrapping all of them with "#ifdef DS5000".

* Wrap the TC autoconfig for each model in the appropriate #ifdef.
1996-06-15 19:05:24 +00:00
mhitch fe55416706 Fix autoconfiguration stuff to more closely match the alpha - primarily
the IOASIC attached devices.  The DS3100 will now configure properly.
Fix the DS5000/25 IOASIC table entry for the RTC so the RTC interrupts
get enabled.
Fix up a moved include file.
1996-05-29 06:29:02 +00:00
jonathan 7469cf4c88 Add port number encodings. 1996-05-19 18:24:33 +00:00
thorpej c3c4b6f9f3 Make the MI LANCE driver standalone, and use cfattach to resolve
naming conflicts between bus attachments on ports that can have
multiple instances of the LANCE.

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:23:31 +00:00
christos 78403e6c0c Add a hardware dependent initialization function lehwinit() 1996-04-22 02:25:54 +00:00
cgd d7d306aeb7 change LANCE copy & zero functions' names to start with amd7990_, and
remove their 'integrate' (usually defined to be 'static') keywords.
when lance drivers are split up by attachment, more than one file will
reference the copy/zero functions (i.e. not just the file that pulls in
am7990.c... and eventually inclusion of am7990.c should go away entirely).
1996-04-18 00:25:11 +00:00
jonathan 2d2bc47dae Additional fixes to complete the NetBSD/1.1B config changes:
Add new device-attach struct cfattach le_tc_ca and struct cfdriver le_cd.
Change IOASIC cfdriver references  from "ioasiccd" to "ioasic_cd".
Change  "mainbuscd" to "mainbus_cd"
1996-03-18 01:22:27 +00:00
jonathan f7af868d1f Additional fixes to complete the NetBSD/1.1B config changes:
change IOASIC cfdriver references  from "ioasiccd" to "ioasic_cd"
1996-03-17 22:20:08 +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
jonathan 467a64a327 Replace tc.c and ds-tc-conf.c with a re-written tc_subr.c. tc_subr.c
works with the revamped machine-independent TC code in sys/dev/tc.
A name change is necessary to avoid a name clash with sys/dev/tc/tc.c,
which also creates a tc.o.
1996-02-27 22:35:05 +00:00
jonathan 776c58e187 TurboChannel bus auto-configuration tables, and TurboChannel pre-autoconfig
probe functions for console framebuffers,  rewritten to work  with the
machine-independent TC support in sys/dev/tc.
1996-02-27 22:28:08 +00:00
jonathan b5c68cb4cd Add serial-console support that works with `new-style' (config.new) autconf
code.  Substantially the same code tested on a 5k/240. Should work on a
5k/1xx.  Not tested on a  MAXINE, where the single unit may break the
PROM-channel-number to driver-channel-number mapping.
1996-02-08 02:26:34 +00:00
mycroft 9d9a70a5a2 Fix #includes. 1996-02-02 18:05:36 +00:00
jonathan e229c8d175 Resolve pmax and alpha IOCTL asic driver differences, pass 1:
Rename the ioctl asic register and slot macros from ASIC_<xxx> to
IOASIC_<xxx>, to be compatible with the machine-indpendent names in
sys/dev/tc/ioasicvar.h.  The pmax code still uses
sys/arch/pmax/pmax/asic.h, as some of the registers and offsets
defined there are not yet defined in sys/dev/tc/ioasicvar.h.

Rename the ioctl asic base-address pointer from `asic_base' to `ioasic_base'.
1996-01-31 08:46:42 +00:00
jonathan 5ea2ec2357 Re-write Decstation turbochannel autoconfiguration code to use the machine-
independent TC support in sys/dev/tc/tc.c and sys/dev/tc/tcvar.h:
  * Change the tc autoconfiguration tables to use a struct tc_attach_args
    instead of the ad-hoc structure.
  * Change all pmax device drivers to use a `struct confargs' that's
    assignment-compatible with  sys/dev/tc/tcvar.h `struct tcdev_attach_args'.
    Devices that can be present on a TC or as ioctl asic/mainbus builtins
    use  the same `struct confargs'.
  * Eliminate the `BUS_CVTADDR()' macros which the pmax port inherited from
    an old, now-obsolete sys/arch/alpha snapshot.

  * Update the comments and debugging code in interrupt handlers to
    be consistent with the machine-independent TC support.

Other commits that overlap the same source files include: re-enabling
clock-tick interrupts earlier, and counting hardclock ticks for vmstat -i.
1996-01-29 22:52:15 +00:00
jonathan d51b06e19a Add lots of debugging to the TurboChannel autoconfiguration code. 1996-01-11 05:59:23 +00:00
jonathan 22a5271164 Remove pmax/tc/tc.h; use dev/tc/tcvar.h instead. 1996-01-03 20:47:19 +00:00
jonathan 659c4a2ece arch/pmax/tc -> dev/tc, pass 1:
Eliminate pmax/tc/tc.h. Use dev/tc headers for pmax port. Change pmax TC
autoconfig tables to use structs (mostly) compatible with dev/tc/tcvar.h.
Move TC console search to tc.c.
1996-01-03 20:39:10 +00:00
jonathan a47c251d62 Use machine-independent TurboChannel include files from dev/tc.
Add machine-dependent TC definitions in pmax/include/tc_machdep.h.
1995-12-28 08:42:15 +00:00
jonathan 497e83e28c Add untested, partial support for Decsystem 5100 (mipsfair). 1995-12-28 06:44:57 +00:00
jonathan 7e98ecaca9 *** empty log message *** 1995-12-28 06:41:07 +00:00
jonathan 6bef38210e Re-apply fix from before the NetBSD/1.1 version: actually write the pointer
to the LANCE's dma region into the IO ASIC  after computing it.
1995-12-22 12:52:09 +00:00
jonathan ea863ea59f Remove LENITR_UNIT and supporting code that allowed passing a unit
number, instead of a softc pointer, to leintr().  Pmaxes don't need it anymore.
1995-12-17 04:46:00 +00:00
cgd 0f7f390b49 allow bus-specific lance drivers to use machine-independent buffer/descriptor
copy functions, and convert isa and pmax drivers to do so.
1995-11-25 01:23:51 +00:00
jonathan 0736074d04 Fix bugs in the turbochannel config table for MAXINE (personal decstation). 1995-10-09 01:45:26 +00:00
jonathan 8945da0c58 Add speed entries for 7200 and multiples.
Add as-yet-unused speed entries for a 1x SCC clock, up to 200 Kbits.

Remove old top-bit-means-delay code, since nothing seems to need it,
and it apparently partially broke lk-201 initialization anyway.
1995-09-29 21:55:19 +00:00
jonathan f28ebc66ca Fix SCC bug that broke getty on pmax SCC lines: if RAW and LITOUT were
both off, haracters with their top bit clear were interpreted as a delay.
This (strange) behaviour is still available if  SCC_PARITY_MEANS_DELAY
is defined.
1995-09-25 22:10:56 +00:00
jonathan 06bd2712e9 Update pmax kernel to compile with -Werror:
Update TURBOChannel and ioasic interrupt-establish routines to pass on their
device argument as a "void *", since that's how all the pmax interrupt handlers
are declared.
1995-09-25 20:33:26 +00:00
jonathan 27361456c5 Force a delay after calling SCC_WRITE_DATA() to give the chip
registers time to settle. DELAY(2) is reportedly enough.  Without the
delay, output characters are occasionally doubled.
1995-09-25 04:30:43 +00:00
jonathan 45d06a39e5 Change the signature of interrupt-handlers to take a void *
(a pointer to the softc) and return an int (indicating spurious
interrupts or other conditions.)
1995-09-12 07:28:06 +00:00
jonathan f261206292 Add entry for MAXINE xcfb baseboard framebuffer to the MAXINE
turbochannel configuration table.
1995-09-12 07:27:07 +00:00
jonathan f8fbfa0ce8 Change pmax rcons and low-level serial drivers to support the
old-style pmax polled input for cn_getc(). Needed because the
input side of rcons is not initialized in time for GENERIC kernels
to use it to read a root/swap devicename from /dev/console.
1995-09-11 21:29:23 +00:00
jonathan 2ddcaa8ac9 Fix references to ASIC_SLOT_RTC, which isn't yet defined on DECstations. 1995-08-29 09:43:37 +00:00
jonathan 60e0c381c1 Fix autoconfig table initializers for 3MIN (tested) and MAXINE (untested). 1995-08-24 22:32:18 +00:00
jonathan 8522bd48f3 Move the pmax scc driver from sys/arch/pmax/dev to sys/arch/pmax/tc,
as it's a driver for a device under a TC IOASIC.   The Alpha port also
has its scc driver in tc/scc.c, and the pmax driver scc is nearly the same
as the Alpha.
1995-08-22 04:28:41 +00:00
jonathan d21f86df37 Initialize the ioasic slot probe table for the 3MIN (Decstation 5k/1xx)
and MAXINE (Decstation 5k/xx), instead of setting them to NULL.
New-config kernels should work on those machines now.

Rename the definition of the struct cfdriver for the IO ASIC from "asiccd"
to "ioasiccd", as the config-file name changed from "asic" to "ioasic".
1995-08-18 10:15:09 +00:00
jonathan c591ca4056 Merge back fixes from the merged Decstation/Alpha driver.
Remove all references to #ifdef SPARSE, and use #ifdef alpha instead.
Only initialize ASIC dma on a machine with an ASIC.
1995-08-17 22:28:27 +00:00