Commit Graph

996 Commits

Author SHA1 Message Date
jonathan 68863ebd8e More mips1/mips3 changes to cpuregs.h and psl.h:
* cpuregs.h:
  Delete unused VMMACH_ names (e.g., duplicates of PTE bits in  pte.h).
  Change remaining VMMACH_xxx  names to MIPS1_xxx or MIPS3_xx.
  Fold remaining compile-time definitions into a single #ifdef MIPS3.

* Use MIPS1_ names  in locore_r2000.S, mips3_ names in locore_r4000.S

* Garbage-collect MachHitFlushDCache()

* psl.h:
  use MIPS1_, MIPS3_  symbolic names for Cause register bits.
  change  _R3K to MIPS1_,  _R4K to MIPS3. Conditionalize for mips1 only,
  mips3 only, or when both are defined,  use runtime CPUISMIPS3 test.
1997-06-21 04:18:09 +00:00
pk 6b976a7d46 rzsize(): call rzopen()/rzclose() if not yet open, per the
current `openmask'.
1997-06-18 22:19:13 +00:00
jonathan a066eecaf8 MachHitFlushDCache() -> mips3_HitFlushDCache() outside pmap.c. 1997-06-18 04:51:15 +00:00
jonathan 3d2676b809 Garbage-collect '#include <machine/pte.h>'. 1997-06-16 23:52:06 +00:00
jonathan fef3e76b31 Changes for configuring both MIPS1 and MIPS3, from a merge of
similar design and code by Jason Thorpe and Jonathan Stone.

NOTE: the kernel-stack-switching code and cacheflush() calls in
locore.S still use #ifdef MIPS3 and need more work.

mips/include/cpu.h:
    Add CPUISMIPS3 for run-time tests of what CPU architecture level
    we're running on.

mips/include/locore.h:
    Add declarations of locore cache-size variables for ref/def toolchain.

mips/include/mips1_pte.h:
    mips1 TLB bit definitions.

mips/include/mips3_pte.h:
    mips3 TLB bit definitions.

mips/include/pte.h:
    define accesor macros for TLB bits (e.g., mips_pg_m_bit(),
    that expand to CPU constants if only one CPU arch is configured,
    or to inline functions if both MIPS1 and MIPS3 are configured.

mips/mips/locore_r2000.S:
    Use MIPS1_PG_xxx constants inside mips1-specific code.

mips/mips/locore_r4000.S:
    Use MIPS3_PG_xxx constants inside mips3-specific code.

mips/mips/locore.S:
    Use MIPS1_PG_xxx constants inside mips3-specific code.
    Use MIPS1_PG_xxx constants inside mips1-specific code.
    (Needs more  work!)

mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c:
    Use MIPS3_PG_xxx constants inside mips3-specific functions,
         and MIPS1_PG_XXX inside mips1-specific code.
    Otherwise, use mips_pg_XXX_bit() macros where they apply,
    and use "if (CPUISMIPS3) { ... } else {... }" where they don't.

mips/mips/mips_machdep.c:
    Import Michael Hitch's fixes from the pmax locore-init code
    into mips_vector_init().

pmax/pmax/machdep.c:
    Use generic mips_vector_init() locore vector-init function.
1997-06-16 23:41:40 +00:00
jonathan 2eec9b0bc3 Back out previous change:
Add placeholder for Ted Lemon's years-old-but-new cursor-movment range checks.
1997-06-16 09:53:14 +00:00
jonathan eb1d8427cc Garbage-collect redundant declarations:
mips/include/locore.h:
  Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here.
mips/include/cpu.h:
  remove  cpu_prid definition.
pmax/pmax/machdep.c:
   remove local protoypes of HitFlushDCache() functions.
mips/mips/vm_machdep.c, mips/mips/vm_machdep.c::
   remove local protoypes of HitFlushDCache() functions.
1997-06-16 09:50:26 +00:00
jonathan b0e19a6a74 Set model string for 5000/150 (kmin with r4000 daughterboard). 1997-06-16 09:19:25 +00:00
jonathan 2d10220f8f Yet more mips1/mips3 merging:
Move mips-specific pmap definitions (PMAP_PREFER for mips3, declaratin
of pmap_bootstrap() for the system-specific machdep.c) from
arch/pmax/include/pmap.h to arch/mips/include/pmap.h.
1997-06-16 07:47:42 +00:00
jonathan 5db35a8cce Yet more merging:
* Move declaration of locore communcation variables (CPU family,
     cache sizes, etc) to mips/include/locore.h.  Delete from
     pmax/include/cpu.h and older versions from pica/include/cpu.h.

   * Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu.
   * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
1997-06-16 06:17:25 +00:00
jonathan 3409ae8dcd Garbage-collect <machine/locore.h> 1997-06-16 04:30:15 +00:00
jonathan 157d46c672 Commit addition of `#include <mips/locore.h>' to pmax/include.bus.h. 1997-06-16 04:22:15 +00:00
jonathan c34f92cbd1 <machine/locore.h> -> <machine/bus.h> 1997-06-16 04:18:57 +00:00
jonathan 2557a6fa43 GC more old header files:
<machine/locore.h> -> <mips/locore.h>
    <machine/mips_opcode.h> -> <mips/mips_opcode..h>
1997-06-16 03:29:07 +00:00
jonathan f4dc901780 Use #include <machine/bus.h> in pmax device drivers.
Garbage-collect `#include <pmax/locore.h>' lines.
1997-06-16 02:53:23 +00:00
jonathan 817af928bf Add placeholder for Ted Lemon's years-old-but-new cursor-movment range checks. 1997-06-16 02:18:47 +00:00
jonathan cd48c79960 Remove the machConst.h (wrapper for Sprite-derived source), and all
#includes <machine/machConst.h> uses.
Other header files now include <mips/cpuregs.h> where necessary.
1997-06-16 01:45:05 +00:00
jonathan c6b9463cd1 Remove all references to <machine/machAsmDefs.h>.
Use #include <mips/asm.h> instead.
1997-06-16 01:23:56 +00:00
jonathan f8b757f8f4 Remove. Already copied to arch/mips/mips/fp.S. 1997-06-16 01:14:50 +00:00
jonathan 15628b2d97 Move merged pmax psl.h with mips1/mips3 support to mips/include/psl.h.
Change pmax/include/psl.h to just do #include <mips/psl.h>.

pmax/include/psl.h would go away completely if it wasn't stil required
by compat/common/kern_exit_43.c.
1997-06-16 01:10:03 +00:00
jonathan 8e5f767c50 Use generic MIPS pmap vm_machdep.c 1997-06-16 00:35:10 +00:00
jonathan 5d94de1a79 Moved to arch/mips/mips/ with CVS revsion history. 1997-06-16 00:17:27 +00:00
jonathan 747e2b5e7e Generic mips pmap/vm code: move the merged pmax mips1/mips3 vm_machdep
and pmap code to arch/mips/mips.
Use <mips/XXX.h> header files, not <machine/XXX.h>.
1997-06-16 00:16:08 +00:00
jonathan 8a00c90491 Remove old 4.4bsd/pmax rules and targets. 1997-06-15 22:53:49 +00:00
mhitch ab0eff4a87 From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through
proc_trampoline().
More merged MIPS1/MIPS3 support.
1997-06-15 18:21:17 +00:00
mhitch f42f8eb4e6 More merged MIPS1/MIPS3 support - from pica pmap.c 1997-06-15 18:19:47 +00:00
mhitch bbd8bca4a4 More merged MIPS1/MIPS3 support for DECstations.
From Toru Nishimura: separate out FP registers in user pcb.
1997-06-15 18:18:57 +00:00
mhitch 4eb69e0839 DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from
machine/locore.h.
1997-06-15 18:03:24 +00:00
mhitch 76f5c2a6c6 More merged MIPS1/MIPS3 support for DECstations. 1997-06-15 18:02:20 +00:00
mhitch 74245805bb DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from
machine/locore.h.
1997-06-15 17:58:56 +00:00
mhitch 4ccdbb1c9e Don't return error status on recoverable errors 1997-06-15 17:17:07 +00:00
mhitch 0a9912635f From Toru Nishimura: don't assemble pmax buffer copy routine if not
configured for DS2100/DS3100.
1997-06-15 16:57:57 +00:00
mhitch 8059cbb275 Use TC_SPEED* for turbochannel speed values (keeps me from being confused
more than I am).
1997-06-15 16:53:40 +00:00
mhitch 56b72a34f3 Since locore_r2000.S and locore_r4000.S are included by locore.S, they need
to be included in the dependency list for locore.o.
1997-06-15 16:27:47 +00:00
mhitch d2ce63e3bc DECstation MIPS3 support: a GENERIC config file for the R4000/R4400-based
DECstations.
1997-06-15 16:21:19 +00:00
mhitch 074ad77297 Correct an #endif comment to match the #if comment. 1997-06-15 16:18:29 +00:00
jonathan 62e846995f findroot() fix for kernels configured "root on ? type ?" (i.e., disk)
that are booted via MOP or tftp:: if we don't find a block device name
that matches bootdev, give up and let setroot() force RB_ASKNAME.
1997-06-15 11:23:52 +00:00
jonathan 957e3b4622 Turn on -Wall -Weror and -Wstrict-prototypes -Wmissing-prototypes.
Turn off warnings for uninitialized variables to avoid spurious warnings.
1997-06-15 01:20:59 +00:00
mrg 1258c8d25b remove now obsolete "swap on..." lines. 1997-06-12 18:41:58 +00:00
mrg 552af779d2 bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:46:19 +00:00
jonathan 19e4111ef7 Move the mips sys_machdep.c from pmax/pmax to mips/mips, to enforce a
common sysarch on all mips ports.
1997-06-09 02:14:56 +00:00
veego a204fb7981 Initialize machine from MACHINE. 1997-06-08 23:54:19 +00:00
jonathan ccc08d5a61 Move MACHINE_ARCH and _MACHINE_ARCH from pmax/include/param.h to
mips/include/mips_param.h.  (They should be common to all mips ports.)
1997-06-08 10:46:01 +00:00
jonathan 0a875d4298 A pre-busdma pmax <bus.h> skeleton. 1997-06-08 05:10:25 +00:00
jonathan 3844d313b1 Add CD9660 and PROCFS filesystems. Sort filesystem options.
Add tun, and reorder pseudo-devices to match other systems' GENERIC config.
1997-06-01 08:44:57 +00:00
mhitch ad9b4015c2 Comment out the dc0 at mainbus0: that attempts to include the DS3100 dc
device attachment.  The 3max dc0 device attaches to the pretended IOASIC.
1997-05-31 20:45:07 +00:00
mhitch 122ef4a659 -Wall cleanup when compiling without all DECstation models defined. 1997-05-31 20:33:30 +00:00
jonathan 3906c8cde5 Fix possible uninitialized variable bug which trips -Wall. When
recovering from a possible race condition in sii_intr, read the active
target from the destat register, and set the softc state pointer
`state' appropriately.  (This warning is in a block that prints a
warning message, and the warning message has _never_ been seen. The
bug is probably innocuous.)

