Commit Graph

253 Commits

Author SHA1 Message Date
mycroft 29053c58b2 SA_ONSTACK --> SS_ONSTACK 1995-09-01 20:05:59 +00:00
jonathan 1e95db0970 Commit a copy of pmax/asic.h from my development source tree, since
the pmax lance driver that uses the machine-independent am7990.c driver
needs some definitions for it.  This is a partial re-merge of NetBSD/alpha's
tc/asic.h back to the pmax, with the addition of symbolic #define's
for registers and bits in registers that are pmax model-specific.
1995-08-29 11:52:00 +00:00
jonathan 9557f68db3 Change pmax (asc and sii) SCSI drivers to use "needs-flag", as the
drivers have  been fixed to not require "needs-count".

Add back the lines for the "rcons" console driver, even though it's
not merged into the pmax port yet, as conf.h was patched to include
"rcons.h".  Adding the device here, but not configuring it (e.g., in
GENERIC) keeps conf.c happy until rcons code is merged.
1995-08-29 10:12:48 +00:00
jonathan 5124d90b3b Work around a NetBSd/pmax kernel bug inherited from 4.4BSD: the DEC
TURBOChannel cfb has a vertical-retrace interupt that cannot be disabled
in software. 4.4BSD and NetBSD don't supply an interrupt hander and
simply neverenable interrupts from slots with a cfb.  This has never
ever worked with a cfb in a 3MIN (Decstation 5000/1xx), where a TURBOChannel
card in slot 0 (or 1 or 2) interrupts at the same IPL as spl0() (or spl1
or spl2), and there's also never been support for selectively enabling or
disabling those interrupts on a 3MIN, in either NetBSD or 4.4BSD.

This  revision add an interrupt handler for the cfb, used only on 3MINs,
so that a 3MIN can boot with a cfb as console, and enable/disable of TC
slot interrupts can be debugged. (Serial consoles via ioasic SCCs still
don't quite work,  and simply clearing the relevant bits in the R3000 cause
register is apparently over-ridden by a subsequent spl0() somewhere else.)
1995-08-29 09:56: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 bb16b9c249 External declarations for Decstation model-specific interrupt handers. 1995-08-28 20:01:34 +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 7560ab9b68 Rework the pmax scc driver, which hadn't changed much from the 4.4bsd
pmax driver, to be diffable with the NetBSD Alpha driver. Specifically,
the pmax driver now uses register names dev/ic/z8530.h. The driver now
uses new-style config and dynamically-allocated softc structures.  The
driver no longer resets the "other" channel on an SCC when changing tty
parameters. The #ifdef'ing away of processing of the output clist for
non-console lines is no longer done.  (Non-console serial ttys might even
work now.) Other discrepancies between the pmax and alpha drivers, which I
don't understand yet, are marked by XXXes.

The 4.4bsd pmax console redirection code is still present, protected
by #ifdef TK_NOTYET. Diffs from the Alpha scc driver are now minimal.

Verified to boot on a Decstation 5k/240.
1995-08-21 21:42:10 +00:00
jonathan 97cf65df4a Change pmax ASC driver to use dynamically-allocated softc structures.
Concomitant changes to code that prints driver/unit name: use dv_xname
and dv_unit, instead of doing pointer arithmetic on elements of the static
softc array.

Remove support for old config.  The old-config "driver" structure
is still present, because the pmax non-MI SCSI driver needs it.