Also addresses the `more thought needed' in the log message for rev. 1.12.
1997-05-29 19:26:06 +00:00
mhitch fe468f64bc Include pm_ds.c if pm_ds, not dc_ds - dc_ds gets set for the 5000/200 as
well as the 3100, but trying to include pm_ds.c for a 5000/200-only
configuration fails.
1997-05-29 03:08:40 +00:00
mhitch 660cdaec8a Use the generic root/swap in the model-specific configuration files. 1997-05-29 02:22:27 +00:00
jonathan ceff1980b7 lint: Add prototypes for the redirection hoks used for rcons/4.3bsd
qvss-style in-kernel X inputevent processing.
This whole interface should be replaced with wscons.
1997-05-28 14:21:39 +00:00
jonathan ed8e9558ab Lint: printf formats inside #ifdef DEBUG (long vs int, %x vs pointer).
Add XXX to inconsistency: sometimes pmap.c calls blkclr(), sometimes it uses
an inline C loop tuned for 4-entry writebuffer.  Why?
1997-05-26 23:02:11 +00:00
jonathan 03bb8c9b9e lint: #ifdef DEBUG code: use %p for pointers, %ld for vm_offset_t's. 1997-05-26 06:21:20 +00:00
jonathan 0978222b09 lint:#ifdef DEBUG code. Add parens where requested, Prototype stacktrace(). 1997-05-26 02:25:58 +00:00
jonathan d21acac556 Create standard Makefile for arch/pmax/stand.
Copy old Makefile with bootblock rules to Makefile.booters.
1997-05-25 22:03:23 +00:00
jonathan 40b20f7799 Move dec_label into a subdir. 1997-05-25 21:39:08 +00:00
jonathan e319f99e4b lint: include header files with declarations of input-redirect hooks.
Add prototypes and explicit casts where the hooks are polymorphic.
This whole interface should be replaced with wscons.
1997-05-25 10:53:33 +00:00
jonathan 4cf3fe8b78 lint: add prototype for pmax serial-console inithook. 1997-05-25 10:28:22 +00:00
jonathan 2548f9ceee lint: add prototype for kvtophys(). 1997-05-25 10:16:17 +00:00
jonathan 59c42b27b1 Lint: use new headers with prototypes. Add local prototypes for
locore spl functions; they should only be lint used directly here.
Delete  unused variables, etc.
1997-05-25 10:07:38 +00:00
jonathan 5520aec6bb Oops, #include <machine/autoconf.h> after previous change. 1997-05-25 08:17:00 +00:00
jonathan 88787ea86a Lint: machdep.c calls configure() and makebootdev().
Move their declaratinos to pmax/autoconf.h.
1997-05-25 06:10:46 +00:00
jonathan 19743d60e1 Lint: add prototype for badaddr() (the expansion of tc_badaddr). 1997-05-25 05:58:36 +00:00
jonathan c17d51a55d Add (bogus) prototype for tcinfo() PROM callback until we know what it is. 1997-05-25 05:44:13 +00:00
jonathan a2051af8b9 RCSid police. Delete obsolete function-scope extern declarations. 1997-05-25 05:26:00 +00:00
jonathan cedd6dbe25 Lint: move forward declarations to beginning of file and protoize.
delete unused variables and add redundant parens where suggested.
1997-05-25 05:19:51 +00:00
jonathan a0600d7d94 Prototype for pmap_bootstrap(). 1997-05-25 05:04:03 +00:00
jonathan 03953c0e63 Apply NetBSD-1.2 name changes to pmax board-specific trap handler declarations. 1997-05-25 05:01:51 +00:00
jonathan 352da01442 Remove #ifdef NDTOP/#endif wrapper, not needed with new config.
Annotate strange #includes (dcreg.h?).
1997-05-25 04:58:36 +00:00
jonathan 42ad3d85be Move prototypes for X11-upcall hooks to dtopvar.h, for the benefit of
the Ultrix framebuffer-API compatibility code.
1997-05-25 04:49:59 +00:00
jonathan ce0a173bf6 Add prototypes for device-specific handlers and input-event (X11) upcalls. 1997-05-25 02:37:55 +00:00
jonathan a9700d60e4 lint: add missing %d (unit number of unconfigurable device) to panic msg. 1997-05-24 09:37:45 +00:00
jonathan 52afc81f2a lint: delete unused variable 'dv'. 1997-05-24 09:32:34 +00:00
jonathan c0c7efb178 Delint debugging-printf() macro. 1997-05-24 09:30:27 +00:00
jonathan 588324e3fb Lint: include prototypes for TurboChannel framebuffer console-init functions.
include prototype for printf() and panic() and delint calls.
1997-05-24 09:17:24 +00:00
jonathan d617788337 Fix typos in prototypes of console-init entrypoints. 1997-05-24 09:15:46 +00:00
jonathan 8f17cfaec1 Add 'needs-flag' to pmax, 3max dc (DZ-11 clone) front-ends (dc_ds, dc_ioasic
respectively), so console setup code can test forconfiguration of the
correct front-end (via NDC_DC and NDC_IOASIC, respectively).

Delete 'needs-flags' from dc.c.  GC obsolete uses of NDC, "dc.h".
1997-05-24 08:19:44 +00:00
jonathan 20e5e29aef Use a ldscript to work around `features' (not enough section headers)
when linking kernels with GNU binutils-2.7 or newer ld.
1997-05-24 05:56:06 +00:00
jonathan 02b403c0bf #ifdef notyet out the as-yet-Undefined bold mode, instead of commenting it out. 1997-05-24 05:49:22 +00:00
jonathan 5cf71bf343 Add declarations and cdevsw/bdevsw entries for cd, ccd, ss, uk, tun. 1997-05-24 05:28:17 +00:00
mhitch 0db8e55935 DMA state was not getting saved if dmaCurPhase was data-out. If the
message-in was a save data pointer, the driver would loop in the
interrupt routine.
1997-05-22 03:26:16 +00:00
jonathan d212e8744e Include "rasterconsole.h" to get definition of NRASTERCONSOLE (rcons flag).
Don't try rcons on 3100s with keyboards if rcons isn't configured,
1997-05-21 19:41:08 +00:00
jonathan b088f1b7fd Change default le entry from "le*" to "le0" so GENERIC kernels
configure the pmin/pmax (2100/3100) baseboard ethernet as le0, not le1.
1997-05-20 08:36:42 +00:00
jonathan 1175a38b7f Use cpu_splXXX() functions to enforce the required ordering of spl()s. 1997-05-19 23:34:40 +00:00
mhitch 8e9925b45b Eliminate vm_pmap. 1997-05-18 17:26:30 +00:00
mellon dcf4d707a4 Only compile in rcons tests if rcons pseudo-device was declared 1997-05-15 16:43:36 +00:00
mellon d3c5a81e19 Don't do rcons-specific things if no rcons pseudo-device was declared. Clean up probe-time printfs. 1997-05-15 07:24:37 +00:00
jonathan d592c85696 The pmax interrupt handlers were re-enabling clock interrupts ASAP after
hardclock() is called. Now, only do so if clock intrs were enabled beforehand.
1997-05-15 05:03:42 +00:00
jonathan 13f3645083 Merge in changes from Alpha scc driver with RCS log message:
>  revision 1.33
>  date: 1997/05/15 02:15:55;  author: thorpej;  state: Exp;  lines: +8 -4
>  - In sccmatch(), check any user-specified offset, allowing scc unit numbers
>  to be nailed down.  From Ken Hornstein <kenh@cmf.nrl.navy.mil>, PR #3626,
>  slightly modified to allow wildcarded offsets.
>  - Blow away the cf->cf_unit check in sccmatch(); it's bogus.

Also gc usused references to  NSCC and #include "scc.h"
1997-05-15 04:49:32 +00:00
jonathan a72c2263f5 Change `needs-count' on scc to `needs-flag': should have been `needs-flag'
since rev 1.18  of pmax/tc/scc.c.
1997-05-15 04:42:12 +00:00
jonathan 3480029167 Add `offset' locator to ioasic-attached devices, for compatibility with
the ioasic_submatch() used in drivers shared by pmax and alpha ports.
1997-05-15 00:43:22 +00:00
mycroft 84bca5d679 Don't use _SUBDIRUSE outside of bsd.subdir.mk. 1997-05-07 17:28:47 +00:00
jonathan d6611ebcef * Add fixes for possibly-uninitialized variables from rev 1.11.
(The operator-precdence changes in 1.11 were pulled up in rev 1.14).

* If the chip asserts a SCSI-bus error (SII_BER) in sii_intr,
  reset the SII_BER bit instead   of ignoring it.
  XXX SII_BER May need checking and resetting elsewhere.
1997-04-29 01:58:38 +00:00
jonathan 26adc250c2 Stop ignoring DCD transitions on ioasic SCC serial lines.
From entropy@zippy.bernstein.com>.
1997-04-26 02:26:54 +00:00
jonathan 45d369d5fb Ted Lemon's (RR 3540) cross-compilation patch: use ${SIZE} instead of size,
Also add "SIZE=? size",  so that native kernel compiles work, too.
1997-04-26 02:20:59 +00:00
jonathan 55a34d0cf4 Add "options MIPS1" and delete commented-out lines inherited from GENERIC. 1997-04-26 01:35:41 +00:00
jonathan 902f17af37 Correct sense of fi->fi_blanked in bt455_video_off(). 1997-04-19 08:25:31 +00:00
jonathan 22d3d9819d Correct sense of FBIO[GS]VIDEO ioctl as noted in PR #3515. 1997-04-19 08:21:59 +00:00
jonathan 4ecce8621c * 2048 bytes between vertically-adjacent pixels on 1280x1024 mfb.
Fixes broken blitting from rcons.
* Put back old 4.4bsd range test on cursor movement.  1.2 code is broken.
* Disable screensaver, it reportedly never comes back on properly.
1997-04-10 08:37:54 +00:00
thorpej cb24b0200a Don't allocate mclrefcnt[]; it's dead and gone. 1997-03-27 21:01:20 +00:00
gwr 37b247edde Renames: /dumpconf/cpu_dumpconf/, /boot/cpu_reboot/ 1997-03-26 22:42:13 +00:00
gwr 71e43d14ab Move findroot/setroot stuff from configure() to cpu_rootconf(). 1997-03-26 22:38:40 +00:00
jonathan 3f9bb9b9e8 Add <if_media.h>, am7990var.h requires it. 1997-03-25 19:06:02 +00:00
jonathan ab9bbd64d6 Use genassym.sh script to make assym.h, for cross-compiling.
Remove dependencies on genassym.
1997-03-16 11:54:03 +00:00
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
jonathan 61d121e3d7 Undefine the macros defined by dec_prom.h, in the compiled-in
libsa functions that define  function entrypoints for them.
1997-03-05 05:20:40 +00:00
jonathan d01b866f0c Build kernel object files with -mno-abicalls and -mno-half-pic. (The
kernel doesn't support GP-relative addressing, and is statically linked).

Compile genassym without those flags: -mno-abicalls will make it coredump.
1997-03-05 04:41:57 +00:00
jonathan b57cf6e1ce Remove obsolete comment. (This config *does* work). 1997-02-28 09:51:21 +00:00
jonathan 7cebde0e19 Protect MCLSHIFT definition so users can customize MCLBYTES.
Also define MCLBYTES from MCLSHIFT.
1997-02-26 01:45:41 +00:00
mhitch f470b2c5b5 Fix makebootdev() bug when boot device isn't in pmax_nam2blk. When booting
from the network, makebootdev() would attempt to use a NULL pointer and
silently hang.
1997-02-05 17:53:52 +00:00
thorpej 9fc5d41bb3 Garbage-collect an ... insane use of "GENERIC" (used to generate a
different "default in-core disklabel" with a larger b partition in
the event no disklabel was present on the disk).
1997-02-04 05:24:55 +00:00
perry 19d153fc48 Nuke some options GENERIC residue. 1997-02-04 04:57:10 +00:00
thorpej 1cec4494cb Don't default to RB_ASKNAME _ever_. (Besides, GENERIC is long gone.) 1997-02-04 04:46:42 +00:00
perry 0b3a46d6b3 Nuke some GENERIC residue. 1997-02-04 04:31:55 +00:00
thorpej 4d7a6cf6dd Update clean and depend rule for kernel make changes. 1997-02-03 07:23:32 +00:00
thorpej 739f23a219 This file is obsolete; this information is now generated by config(8). 1997-01-31 05:12:49 +00:00
thorpej 65e736fcae Use new machine-independent setroot(). 1997-01-31 02:02:56 +00:00
thorpej 08dafb1339 Add a sick little hack to glue old-config-pmax-scsi-stuff into the
alldevs list.  This is required for the new machine-independent setroot().
1997-01-31 02:00:56 +00:00
thorpej 1b341f7e70 Update for new file system and root spec grammar. 1997-01-31 01:59:09 +00:00
mhitch 808f2c3ec1 The mfb driver uses struct fbinfo for the device data, but was only allocating
memory for struct device.
1997-01-23 01:54:09 +00:00
mhitch 4fe9d4efee The sfb driver uses the device data, so more than a "struct device" is
needed.  When sfbattach() initializes the fbinfo data, it was corrupting
data past the struct device data actually allocated.  This does not appear
to have caused a problem in the past, but causes a problem with the new
setroot() changes by Jason.
1997-01-22 17:27:54 +00:00
perry b89a3425b7 Eliminate obsolete TIMEZONE and DST options.
Eliminate obsolete global kernel variable "struct timezone tz"
Add RTC_OFFSET option
Add global kernel variable rtc_offset, which is initialized by
RTC_OFFSET at kernel compile time.
on i386, x68k, mac68k, pc532 and arm32, RTC_OFFSET indicates how many
minutes west (east) of GMT the hardware RTC runs. Defaults to 0.
Places where tz variable was used to indicate this in the past have
been replaced with rtc_offset.
Add sysctl interface to rtc_offset.
Kill obsolete DST_* macros in sys/time.h
gettimeofday now always returns zeroed timezone if zone is requested.
settimeofday now ignores and logs attempts to set non-existant kernel
timezone.
1997-01-15 01:28:28 +00:00
jonathan 11a7f97c20 Use <> not "" #include path for pmax/stand/dec_boot.h. 1997-01-15 00:52:17 +00:00
jonathan 1607618d93 pmaxpagesperpage -> mipspagesperpage 1997-01-14 22:29:54 +00:00
jonathan c66d855eb2 Configure pmax elf_machdep.h as little-endian elf. 1996-12-17 03:45:05 +00:00
cgd 96acdadef7 First step inn removing config_scan() and the hacks that gave devices
on indirect-config busses a (permanent) softc that they could share
between 'match' and 'attach' routines:

Define __BROKEN_INDIRECT_CONFIG so that old autoconfiguration
interfaces are used, until drivers are converted to use the new
interfaces (actually, converted back to use the _older_ interfaces)
which prohibit indirect configuration devices from receiving a softc
in their match routine that they can share with their attach routine.
1996-12-05 00:13:47 +00:00
cgd 38cbb3213c Fix up includes so that up-to-date versions of 'config' can be used
to config pmax kernels.  Not all kernels can actually be config'd because
of device declaration problems, but i don't know how to fix those.
1996-12-03 01:18:17 +00:00
jonathan e038926656 Replace explicit -O2 in CFLAGS with COPTS macro. Default COPTS?= -O2.
Lets users over-ride with makeoptions COPTS="..." in kernel config files.
1996-12-01 03:23:04 +00:00
jonathan 80702e3c14 Add KERNLD hook to allow overriding the LD used to link kernels.
Set KERNLD to ld.old.  gcc binutils 2.7 gets an assert error linking kernels.
1996-11-22 18:53:31 +00:00
jonathan 21ec686bd1 Move non-optional "options" SWAPPAGER, VNODEPAGER, DEVPAGER to std.pmax 1996-11-16 23:10:47 +00:00
mhitch dd4aa9cef1 Fix typo: #endeif 1996-10-23 20:04:40 +00:00
mhitch 0023076caa Need to initialize fi_glasstty before using it. 1996-10-23 02:34:23 +00:00
mhitch 32fccda062 The active target needs to be initialized in siiattach() instead of
old_siiattach().
1996-10-22 23:15:10 +00:00
mhitch 39079306ce Add the missing ".set noreorder". 1996-10-22 20:46:09 +00:00
thorpej 150c33e60b Use ${INSTALL}. 1996-10-18 05:55:26 +00:00
jonathan 5c6013d588 Clone a 5000/{120,125,133} config file from the 5000/240 config. 1996-10-16 08:35:49 +00:00
jonathan 3280c75a3d Update model-specific pmax kernel config files for post-12 config:
add arch/pmax/conf/ to includes,  options MIPS1,   etc.
1996-10-16 08:29:34 +00:00
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 428a2b873f Fix polled I/O getc/putc functions for non-serial consoles when
still cold (e.g., to initialize keyboards and mice).
Why these use polled, rather than interrupt-driven, IO is a mystery.
1996-10-16 02:10:33 +00:00
jonathan 19c816fd6b Delete #ifdef'ed-out TC support (for 5000/200). 1996-10-14 17:28:46 +00:00
jonathan f2c95d6cce Use kernel driver for serial console. PROM console output no longer used at all. 1996-10-14 17:15:42 +00:00
jonathan 9d781ce37f Back out second inclusion of <sys/poll.h> from duplicated poll(2) changes. 1996-10-14 04:55:26 +00:00
jonathan 02fb4a1255 Back out previous revision's change to use mips family-independent locore
initialization.
Locore doesn't (yet) set up cpu_id early enough for mach_init() to use it.
1996-10-14 04:31:57 +00:00
mhitch be3a168305 Removed stray ";" so conditional return is really conditional. Fixes
autoconfig display for xcfb.
1996-10-14 01:39:57 +00:00
jonathan 27ec6276b8 Rename mips CPU-family locore prefixes for case-consistency:
mips_r2000_, mips_R2000_ -> mips1_
    mips_r4000_, mips_R4000_ -> mips3_
(which are also, for mnemonic reasons,  consistent with gcc flag usage,
 rather than using mipsI_ and mipsIII_).
1996-10-13 21:37:35 +00:00
christos ad67e04154 backout previous kprintf change 1996-10-13 16:50:51 +00:00
jonathan 8b2066b7ad Remove sys/arch/pmax/pmax/{locore.S,trap.c}.
Use versions from sys/arch/mips/mips instead.
1996-10-13 13:24:48 +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
jonathan 23ad284399 Remove obsolete `#include <machine/MachConst.h>'.
Where CACHED_TO_HYS() is still needed for kernel-virtual-to-physical
or physical-to-uncached mapping (fb drivers), replace with
`#include <mips/cpuregs.h>'.
1996-10-13 13:13:50 +00:00
jonathan 0c048bf278 poll(2) changes for rcons, pmax framebuffer hardware-independent layer. 1996-10-13 12:47:55 +00:00
jonathan 1f97bf2ceb Update SCCS id to 4.4-lite2. We already had lite2 tz.c changes from
Raph Cambpell.
1996-10-13 12:34:20 +00:00
jonathan e1a0a7fc77 Split dcparam() into two parts:
* dcparam() with normal tty t_param interface, which calls
    * cold_dcparam() called with explicit dc7085 register address
      and flags, which does the work and is also callable when cold,
      to set up console (or kgdb) line parameters.
1996-10-13 12:25:50 +00:00
jonathan 6ac1fdec40 Merge mips1 and mips3 pte/pmap code, pass 0;
* Move mips-I pte (TLBlo) definitions from pmax/include/pte.h
      to mips/include/mips1_pte.h

    * Move mips-III pte (TLBlo) definitions from  pica/include/pte.h
      to mips/include/mips3_pte.h

    * Add new mips/include/pte.h, which includes exactly one of
      mips1_pte.h or mips3_pte.h (which still have namespace collisions),
      depending on "options MIPS1" or "options MIPS3". (hack).
      Move soft kvtopte(), ptetovk() definitions to mips/include/pte.h

    * Add macro PTE_TO_PADDR() to hide the different hardware TLB formats
      when mapping from pte to physical address.

   * Add macro PTE_READONLY() to hide lack of SW read-only bit in mips-III
     tlb. (mips1 pmap uses a sw bit in the PTE, mips3 looks up RO bit in
     the kernel pmap.)

   * Use macros (not direct TLB frobbing) in mips/trap.c, to make it
     mips-1/mips-III indepenndet.

    * Change {pmax,pica}/include/pte.h to just do #include <mips/pte.h>.
1996-10-13 09:28:53 +00:00
jonathan 0705c8f480 Kernel configuration file to build kernels for installing on diskful
machines, using diskless-boot (NFS root) as the installation method.

Many options turned off to keep kernel small and avoid boot-PROM errors.
1996-10-13 05:57:19 +00:00
jonathan 5a80d438e9 Update pmax config files ``GENERIC'' and ``DSG'' with post-1.2
NetBSD-current changes:
    * change include paths to be relative to the kernel-source tree
      (e.g., `/sys') instead of arch/pmax/conf.
    * add explicit options for exec packages (EXEC_ELF32, EXEC_ECOFF
      for COMPAT_ULTRIX)
   * comment out references to still-unsuppoted MI scsi.