Merge some off Per Fogelstrom's changes for the Pica driver,
which uses the machine-independent SCSI code. This is #ifdef'ed
out until the DMA is fixed to work on Decstations, too.
1995-08-21 21:22:43 +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 8ff2cc97a0 Rename "asic" to "ioasic", to be compatible with "machine-independent"
turbochannel/asic device drivers. (also comment out tt.c.)
1995-08-18 10:09:20 +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
thorpej 66dcd8fd69 Add entries for the ccd. 1995-08-17 17:40:42 +00:00
jonathan 647f483937 Remove turbochannel slot_hand_fill functions and all references
to them.
1995-08-17 09:27:18 +00:00
jonathan 2c6601a704 Remove lint in the intializer of the table used to glue new-config
drivers and the old-config PMAX-specific scsi drivers.
1995-08-17 06:54:56 +00:00
mycroft af645f49fb Make splimp() > spltty(). 1995-08-13 00:29:03 +00:00
mycroft fa13d32c41 Add splsoftnet(). 1995-08-13 00:16:08 +00:00
mycroft 21bd4f21f6 Use splimp(), not splnet(), for now. 1995-08-13 00:07:17 +00:00
jonathan 6a43b6e3a1 Re-port the Alpha versino of NetBSD's machine-independent LANCE driver
back to the DECstation.  Boots on 3MAX and 3MAXPLUS.  The bug-fixes
applied to this driver since it forked off the Decstation code  also
seem to fix long-standing DMA problems with the Decstation SCSI driver.
1995-08-11 02:12:56 +00:00
jonathan 37e46e6b64 clockattach() wasn't printing a newline; add it. 1995-08-10 10:50:58 +00:00
jonathan 69f95bd2bb Use "lance" as the name of the PMAX (kn01) Lance device, not "le", since
"lance" is what the Alpha drivers use.
1995-08-10 10:49:46 +00:00
jonathan 0822ab0fe1 Map from NetBSD/Alpha names for machine-dependent functions (e.g.,
"force this pending write to complete") to the names used in NetBSD/pmax.
1995-08-10 05:29:11 +00:00
jonathan b42e35d645 Un-comment dependency on file cpu.c, since cpu.c has been commited to CVS. 1995-08-10 05:22:26 +00:00
jonathan 0b4c870908 Change DEcstation autoconfiguration to use new-style config.
All devices except SCSI disks and tapes are found using new config only.
SCSI disks and tapes are configured using a table edited from an ioconf.c
produced by config.old.

Boots multi-user on PMAX, 3MAX and 3MAXPLUS.  The old-style "slot hand fill"
functions for those machines, and the old TurboChannel configuration
main loop, have been removed.