1996-10-13 05:40:44 +00:00
jonathan bb34d39024 Change pmax port over to using ``mips MI'' trap handler. 1996-10-13 05:28:48 +00:00
jonathan 50201a6c48 Comment out config lines for MI scsi drivers, to make it absolutely clear
we don't yet support them.
1996-10-13 05:21:17 +00:00
jonathan 87414435ba Add initializers for System V ipc, semaphores, and shared-memory,
for options SYSVMSG, SYSVSEM, and SYSVSHM, respectively.
Fixes pr #2823.
1996-10-13 04:32:26 +00:00
jonathan 8ab94387e9 Change boot() to honour "always halt" flags in boothowto,
other boot() changes modelled on arch/alpha/alpha/machdep.c.
1996-10-13 04:26:49 +00:00
jonathan 9bcd95a0ae Header file with dc7085 (dz-11 clone) declarations used by pmax console and
framebuffer code.
1996-10-13 03:42:17 +00:00
christos d286889901 backout previous kprintf change 1996-10-13 03:39:27 +00:00
jonathan 986daa1436 Split sii driver into bus-dependent front-end and chip-specific back-end:
sii_ds.c -- front-end for Decstation 2100, 3100, 5100(?)
    sii.c --  driver for DEC scsi asic used in decstations and vax 3400s
    siivar.h -- shared softc
1996-10-13 03:02:39 +00:00
jonathan 99a94f057e Put back the ttstop-returns-void changes accidentally clobbered by
merging the 1.2 and -current branch serial-console fixes.
1996-10-12 23:41:35 +00:00
jonathan 0c820bd260 Split driver for decstation-3100 framebuffer (BrookTree bt478 RAMDAC,
DEC dc503 cursor chip) into  Decstation 2100,3100 cfattach front-end
and ``machine-independent'' back-end.
	pm_ds.c:  pmin/pmax cfattach front-end
	pm.c:  bt478, 503 back-end
	pmvar.h: declarations of back-end normal and console attach
	         entry points.
1996-10-12 23:33:18 +00:00
mhitch 784dc6bd1b poll(2) changes for framebuffer. 1996-10-12 16:00:21 +00:00
mhitch b403f60a0e Don't try to probe devices past the number of tz devices configured - stops
corrupting data past the end of tz_softc[].
1996-10-12 15:59:39 +00:00
mhitch f22ea83247 The dc has to have needs-flag so dc.h gets generated. 1996-10-11 19:58:43 +00:00
mhitch 2d3fc12c2b Fixed typo on EXEC_ELF32.
Newline at end of file was missing.
1996-10-11 19:55:38 +00:00
christos 19d8368f2f printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:44:42 +00:00
cgd e36e19cf1e repoint at shared aout_machdep.h, not exec.h 1996-10-08 13:07:26 +00:00
cgd 472889f8e4 moved to aout_machdep.h (via repository copy) 1996-10-08 12:57:37 +00:00
jonathan ba4d6af5fa Merge back MIPS3 locore stack-traceback code. 1996-10-07 11:20:53 +00:00
jonathan fbdaac9a7a Use "MIPS1" and "MIPS3" as preprocessor tokens to select {config,compile}-time
support for mips-1 (r2000 family) and mips-3 (r4000 family) CPUs.
Avoids inconsistent use of CPU_R2000 and CPU_R3000.
1996-10-07 02:17:33 +00:00
jonathan 71d4d3075e Commit 1.2 release branch changes (1.6.4.1) back onto main branch. 1996-10-06 06:46:34 +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 fa2f6c517a Update pmax GENERIC config to use revamped config files with per-model
include files containing model-specific I/O device configuration.

Add more options and devices (ccd, LKM, etc), as appropriate for
documentation and as examples in a "template" GENERIC config file,
even though not all of these work completely yet.
1996-10-02 06:41:13 +00:00
jonathan 15e3cf2814 Add explicit options for elf and script exec packges to std.pmax.
Add ECOFF exec option  to my own config file; untested.
1996-10-02 05:56:37 +00:00
jonathan b2ba37c8b9 Delete old dkstat index (sd_dk) from old pmax scsi-driver struct, and delete
the last references to it from the old/new config glue in pmax/conf-glue.c.
1996-10-01 01:04:48 +00:00
jonathan e459401a61 Fix for PR #2739: change reference to ioasic interrupt mask in a
DEBUG printf() in kmin_intr() from  "kn03_tc3_imask" (3max+  ioasic mask)
to  "kmin_tc3_imask" (3min ioasic mask)
1996-09-30 08:31:54 +00:00
jonathan 2c2c7c31cb Add files.pmax entries for separate cfattach front-end and ``MI'' backend
drivers:
	pm - pmin/pmax  d503 PCC + BrookTree 478 framebuffer
	dc - dc7085 DZ-11 clone
	asc - ioasic and TurboChannel SCSI option card 53c94 SCSI-2
	sii - DEC scsi ASIC used in pmin/pmax, 5100, and Firefox vaxes
1996-09-30 08:11:23 +00:00
jonathan 7cd0363289 Just include <mips/cpuregs.h>, which has the same contents this
file used to.
1996-09-30 07:58:20 +00:00
jonathan 701c775b0b Update all the include directives to use pathnames relative to the root
of the kernel source tree, not the port config directory.
1996-09-30 02:38:17 +00:00
jonathan 0c1b5cd12b Build and link in locore_machdep.S. 1996-09-30 02:35:34 +00:00
jonathan 6c0d846a3d Include <mips/asm.h>, not the Sprite header names. 1996-09-30 02:21:20 +00:00
jonathan a1d3dd50d8 * Move Decstation-specific locore code (sii DMA copy, vmstat -i counters)
from arch/mips/mips/locore.S to arch/pmax/pmax/locore_machdep.S.
* Move ARC-specific locore code (vmstat -i counters) to
  arch/pica/pica/locore_machdep.S.
* When the mips3 locore support is known to work, both  ports can now use
  arch/mips/mips/locore.S.
1996-09-30 01:51:16 +00:00
jonathan e82e5facd0 Add _ prefix to the PROM-callback-vector entrypoint in standalone
wrappers for:
	gets.c getenv.c strcat.c strcpy.c
so they compile again (if _KERNEL is defined).

For bootblock space reasons it would be prereable to call the PROM entrypoints
directly, via the macro wappers in de_prom.h, rather than C function wrappers.
1996-09-30 01:14:39 +00:00
jonathan 6c56d533b3 Add "const" to second argument to devopen.c, to match sys/lib/libsa/stand.h. 1996-09-30 01:02:06 +00:00
jonathan 0cfd4f8641 Update arch/pmax/Makefile to build in NetBSD rather than 4.4-Lite:
* Create arch/mips/Makefile.inc with source list of generic MIPS-cpu
    files for tags
  * Use mips/Makefile.inc and updated tag list in pmax/Makefile
  * Try building bootblocks in arch/pmax/stand.
1996-09-29 23:51:22 +00:00
cgd d7d34c74ec since these just included mips/ecoff.h, they need to be changed to include
mips/ecoff_machdep.h.
1996-09-26 22:40:53 +00:00
cgd 64f4e1937e rename <machine/ecoff.h> to <machine/ecoff_machdep.h> for clarity and
consistency with the way machdep headers for other things are done.
(the creation of the ecoff_machdep.h files was done on the CVS server, to
keep the RCS logs intact.)
1996-09-26 22:39:14 +00:00
cgd 0e097578a2 add and use a machine-dependent header, which currently defines some
macros to use to remove #ifdefs from the machine ID case check.
Eventually, these headers will contain other information, e.g.
machine-dependent relocation information, etc.
1996-09-26 21:50:55 +00:00
jonathan 9b5c58c457 * When configuring a serial console on a machine with a dc serial chip,
use the pre-autoconfig cold serial-console inititialization entry
  points from the bus-specific cfattach front-end code.
* Delete post-autoconfig code to switch from PROM output to kernel
  driver for machines with dc serial chips.
1996-09-25 21:16:00 +00:00
jonathan 874baa6c95 Rewrite dc7085 (dz-11 clone) driver as MI back-end, with bus-specific
cfattach front-end code:
  dc_ds for the decstation 2100( pmin), 3100 (pmax), and 5100.
  dc_ioasic for the decstation 5000/200 (3max) which does  not have a
  DEC TC-style IOCTL asic, but is configured as if it did.