Since new-style config runs later in boot than the old pmax turbochannel
probing, we no longer know what devices will be configured when consinit()
is called. Use PROM output until autoconfig is finished.
1995-08-10 05:17:07 +00:00
jonathan bc6e09fad6 Remove extraneous debugging printf()s when running on processors
this code has been tested on.
1995-08-10 04:31:46 +00:00
jonathan a1a7750426 Move IO ASIC interrupt-enable outside #ifdef DEBUG, where it had
accidentally snuck in.  Clean up debugging messages and explicitly
give a warning on  CPUs the code hasn't been tested on.
1995-08-10 04:30:41 +00:00
jonathan e3b5a34826 Update DECstation Lance ethernet driver to use new-style config. 1995-08-10 04:27:43 +00:00
jonathan 88b9b7eb4a Update DECstation drivers to use new-style config, removing
old-style config support, except for SCSI disks and tapes.
1995-08-10 04:21:35 +00:00
jonathan 96f7ad7c6e Add missing "priority" field value in KN02 "asic" configuration entry for
the Dallas-compatible  real-time clock. The missing entry caused the offset
to end up in the "priority" field.  New-style config now boots cleanly on a
KN02 (3MAX).
1995-08-09 01:21:43 +00:00
jonathan 19e02269b2 New-style config (config.new) autoconfiguration code for Decstation
turhsturbochannel machines.  Lifted wholesale from cgd's Alpha
turbochannel code, with changes that reflect the slightly different
bus topology and `slot' numbering on Decstations.
1995-08-07 07:07:43 +00:00
jonathan 28c5634912 Add dk_establish() and bounds_check_with_label(), from the alpha port, for
the machine-independent SCSI driver.  Untested.

Only print diagnostics about reading Ultrix labels when DIAGNOSTIC is defined.
1995-08-04 02:34:24 +00:00
jonathan c4f9523535 Fix cut-and-paste error in device order (clock). 1995-08-04 01:47:37 +00:00
jonathan 4e33c9f0dc Snapshot of a prototuype for a new-config GENERIC configuration.
This relies on an ugly mixture of new-style config and old-style config.
1995-08-04 01:24:39 +00:00
jonathan d55e0dddac Restructure configure(): move turbochannel-device configuration
into a separate function for readability.  Rework interrupt initialization,
so interrupts are never enabled until configuration has found and
attached all devices.  Call spl0() just before probing the scsi bus,
as the DECstation scsi code can't poll, and hangs if interrupts
are disabled.

Add preliminary support for new config, protected by #ifdef NEWCONF/#endif.

Cosmetic changes to swapconf() and setroot() to reduce distance
from Alpha versions of same.
1995-08-04 01:14:17 +00:00
jonathan 43f316f423 Declarations for new-config autoconfigure, based on NetBSD/Alpha. 1995-08-04 00:34:15 +00:00
jonathan 1bacfdc2dd Add preliminary support for new-style configuration: struct cfdriver,
and match and attach code.  Still use the static softc so that drivers
work with kernels configured with either new or old config.
1995-08-04 00:26:35 +00:00
jonathan d7bb0a516f Add header files with prototyped declarations of the serial-chip hooks
used by old-style pmax console configuration.
1995-08-04 00:22:02 +00:00
jonathan f7b8418b54 Add a prototype for (tc_enable_interrupt)(). 1995-08-04 00:16:01 +00:00
jonathan be23617ea0 Commit ghastly change that supports select on framebuffers, since
the pr on that hasn't been closed yet.

Fix broken initialization of swap_dev.
1995-08-02 19:36:45 +00:00
jonathan c715dd10fe Only print diagnostic messages about interrupt enable when DIAGNOSTIC
is defined.
1995-08-02 07:19:37 +00:00
jonathan 4542ca9870 Commit old changes from my source tree in preparation for newconfig:
only print diagnostic messages about interrrupt enabling when DIAGNOSTIC
is defined.
Remove old buggy 4.4BSD turbochannel interrupt kludge for ioasic machines
inside "#if 0"/"#endif" as the NetBSD code has been  working fine for months.
1995-08-02 06:44:54 +00:00
jonathan 9b50b450f7 Add DS_3MAXPLUS (kn03) to switch statements for redirecting input
to and from SCC devices. (The 3MIN was supported but not the 3MAXPLUS).
1995-08-01 23:15:26 +00:00
jonathan 6a99440efd Add prototypes for most functions. Fix typo where statements
intended to increment interrupt counters for vmstat -i (i.e., "ctr++")
on 3100s had just a single "+", and hence had no effect.
1995-08-01 06:58:57 +00:00
jonathan 9aae39ad42 Partial rewrite of rz dump routine. Doesn't yet write to disk but
does everything else. No worse than returning ENXIO, as we used to.
1995-07-24 19:36:52 +00:00
jonathan 4525afdaeb Add diagnostics for 5k/240 turbochannel interrupts, and clean up IOASIC clock
declarations.
1995-07-23 20:21:17 +00:00
jonathan 82d5943755 Add argument prototypes - __P((void)) - to the declarations of Mach_spl*() functions. 1995-07-23 20:11:54 +00:00
jonathan 1354a15fb5 Add support for Decstation 5k/240 (3MAXPLUS) to the switch controlling
redirection of console serial input (keyboard, mouse). Fixes non-redirection of
keyboard to X server on a 5k/240.  The Mfb and sfb drivers are similarly broken.
1995-07-22 05:04:46 +00:00
jonathan 594ee04ec1 Add "cpu DS5000_240" to generic config, to support 3max+.
3max+ interrupt handler and IOASIC clock code depend on it.
1995-07-18 02:02:38 +00:00
jonathan 9c4be79d84 Clean up Ultrix compatiblity code: redo Ultrix label reading code
to have the same interface as native readdisklabel(), call it cleanly
from caller of readdisklabel(), and fix bug that left d_npartitions at 1
for ultrix-compat labels. Ultrix labels now actually work.
1995-07-14 01:05:22 +00:00