* Add pre-autoconfig  code initialization of kerenl dc driver console I/O
  for remote serial consoles.  The hack to use PROM serial I/O until the
  dc device is autoconfigured is no longer necessary.
1996-09-25 20:48:51 +00:00
jonathan 75fd343a78 Build locore using merged mips (mips1, mips3) locore source:
* Add MIPS make variable pointing at $S/arch/mips
  * Build locore from $MIPS/mips locore source
  * Build locore.o and fp.o (fp emulation) from arch/mips locore source
  * Add target and rules to build pmax-specific locore code locore_machdep.o
    from $PMAX/pmax/lcore_machdep.S
1996-09-25 20:41:00 +00:00
jonathan 2ec085cba7 Back out part of revision 1.30:
>* Use `-S' rather than `-x' to remove debugging symbols.

because the pmax toolchain and gcc disagree about what is a "local"
symbol, and ld requires a "-x" to let elf2aout build bootable a.out kernels.
1996-09-25 20:35:16 +00:00
jonathan 3fd5d3ba03 Add prototype for function-pointer argument "strat" in definition of
readdisklabel(), writedisklabel(), and  compatdisklabel().
1996-09-21 11:25:51 +00:00
jonathan 3a51c3ecb0 Move old 4.4bsd/pmax driver declaration below prototypes of driver
entry points, for -Wall -Wstrict-prototypes.
1996-09-21 08:47:17 +00:00
jonathan 073248247b Add prototype for 4.4bsd/pmax scsi-driver d_done() entry point. 1996-09-21 08:45:41 +00:00
jonathan cb5732503f Add fake, bogus prototype for gettcinfo(), with "void" arglist.
(Not having a prototype  breaks -Wstrict-prototypes, this callback
 isn't used, and we don't know what the prototype should be.)
1996-09-21 03:33:18 +00:00
jonathan 456e858536 Update pmax framebuffer drivers for -Wall -Wstrict-prototypes:
* include <fb>var.h in <fb>.c
 * remove delete declarations for 4.4BSD-Lite console/kbd/mouse redirection
 * Add prototypes where not already present.
1996-09-21 03:25:15 +00:00
jonathan f78ff890d7 Change bt478.c to include bt478var.h from bt478.c.
Remove redundant declarations.
1996-09-21 03:22:24 +00:00
jonathan 2e4e1695fe Exported declararation of console-attach function for glass-tty consoles
on Decstation TURBOchannel fb drivers.
1996-09-21 03:06:36 +00:00
jonathan 5c2d5169b2 Exported declarations from brooktree bt478 chipset-level driver,
used in DEC pm framebuffers.
1996-09-21 03:02:10 +00:00
jonathan 4a465f05ff Decstation kernel config file for diskless installation:
root and swap on NFS, but includes disk and tape drivers.

Prune out most `optional' options to stay small in the hope of avoiding
PROM tftp bugs.
1996-09-18 14:10:24 +00:00
jonathan 420c045b41 Create broken-out config files for decstation baseboard devices.
Add sample config files that use them.
1996-09-18 13:43:37 +00:00
jonathan de735d506d Fix for problem report port-pmax/2173: the local variable "inst"
in the branch-emulation  code was uninitialized, due to a misplaced #endif.

Remove the relevant #ifdef (macro version of GetBranchDest), and move the
XXX note about r4000 branch targets to the  function definition.
1996-09-18 11:16:20 +00:00
jonathan ad20e52d11 Commit snapshot of reworked dc driver to trunk, to pull up fix for
serial consoles to the 1.2 branch.  Includes:
  * dynamically allocated new-config softc
  * remove dependencies on Decstation CPU type, use flags in softc instead.
  * pass in values for softc flags (q.v.) from parent-specific attach code
  * #ifdef out rts/cts flow control support until it's known to work on
    200s.
  * redo initialization of serial consoles (needs more work).
1996-09-17 19:34:40 +00:00
jonathan 18bd3a86e3 * add RCS id.
* Allow configuring disks without tapes, or tapes without disks,
  as suggested in PR 2743.
1996-09-16 03:47:47 +00:00
jonathan 2bc8c4e5c2 Merge in 4.4BSD-Lite -> 4.4BSD-Lite2 changes. (untested).
The Lite2 changes  include:
  * Remove the last vestiges of high-bit-set-means-delay for output chars.
  * Handle the  2100/3100 having partial modem control on line 2 only,
    whereas the 5000/200 has modem control signals on lines 2 and 3.
  * Add RTS/CTS support for lines 2 and 3 on a 5000/200.
  * Add more s = spltty(); splx(s); where needed but not present.
1996-09-11 06:41:19 +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
mycroft b3ffba62a6 Move strip(1) flags into a separate variable, so that $STRIP can
be passed to subordinate make(1)s.  Remove $TOUCH.  Add HOSTED_CC,
HOSTED_CPPFLAGS, and HOSTED_CFLAGS, and use them when depending genassym.
1996-09-09 21:06:55 +00:00
jonathan de227b74e6 * Add missing printf("\n") at end of attach routine in cfb, sfb, pm drivers. 1996-09-08 19:28:03 +00:00
jonathan 50326ae738 * Call doshutdownhooks() before rebooting.
* Split the machine-dependent part of  rebooting out into a separate
  function, prom_halt(), making boot() a candidate for moving into
  mips/mips.
1996-09-08 11:49:49 +00:00
mycroft e6dd44f034 Use SIGBUS iff we get a legitimate bus fault. Use SIGSEGV for page protection
violations (per Solaris, SVR4, AIX, Linux, Irix, and SunOS).
1996-09-07 22:26:41 +00:00
mycroft 2bc736661a Implement poll(2). 1996-09-07 12:40:22 +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
mhitch 3686def7f7 Add parenthesis to correct a check for current SII state, so that a forced
disconnect will be done (it would never have been done with the old code).
1996-09-07 01:19:45 +00:00
jonathan ac5bac38be * This driver initialized mfb devices to black-on-black. If being used
as a console, initalize as white-on-black so console messages are legible.
  (Sean Davidson reports that rcons still messes up the display, perhaps
   due to using the wrong pixel depth).
1996-09-06 07:01:06 +00:00
mycroft fc3def4096 Remove duplicate declarations of LKM functions and macros. 1996-09-05 15:46:22 +00:00
mhitch 704caddf5f Fix several errors when setting a color map entry for the maxine display.
1. Start at the specified entry instead of entry 0.
2. Use the blue value instead of the green when setting the blue color entry.
3. Don't use the starting index again for storing the saved entry - the cmap
   pointer was previously initialized using the starting index.  This fixes
   a hard hang on the maxine when console output is done after calls to
   set the color map (usually by the X server).
1996-09-02 17:35:52 +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
mycroft 30a617c634 Wrap the default definition of `S' in `.ifndef'. 1996-08-31 21:40:47 +00:00
jonathan 703e546127 Add mrg's "options COMPAT_12" back into the trunk. 1996-08-28 05:50:59 +00:00
jonathan 18db5ea067 * Rename miniroot GENERIC kernel to GENERIC
* Add changes needed/used to build 1.2 GENERIC kernel:
  * Delete obsolete and ambiguous DS5000 option.
  * Add CPU_R3000 which is now required to compile in mips1 locore support.
  * Add an explicit declaration of HZ.
  * back out COMPAT_12 for this revision.
1996-08-28 05:49:35 +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
mrg b8e9f36083 add COMPAT_12. 1996-08-26 23:39:36 +00:00
jonathan 562faf95ac Re-apply to the trunk a change that was misapplied to 1.2 release branch:
>apply old name change, MachEmptyWriteBuffer -> wbflush()
1996-08-22 04:37:41 +00:00
jonathan eb75b94621 Re-apply change that was misapplied to 1.2 release branch to trunk:
>Cosmetic changes to pass -Wall -Wstrict-prototypes -Wmissing-prototypes:
> * remove inline prototypes for keyboard redirection,
>    include {dc,scc,dtop}var.h files instead.
> * add prototype for rcons_connect().
>
1996-08-22 04:29:43 +00:00
jonathan 9a8c8b9858 * the 3MIN does not mask non-enabled TC interrupts, and the SFB generates
a vertical-blank interrupt. Add a handler to clear the interrupt, and
  establish that  handler if running on a 3MIN.
1996-08-22 04:17:23 +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
mycroft 558d72128e Put into . Remove hooks for `config-dependent' and
`device-driver' flags.
1996-08-12 00:51:24 +00:00
mycroft cf67f29afe * Add a HOSTED_C_C variable, which strips `-p', `-pg', and
`-nostdinc', and use it when building genassym.
* Use `-nostdinc' just to be sure we're self-contained.
1996-08-10 06:07:57 +00:00
mycroft f94052ed3a * Define CWARNFLAGS and MKDEP in some moderately consistent fashion.
* Make S expand to an absolute path at compile time.
* Use `-S' rather than `-x' to remove debugging symbols.
* Garbage collect unused variables.
* Reverse a handful of port-specific changes that do not correspond to
the common build model and are not needed.
1996-08-10 05:29:24 +00:00
mrg 5abbf990f3 Change reboot(2) to take two arguments: bootopt like normal and also
a boot string for firmware that can do this, such as the SPARC and
the sun3 models.  It is currently silently ignored on all other
hardware now, however.  The MD function "boot()" has been changed to
also take a char *.
1996-08-09 10:30:23 +00:00
mhitch 79fb4c0c30 Add missing #include of "ppp.h" to get definition of NPPP so that the
pppintr() call is actually included.  This fixes ppp so that it actually
works again.
1996-08-09 05:11:02 +00:00
mhitch 5b0728f9a2 Correct update of DMA address register when saving DMA state on a
message-in.  The remaining transfer count restored when a device is
reselected needs to be saved.  The saved value is needed to compute
the number of bytes transferred if another disconnect occurs.  This
fixes a random read data corruption that occurs on certain disks that
may disconnect more than once in the middle of a DMA transfer.
1996-07-30 06:36:33 +00:00
thorpej eeaf8d15ef Remove the old-style disk instrumentation code. 1996-07-12 21:55:48 +00:00
jonathan 8445253ad3 Fix 4.4bsd/pmax memory-sizing bug:
physical memory is sized by a loop that writes data to the first
word in a page, (writes something else to settle the bus) and then reads
back the word it wrote. If the read succeeds, the amount of physical
memory is increased by one page.

This fails on a 5000/1xx with a memory subsystem filled with 8 low-density
(4Mbyte) SIMMs. The memory-decoding hardware  aliases the 32Mbytes of
physical memory  at physical addresses 0, and at 32M (and presumably
at 64 and 96Mbytes.)  The contiguous aliasing causes the memory-sizing
loop to continue  at 32 MBytes, testing the memory that's really
at address 0,  overwriting and crashing the kernel.

Fixed (for 1.2) by reading the SIMM-decoder stride size from the
motherboard, and reducing the loop bound to 32Mbytes on a 5000/1xx
with low-density SIMMs.  (Other models have a non-power-of-2 maximum
memory and so are not subject to _contigous_ aliasing of physical memory).
1996-06-25 05:47:31 +00:00
jonathan 7620af6671 Fix 4.4bsd/pmax bug in memory-sizing loop:
The physical memory-sizer claims to preserve memory contents
(specifically the contents of msgbuf).  The loop writes different
values into two adjacent locations and reads the contents of the
first, to ensure that whatever is read back from the first location is
from memory and isn't just the first write persisting on the bus.

The loop preserved the value of the first location, but not the second,
resulting in the second test value ('ZZZZ') over-writing a word in msgbuf.
1996-06-23 21:08:54 +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
jonathan b212f1b0c1 Move cpu_singlestep outside of #ifdef DEBUG/#endif; the process-tracing code
in  mips/mips/process_machdep.c (erroneously) calls cpu_singlestep().
1996-06-17 07:55:13 +00:00
jonathan 26626be148 Before calling a signal handler, set $t9 to the user-level signal
handler address.  May be needed by sysv ABI for shared libs.
1996-06-17 06:36:34 +00:00
mhitch cd2de87a62 Fix cpu configuration display - extraneous "\n" was printed. 1996-06-16 17:05:33 +00:00
mhitch d5cb319823 Fix to compile if DS3100 is not defined when building without DS3100 support. 1996-06-16 17:03:18 +00:00
mhitch dbd6d91a1f Fix to compile if DS3100 is not defined when building without DS3100 support.
Now that autoconf parameter passing is cleaned up, configure the cpu.
1996-06-16 17:01:46 +00:00
mhitch 2c4f6b4b82 Don't modify rz_softc[] entries beyond what was configured.
Show proper inquiry data when version >= 1, not <= 1 (SCSI-2 devices
now display their inquiry infor).
Correct transfer length passed to dk_unbusy (b_resid hasn't been
updated yet).
1996-06-16 16:57:31 +00:00
mhitch 40c440b66e Do tty_attach() for serial lines and MAXINE console. 1996-06-16 16:50:56 +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
jonathan 6f359b538f 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".
1996-06-15 08:57:52 +00:00
jonathan 78688c01fe Update kn01_intr() to allow configuration of the kn01 (ds3100) baseboard
lance device at any unit number, not just le0. Other unit numbers
(and interrupt handlers) are still hardcoded.
1996-06-15 07:11:20 +00:00
jonathan 465d53bd4d Fix sense of strcmp() comparison that broke dcmatch() on real ioctl asic hw. 1996-06-13 22:43:33 +00:00
jonathan 7adf57b6f5 Fix the reworked autoconfiguration to also boot on a 5000/200.
Check and avoid trying to configure (or dereference unknown arguments
to dcattach() and dcmatch() when called with busses the driver doesn't support.
1996-06-13 08:06:12 +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
mhitch d8824f1a84 Fix autoconfig stuff to more closely match the alpha. The DS3100 will now
configure properly.  Also fix devices with TurboChannel and mainbus
attachments so they will work if no TurboChannel was configured.
Fix clock.c for a missing variable if not including NTP support.
Also remove some extraneous includes files or use the right ones.
1996-05-29 06:25:01 +00:00
mhitch 038bd4a782 Fix autoconfig stuff to match the alpha. The DS3100 will now
configure properly.
1996-05-29 06:19:49 +00:00
mhitch de1b9b4230 Fix autoconfiguration stuff to match the alpha. The DS3100 will now
configure properly.  Also fix devices with TurboChannel and mainbus
attachments so they will work if no TurboChannel was configured.
Fix a panic when the dtop keyboard handler receieves a character
before the device has been opened.
1996-05-29 06:15:40 +00:00
mhitch 9d8526a68d Use the MI LANCE drivers - the pmax-specific one no longer compiles. 1996-05-29 06:05:05 +00:00
mhitch a2d094fb48 Fixes to make kernel compile: HZ is required to be defined and CPU_R3000
is needed to include R3000 support.  Also change the le0 to le* for the
3100 LANCE so it configures properly.
1996-05-29 06:01:13 +00:00
jonathan b15951c1ee * Move the declarations of mips locore functions from the pmax tree
to the mips tree.
* Just include the mips locore.h into the pmax one.
1996-05-20 23:49:11 +00:00
jonathan 6f1e720b08 Change MachEmptyWriteBuffer() to wbflush().
Add missing "void" and "int" return types on functions.
Move boot() after dumpsys()/doadump(), so the latter don't need forward decls.
1996-05-20 23:27:27 +00:00
jonathan 7666d5b36b Check that either CPU_R3000 or CPU_R4000 is defined. Fix the r3k/r2k
symbolic lookup of the CPU-level specific locore entry points to use the
r2k, not the r4k, labels.

Include header files to get prototyped declarations of ipintr() and arpintr().
Remove unused variables and parenthesize assignments in if () expressions.

Gcc warns of a possible && vs || operator-precedence bug in the network
softint dispatch code, which needs more thought.
1996-05-20 23:24:00 +00:00
jonathan b37be8bb62 Fix typo in NMBCLUSTERS definition. 1996-05-20 10:50:52 +00:00
mhitch 9aa945f3c4 Also use genassym.c from sys/arch/mips/mips for make depend. 1996-05-19 22:44:12 +00:00
jonathan 1cfab3321a make dk_establish() return type be void, not int. 1996-05-19 18:49:33 +00:00
jonathan e6beb98351 Move sys/arch/pmax/dev/sccvar.h to sys/arch/pmax/tc. 1996-05-19 18:25:15 +00:00
jonathan 7469cf4c88 Add port number encodings. 1996-05-19 18:24:33 +00:00
jonathan baa655bc0f Update the DECstation stack-traceback pretty-printer, KN01 interrupt handler,
and IOCTL ASIC dma-buffer-reservation code to use the reorganized am7990
preprocessor tokens and function names.
1996-05-19 17:58:12 +00:00
jonathan 1f9e095446 Remove common-across-all-MIPS-cpu definitions (e.g., user-level-visible
page/segment size definitions and macros) and move them to
mips/include/mips_param.h.
1996-05-19 17:48:04 +00:00
jonathan b6a3c3255f Use genassym.c from sys/arch/mips/mips. 1996-05-19 17:17:48 +00:00
jonathan aff9b08bf5 Delete unecessary #include of "le.h", which doesn't exist anymore. 1996-05-19 15:57:16 +00:00
jonathan e2a698293c Add local declarations for locore functions. Fix pagemove() return
type to be void. Add explicit "int" return types.
Fix format/argument mismatches for vm_offset_t's in diagnostic messages.
1996-05-19 15:55:31 +00:00
jonathan 2b1cdb9535 Include <machine/locore.h>, to force all MIPS cpu-model specific
locore calls to go via a locore-entry jumptable.

Use the mips/mips/mips_machdep.c code to initialize locore state,
exception vectors, and the locore entry vector, instead of doing
it all in mach_init().

Update dumpsys() to use new-style signatures for dump routines,
even though the pmax SCSI drivers don't actually support dumping kernel
memory.
1996-05-19 02:03:38 +00:00
jonathan bce6b88e9a Include <machine/locore.h>, to force all MIPS cpu-model specific
locore calls to go via a locore-entry jumptable.

Cast the (int) arguments  to MachTLBUpdateEntry() to avoid
warnings.  Variables TLB entries are still type-punned as either structs
or ints, without any regard, when the pmax-specific VM code passes
them as arguments to functions.
1996-05-19 02:00:58 +00:00
jonathan 6bb09a3781 Include <machine/locore.h>, to force all MIPS cpu-model specific
locore calls to go via a locore-entry jumptable.

Use mips_btop(), mips_round_page, mips_trunc_seg() instead
of pmax_btop(), pmax_round_page, pmax_trunc_seg().

Add Per's software-readonly-bit mechanism, since the r2000 and r4000
hardware TLB entries are  very different, and the r4k has no space for
software bits in TLB entries.  That is, this pmap code still won't work
on r4000 machines. Some other solution, like another jump table for
clients of the  pmap code, is necessary.
1996-05-19 01:58:35 +00:00
jonathan b4c4b28e43 Include <machine/locore.h>, to force all MIPS cpu-model specific
locore calls to go via a locore-entry jumptable.

Declare  r2000- and r4000-specific exception-handler functions, to which
trap() and interrupt() dispatch exceptions. Initialize r2000- and r4000-
specific exception-handler vectors, when CPU_R4000 and CPU_R2000 are
defined.

Update the stack-traceback code (partially) to understand and print
the new low-level exception-handler code, via which machine exception-vectors
send exceptions to call trap() or interrupt(). This needs  more work.
1996-05-19 01:54:49 +00:00
jonathan a52871e690 Avoid calling autoconfigure() to configure the CPU.
It just causes a kernel panic, and will until the rest of the pmax
autoconfiguration is redone to use a bus-specific probe and attach
argument, or until KN01 devices are no longer attached to the mainbus.
1996-05-19 01:47:15 +00:00
jonathan a671ada4b8 Change block comment where each line began with "/*", to use the KNF
block comment style. Also passes gcc -Wall.
1996-05-19 01:44:45 +00:00
jonathan 562ae556d9 Add closing-comments to commented-out #defines. to avoid -Wall complaining
about comments-inside-comments.
(The #defines for the IOCTL asic should arguably be mereged with
NetBSD/Alpha in any case.)
1996-05-19 01:42:54 +00:00
jonathan 35050a83c5 Declarations for KN01 (Decstation/Decsystem 2100/3100) baseboard "bus". 1996-05-19 01:40:35 +00:00
jonathan 5a890607de Define the conventional pmax locore entry-point names to be calls through
an vector (struct) of function pointers.  Add prototype declarations for
each vector entry.
Add declarations for the r2000 (MIPS-I) and r4000 (MIPS-III) locore
versions of the relevant functions.
1996-05-19 01:32:56 +00:00
jonathan 7429b65f3c Add declarations for the locore variables cpu_id and fpu_id, compatible
with the Pica r4000 locore. These variables  are now used
by the cpu-identification routines in mips/mips/mips_machdep.c.
1996-05-19 01:28:47 +00:00
jonathan eaafcae007 Add prototyped declarations for the static bt431 chipset code.
Add explicit "int" return types to functions.
Change MachEmptyWriteBuffer() to wbflush().
1996-05-19 01:18:57 +00:00
jonathan cb77e53644 more cleanups for -Wall:
update the 4.3bsd/Ultrix-compatible qvss-style mmap'ed framebuffer/input-event
code to use mips_round_page() et.al., not pmax_round_page().
Add explicit "int" return types to functions.  Add prototyped forward
declarations.
1996-05-19 01:16:18 +00:00
jonathan 33fcef8a24 more cleanups for -Wall:
Fix the the  definitions of dtop cdevsw entry point functions to match
    their  declarations. Add explicit "int" declarations to functions.
    Add prototyped declarations for all local functions.
    Return zero from dtopstop().
    Include the external declarations from dtopvar.h.
1996-05-19 01:12:40 +00:00
jonathan fe392301cd more cleanups for -Wall:
Fix the the  definitions of cdevsw entry point functions to match their
    declarations. Add explicit "int" declarations, and fix the type
    of rconsmmap().
1996-05-19 01:06:14 +00:00
jonathan fe111dde22 more cleanups for -Wall:
Fix lk201 driver to include lk201var.h.
1996-05-19 01:03:00 +00:00
jonathan 9bdcc60e97 more cleanups for -Wall:
Fix generic framebuffer (X-server interface)  cdevsw entry points to match
    declarations.
1996-05-19 01:01:10 +00:00
jonathan 50dd608c3b more cleanups for -Wall:
Fix dc driver cdevsw entry points to match declarations.
    Change MachEmptyWriteBuffer() to wbflush().
1996-05-19 00:58:03 +00:00
jonathan 153ec93cf9 Create device-driver external declarations for the following pmax drivers:
lk201 in-kernel keyboard decoder (lk201var.h)
1996-05-19 00:53:43 +00:00
jonathan cce901c20c Create device-driver external declarations for the following pmax drivers:
qvss/pm-compatible  framebuffer ioctl()s (qvssvar.h)
	MAXINE desktop bus driver (dtopvar.h)
	3100/2100 pm framebuffer low-level driver ( pmvar.h)
	MAXINE baseboard framebuffer (xcfbvar.h)

which should compile with -Wall.
1996-05-19 00:48:43 +00:00
jonathan 503d421a0a Add alternate "mips_r2000_<XXX>" entry points for the r2000/r3000-specific
locore functions.  The new names are used by C code to construct a jump-table,.
making it less infeasible to have a single kernel image work on both
r3000 and r4000 systems.
1996-05-19 00:25:14 +00:00
mycroft 540f9550c0 Make `make depend' work for libraries. 1996-05-11 16:11:30 +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
thorpej b97689cdfb 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.
1996-05-07 01:16:36 +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 274c2bd80d Add a prototype for generic_intr_establish(), the bus-independent
pmax interrupt-establish function.
1996-04-14 00:58:21 +00:00
jonathan 28986d8126 Add cdev_decl() declarations for the "dtop", "fb" , and "rcons" drivers. 1996-04-14 00:56:59 +00:00