Commit Graph

627 Commits

Author SHA1 Message Date
jonathan
ab3b20faba Remove the compile-time conditionalization for either CFB or SFB,
based on "#ifdef MELLON":  examine the framebuffer dimensions in the
fb softc, and initialize the x-axis offset appropriately.

User-level changes to (e.g.) an Xserver are still needed to work
on an SFB.
1996-02-15 19:18:22 +00:00
jonathan
d25690e30a Propagate changes from cfb driver to not require "needs-count" to other
pmax framebuffer drivers.
1996-02-15 19:13:08 +00:00
jonathan
a5c3ac2538 Allocate a single static colourmap array for aglass-tty consle
framebuffer and malloc() all others.  Remove old-config unit-number checks.

This driver no longer requires the "needs_count" flag.
1996-02-13 18:27:28 +00:00
jonathan
1c03bcb897 Finish converting MAXINE dtop driver to use new-style config.
The dtop driver no longer requires the "needs-count" flag.

Fix a panic in boot-time interrupt establish. The "generic" pmax
interrupt-establish  code assumes that all interrupt args are new-config
device structs accessed via  a struct cfdriver.   Make it so.
1996-02-13 18:23:46 +00:00
jonathan
a43eb3baa6 Fix v_putc() conflict with the declaration in <sys/systm.h>: remove the
v_putc() declaration and assignment to a temp pointer. The rcons console
initialization longer requires that hack.
1996-02-11 07:14:58 +00:00
mycroft
753fe3a25a Fix mkdep problems due to missing flags. 1996-02-09 02:21:13 +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
jonathan
4ab4b73b40 Support kernels configured without an ASC (e.g, 3100-only configs) or
without an SII (e.g., TURBOChannel-only configs).  Only the same old,
static, set of old-config devices and old pmax rz/tz drivers is
supported.
1996-02-06 02:13:18 +00:00
jonathan
f239350d79 Fix braino in (partial) 5100 support: the 5100 is a DS_MIPSMATE, not a
DS_MIPSFAIR.
1996-02-06 01:59:46 +00:00
jonathan
bf52fa8269 The prototyping `fixes' broke vmapbuf() and vunmapbuf(), due to a "sz"
parameter parameters shadowing locals.  Replace vmapbuf() and vunmapbuf()
with the Alpha-port versions, which are cleaner (use round_page(),
trunc_page(), etc.)
1996-02-06 00:31:51 +00:00
jonathan
cb7e6f2e0f Change last argument of ktrsysret() call: pass rval[0], not rval, as
ktrsysret() expects.   Tracing of  rval[1] remains an open problem.
1996-02-06 00:13:04 +00:00
christos
2c8314f73c vm prototype changes 1996-02-05 02:06:38 +00:00
jonathan
1f780158bb Redo the locore interrupt counters reported by vmstat -i:
* add a new enum decstation_intr_t to trap.c, naming each instrumented
  interrupt symbolically, and used to index into intrcnt[].  Change the
  model-specific interrupt handlers to use the decstation_intr_t when
  updating interrupt counters.
* add instrumentation to the kmin and maxine interrupt handlers.
* fix a bug that counted each hardclock interrupts on the kn02 twice.

The hardcoded mapping from locore names to units is gross; but these
counters will hopefully be useful in identifying interrupt hot-spots
and PPP problems on the 3MIN.
1996-02-04 20:14:17 +00:00
jonathan
600a82037b A semicolon was missing from the SYSTEM_LD_TAIL stanza that converts
from elf to netbsd a.out, causing the mv to fail; add one.
1996-02-04 07:08:38 +00:00
mycroft
5bc076e17e Use `-traditional-cpp' when building .s and .S files. 1996-02-03 00:43:50 +00:00
mycroft
dcd66e9f4d Clone these, and fix many bugs. 1996-02-02 20:08:17 +00:00
mycroft
9db20bf150 Don't define _KERNEL here. 1996-02-02 19:42:08 +00:00
mycroft
9d9a70a5a2 Fix #includes. 1996-02-02 18:05:36 +00:00
mycroft
88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
jonathan
10a140d34d Rename SCSI phase manifest constants from ASC_PHASE_* to SCSI_PHASE_*,
as the newer version of the Mach 53c94 driver does.
1996-01-31 23:38:55 +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
219b1ef218 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-31 02:53:39 +00:00
jonathan
4c0067c40b Remove config.old files for pmax. They should have been removed before
the NetBSD-1.1 release, as they have not worked or been supported for
some time.
1996-01-30 05:18:55 +00:00
jonathan
05ef657fb8 Some newer scsi-2 or scsi-3 drives reportedly return more data in
response to an inquiry command than was allocated here.  Add 1024
bytes extra padding, just to be safe.
1996-01-30 04:47:16 +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
764d54390c SAdd support for Sun-style framebuffer ioctl()s, as used by other NetBSD
[programs, notably /usr/sbin/screenblank.
1996-01-16 02:43:01 +00:00
jonathan
56ffba38d4 Fix how the cmap entries are updated, as contributed by Arne Juul
(arnej@pvv.unit.no). Xservers should now be able to set colours correctly.
1996-01-16 02:40:21 +00:00
thorpej
2c5d55d959 Use ${BINOWN} and ${BINGRP} per Arne H. Juul <arnej@ikke.idt.unit.no>
in PR #705.
1996-01-15 01:44:52 +00:00
thorpej
57219ebad3 Remove vnode_if.[ch] during a "make clean", per PR#536 from
Dan Carosone <danielce@ee.mu.oz.au>.
1996-01-14 21:06:47 +00:00
jonathan
04d66273af Remove the config.old sys/arch/pmax/dev/{scc.c,if_le.c}. The "new" config
equivalents (back-ported from NetBSD/alpha) are in sys/arch/pmax/tc, and/or
in sys/dev/tc.
1996-01-12 05:38:27 +00:00
jonathan
d51b06e19a Add lots of debugging to the TurboChannel autoconfiguration code. 1996-01-11 05:59:23 +00:00
jonathan
28cf41d710 Change the order of members of struct confargs, to be closer to
the sys/dev/tcvar.h TurboChannel configuration structures. (the initializers
in sys/arch/pmax/tc were already changed; the structure definition wasn't,
which broke autoconfiguration.)
1996-01-11 05:57:04 +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
jonathan
8472af018d Update a kludge from 4.4bsd/pmax: DECstation PROMs force the clock to
be in 1972 or 1973. If the clock is set to the actual time, the PROM
appears to reset the chip date to 1972 at each reboot.

Change the "year offset" from 22 years to 24 years (good till 1997)
until this code is replaced with something that uses the chip as a
seconds-since-beginning-of-year clock (encoded as a date, relative to
1972-01-01 00:00:00).
1996-01-07 15:38:44 +00:00
jtc
2fce159ff8 Changed name of sigaltstack's ss_base field to ss_sp to match XPG4.2 and
traditional usage.
1996-01-04 22:21:33 +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
1016f0c77a Add dev/tc/asc.c to files.pmax, until the merger of Alpha and pmax TC drivers
s completed.
1996-01-03 20:33:25 +00:00
mellon
27f6298889 Obsoleted by sys/dev/tc/asc.c. 1995-12-29 03:49:15 +00:00
thorpej
17eb6e2bc1 Move the old-style disk instrumentation "structures" to a central location
(sys/kern/subr_disk.c) and note that they should/will be deperecated.
1995-12-28 19:16:31 +00:00
jonathan
df51f8395d Change MachEmulateBranch() to be able to read an insn from user space.
Kernel-debugger breakpoints in user space, or FP insns that cause
underflow in a delay slot, should now work properly. Single-stepping
of arbitrary user processes, from user level, should be added.
1995-12-28 16:22:41 +00:00
jonathan
f10a0c8931 Config file used to build pmax kernels in NetBSD/1.1
miniroots,  from Arne Juul (arnej@pvv.unit.no).
(like NEWCONF, except with options GENERIC)
1995-12-28 16:11:31 +00:00
jonathan
7d4de44572 Fix typo (two rz4s, no rz5) and add options KTRACE. 1995-12-28 16:08:20 +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
mycroft
cd8fe86bcb Make the type of __builtin_va_list a long. 1995-12-26 01:16:24 +00:00
mycroft
0c00214737 Use __builtin_va_alist. 1995-12-26 00:19:09 +00:00
mycroft
fa887628d8 Stylistic changes. 1995-12-25 23:15:31 +00:00
mycroft
d1de691efb Stylistic changes. 1995-12-25 22:22:02 +00:00
mycroft
0199e002ad Update for GCC 2.7, and fix bugs. 1995-12-25 21:41:08 +00:00
mycroft
3da4b2a160 The IST_* and IPL_* constants are not bus-specific; don't treat them as such.
Change splimp -> splnet in Ethernet, ARCnet, and FDDI drivers.
1995-12-24 02:29:35 +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
339aa91097 Update the old (4.4bsd/pmax) miniroot build scripts to put mount_ffs
on a miniroot, until the  new miniroot  tools work on a pmax.
1995-12-22 08:08:14 +00:00
jonathan
2852152043 Reserve a number in the machine-dependent range for PT_STEP, in
case the kernel-debugger implementation of single-stepping ever works
with user code.
1995-12-21 09:28:36 +00:00
jonathan
c0f958f6be Add support for ptrace PT_GETREGS and PT_SETREGS for NetBSD/pmax:
* define PT_GETREGS and PT_SETREGS in pmax/include/ptrace.h
 * Flesh out the stubs in pmax/pmax/process_machdep.c to handle
   those requests.
 * Now that "struct reg" is actually used, remove the bogus
   #ifdef LANGUAGE_C around its definition, and redo pmax/include/reg.h
   so that the definitions needed by locore.S are in a separate file,
   pmax/include/regnum.h.
 * update locore.S to match.
1995-12-20 02:00:23 +00:00
jonathan
d7d2ba5ac3 Fix cross-compilation bug: native architecture is "pmax", not "mips". 1995-12-17 09:09:42 +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
jonathan
00b821d6c2 Change mips __warn_references() macro to use the ELF warning features
in binutils 2.6 and (patched) gcc 2.7.2. Only works with gcc in ANSI C
mode, for now.
1995-12-15 01:17:04 +00:00
jonathan
28db87de35 Change pixel type from u_long to u_int32_t, to match rcons. 1995-12-14 16:27:33 +00:00
mycroft
292120bf63 Define __FORK_BRAINDAMAGE. 1995-12-09 04:41:41 +00:00
jtc
0cd793449e merge in changes from 1.1 release branch 1995-11-30 00:56:23 +00:00
mellon
55980119ec Remove some cruft 1995-11-25 10:39:57 +00:00
mellon
8b29652e06 Fix colormap initialization for monochrome pmax framebuffer 1995-11-25 10:38:42 +00:00
mellon
db99c1a30b Provide compiler tool definitions for cross compilation. 1995-11-25 05:55:38 +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
cf5cff6ce5 Change PROM callback from "strcmp" to "_strcmp", which is what
dec_prom.h uses.
1995-10-26 01:39:49 +00:00
jonathan
d3d55dedb5 Macro definitions of ntohs() and ntohl() for pmax bootblocks. 1995-10-26 01:31:09 +00:00
jonathan
8e3a40d820 Commit missing modified copy of (old) sparc filesystem.c, that has
a comple-time option to support a subset of UFS operations, to build
small bootblocks.
1995-10-26 01:29:34 +00:00
jonathan
3b8faec21d Initialize pointer to the fb method table. Not initializing the
method table for the 2100/3100 fb caused a panic when an X server started.
1995-10-16 22:28:36 +00:00
jonathan
0736074d04 Fix bugs in the turbochannel config table for MAXINE (personal decstation). 1995-10-09 01:45:26 +00:00
mycroft
245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
jonathan
37d37e0791 Change the pmax framebuffer driver to reflect the rcons changes as negotiated
with pk:
Use dev/rcons/files.rcons in the pmax config file.
Use "rasterconsole" as the tag in pmax/conf, and modify the pmax
framebuffer pseudo-device drivers (fb and rcons) to us rasterconsole.h and
RASTERCONSOLE for compile-time configuration of the rcons pseudo-device.
Modify the pmax rcons pseudo-device driver to initialize a little-endian,
QVSS-compatible font (set its ascent, and set the rconsole structure to
point to that font) before calling rcons_connect().

Tested on a cfb.  The ascent may be wrong (or at least, not be aligned with
the hw cursor sprite) on a 3100.
1995-10-05 01:52:44 +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
ae1b64d888 Fix btoc()/ctob() typo in reading physical memory that stopped ps
from reading process argument lists.
Allow kernel-virtual memory reads to read the message buffer, since
dmesg needs it.
1995-09-29 21:53:29 +00:00
jonathan
b543578236 Add a missing "nop" in a delay slot in the floating-point exception
handler.  Gradual underflow and fp emulation now work correctly.
Proper denorms also fix strtod() inaccuracies and Gcc's "enquire" program.
1995-09-28 20:02:50 +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
95a27d405b Update pmax kernel to compile with -Werror:
update MAXINE desktop bus driver to pass a softc to interrupt
handler.  The softc is still statically allocated.
1995-09-25 21:12:33 +00:00
jonathan
ed4d846a84 Update pmax kernel to compile with -Werror:
Add prototypes to the driver switch for old-style 4.4bsd/pmax device drivers
(i.e., the old pmax SCSI drivers).
1995-09-25 21:10:03 +00:00
jonathan
51d59ca152 Update pmax kernel to compile with -Werror:
Fix the initializer of the prom bootinit() function, to take a char* that's
(presumably) the name of the file  to boot -- even though it's not used.
1995-09-25 21:06:29 +00:00
jonathan
cd887a9930 Add "kvtophys()", which maps MIPS R2000 kernel-virtual addresses to physical addresses,
so they can (e.g.) be written to DMA mapping registers.
1995-09-25 20:36:23 +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
7bb66692c0 Add fine-grain clock code which uses the 25 MHz TURBOChannel bus-cycle
counter on 5k/240s to interpolate to microsecond-resolution clock
in microtime().  Only the "rev B" ASIC in 5k/240s is known to have
this counter; other models may or may not.  This gives microsecond
resolution at user-level, and up to 40ns resolution (modulo the
nominal 5(?) 40MHz cpu cycles for reads to complete) in the kernel.


Change the IOASIC reset function to set up the DMA mapping for the
53c94.  Allocate 16 Kbytes of DMA buffer for 53c94 ASCs under an IOASIC,
as the 3MAX baseboard and TC options  have 128 Kbytes of static
bounce buffer, and the drivers really _should_ support 16Kbyte
I/O requests. (They don't always.)

Give the LANCE a hard reset on 5k/240s, just to be on the safe side.
(the 5k/240 I use sometimes reported errors at boot time.)
1995-09-25 04:21:01 +00:00
jonathan
462ef77234 Use the new "struct rconsole"; changes I apparently forgot to commit with
pmax/dev/fb.c.
1995-09-24 23:13:00 +00:00
jonathan
21f7aa38f6 Update the pmax rcons pseudo-device driver to work with the sys/dev/rcons
version of rconsole.
1995-09-22 23:48:20 +00:00
jonathan
d1234038d4 Rename the force-all-pending-writes to memory function to wbflush().
Keep the old Mach-derived name "MachEmptyWriteBuffer()" as an alternate
entry point.
1995-09-21 23:28:31 +00:00
jonathan
0641f09bfb Include <sys/mount.h>, as the new <sys/syscallargs.h> won't compile without it. 1995-09-20 23:33:25 +00:00
jonathan
2991316b06 Remove unecessary references to arch/sparc/rcons/raster.h, and some other lint. 1995-09-20 05:36:13 +00:00
jonathan
3589d052f0 Add gory debugging, because I don't have access to a MAXINE to test
the baseboard framebuffer driver with rcons and it reportedly didn't work.
1995-09-20 05:19:54 +00:00
jonathan
d0c0f7f738 Fix initialization of MAXINE xcfb as console. 1995-09-20 05:13:06 +00:00
jonathan
df58dc7d89 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-20 04:33:00 +00:00
thorpej
3253873a9e Use `files.ultrix' 1995-09-20 00:25:44 +00:00
thorpej
065ee11549 Compile the kernel with -Werror and -fno-builtin. 1995-09-19 23:30:54 +00:00
thorpej
7d7396c414 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 22:53:47 +00:00
jonathan
c8a3bfd5ed Update files.pmax to use Ted Lemon's port of the sparc rcons glass-tty fb
driver, the "generic" fb pseudo-device driver, and dev/cons.c.
Update an example new-config file (NEWCONF) to use them.
1995-09-18 03:09:03 +00:00
jonathan
9e925a1b42 Add cdevsw and bdevsw entries for the machine-independent sd and st drivers.
Add cdevsw and bdevsw entries for the old-pmax tz SCSI tape driver, and
add a do-nothing definition of the requisite tzdump().
1995-09-18 03:04:53 +00:00
jonathan
e18d468a1a move DEC qvss/pm - compatible (kernel tracks mouse) mouse-input parser
to qvss_compat.c  Move low-level mouse initialization to lk201.c.
1995-09-18 03:01:22 +00:00
jonathan
6d9de6f768 Fix qvss/pm compatible ioctl to set colormap entry. 1995-09-18 02:57:31 +00:00
jonathan
008afe8e46 Replace the old 4.4bsd/pmax framebuffer glass-tty font with one
suitable for the NetBSD/sparc-derived "rcons" framebuffer glass-tty.
1995-09-16 02:05:11 +00:00
jonathan
d7b9b56e07 Rename the old pmax SCSI driver's "struct scsi_device" to
"struct pmax_scsi_device", to avoid name conflicts with the sys/dev/scsi
SCSI driver.
1995-09-13 19:35:53 +00:00
jonathan
a0b0b167c1 Include the new fbio.h, fbvar.h, and lk201.h header files introduced
with rcons, as dtop.c supplies keyboard and mouse input from the desktop
bus, even though it hasn't itself changed.
1995-09-13 07:46:03 +00:00
jonathan
d69221cacc Delete the definition of struct VDACregs (the registers of a Brooktree
bt478 vdac); it's now in bt478.h.
1995-09-13 05:46:02 +00:00
jonathan
f5dc3f3d83 Fix bug (introduced by passing sc's rather than unit numbers) in the
computation of cfb interrupt-reset address for the 3MIN's interrupt routine.
1995-09-12 22:36:09 +00:00
jonathan
b216a24d04 Rename the 4.4bsd/pmax framebuffer glass-tty console structs to
"struct pmax_fbtty".  Remove most of its fields, since the fields
in the struct fbinfo render most of them unecessary, and the pmax
now uses rcons anyway. Moe the lk-201 keycode definitions to lk201.h,
so rcons can use them too.
1995-09-12 07:51:35 +00:00
jonathan
6a072ce81d Remove the old cdevsw entries for cfb, mfb, xcfb and pm framebuffers.
Add an entry for the generic framebuffer "fb" pseudo-device, which
should be used instead of the hardware-specific drivers.
1995-09-12 07:43:58 +00:00
jonathan
2f387d871a 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:32:31 +00:00
jonathan
ab85287371 Correct a typo in the PROM id string of the sfb in sfb_match(). 1995-09-12 07:30:45 +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
9a914b5b01 Rename the Decstation 2100/3100 interrupt functions from "pmax_<func>"
to "kn01_<func>", to avoid confounding a model name (PMAX) with the name of the
entire port (pmax).


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.)

Pass softc pointers to the scsi and ethernet kn01 (DS_PMAX)  drivers,
rather than having unit numbers wired into the base-level interrupt
handler.
1995-09-11 22:03:00 +00:00
jonathan
6746e9f52e Rename the Decstation 2100/3100 interrupt functions from "pmax_<func>"
to "kn01_<func>", to avoid confounding a model name (PMAX) with the name of the
entire port (pmax).

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.)

Move consinit() from here to cpu_cons.c.

Eliminate the old old pmax-specific console driver, whcih didn't
know about vnodes. Use sys/dev/cons.c instead.

Delete the old 4.4BSD/pmax TURBOChannel probe routines and ROM-to-driver
name-mapping functions.
1995-09-11 21:58:23 +00:00
jonathan
eefb5e8d1b Rename the old 4.4bsd/pmax old-style config "struct device" to
"struct pmax_device" to avoid conflict with <sys/device.h>.

Move the glue routines for config.old pmax SCSI device probing from
autoconf.c to conf-glue.c.
1995-09-11 21:49:37 +00:00
jonathan
187de8a215 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.

Fix an argument  glitch between consinit() and pminit().

Change consinit() to use PROM output for remote consoles, because
the serial drivers aren't yet initializable when consinit() is called.
1995-09-11 21:37:24 +00:00
jonathan
b4100ef220 Fix argument glitch between pminit() and consinit(). 1995-09-11 21:31:25 +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
dec12b783d Initialization and keymapping code for DEC LK-201 and successor keyboards,
abstrated out of the pmax scc and dc7085 drivers.
1995-09-11 21:23:07 +00:00
jonathan
92ec4c2ebb Delete the now-unused 4.4bsd/pmax "struct consdev". NetBSD/pmax
now uses the standard NetBSD console driver.
Add definition of  RCONSDEV, a potential framebuffer console device major
number.
1995-09-11 21:20:20 +00:00
jonathan
23366c17ff Rename the old 4.4bsd/pmax old-style config "struct device" to
"struct pmax_device" to avoid conflict with <sys/device.h>.

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-11 08:29:11 +00:00
jonathan
30c1021fd5 Framebuffer state variable for Ted Lemon's generic-framebuffer "fb"
pseudo-device, with support for the qvss/pm - compatible interface
used by X11R5 servers on DEC framebuffers.
1995-09-11 08:18:51 +00:00
jonathan
d20d3cf520 Framebuffer ioctls for Ted Lemon's pmax generic framebuffer fb
pseudo-device.
1995-09-11 08:17:04 +00:00
jonathan
ba769a296d Register definitions for the TURBOChannel Smart Frame Buffer (sfb). 1995-09-11 08:14:16 +00:00
jonathan
c8bef84d72 *** empty log message *** 1995-09-11 08:11:20 +00:00
jonathan
1d976e39b9 Change pmax framebuffer drivers to use Ted Lemon's port of the
NetBSD/sparc rcons glass-tty console pseudo-device driver, via
the "fb" generic-framebuffer pseudo-device driver.

Individual framebuffer device drivers are now autoconfig glue,
and initialization code for a set of vdac/ramdac-level methods,
called "fbdriver", that's used by all the pmax device drivers.
All the handlers for user-level requests (open/ioctl/read/write/close)
are moved into the fb pseudo-device driver, which uses the
the "fbdriver" methods to work on any given pmax hardware driver.
Framebuffers  supported are: sfb cfb mfb xcfb pm.

Move the qvss (pm) -style mmap()ed device interface, kernel tracking
of mouse button/movement events, and placing mouse/keyboard
events in an mmap()ed ring buffer, out of the framebuffer device
drivers and into separate source files. The fb pseudo-device driver
uses the qvss-compatible interface, since that's what the (R5) X
server uses.
1995-09-11 07:45:36 +00:00
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
jonathan
eac9104365 Add stubs for previously-undefined tzwrite(), tzread(), since the new
pmax conf.c references them.  A cut-and-paste job from the pmax
rzwrite() and rzread().  tzwrite() and tzread() are utterly untested.
tzwrite() should also check for write-protect, or handle writes to a
write-protected tape gracefully.
1995-07-12 07:24:27 +00:00
cgd
479fb9e45b add <sys/cdefs.h> inclusions. namsspace-protect physadr, label_t
def'ns against _POSIX_SOURCE and _ANSI_SOURCE.
1995-07-06 03:39:32 +00:00
paulus
08b7596c51 Add code to interrupt to call pppintr. 1995-07-04 12:22:21 +00:00
mycroft
7263209ce6 Make each disk and tape driver define its own read and write functions.
Deprecate rawread() and rawwrite() completely.  Remove d_strategy from cdevsw to
force the abstraction barrier.
1995-07-04 07:15:28 +00:00
jonathan
7c4739e2c3 Change bootblock load code to work with old DECstation proms (2100, 3100)
that lack the REX callback introduced with 5k/200.
1995-06-28 10:22:32 +00:00
cgd
c83f9c5568 remove unused cpu_exec() definitions. moved "broken swap" markers, for
ports that still need it, to types.h.
1995-06-28 02:55:18 +00:00
cgd
d4a54b73d2 kill user-land DELAY macro, as suggested by gwr. 1995-06-28 02:43:36 +00:00
mellon
34f8cc760a leinit: we always have at least one address now. 1995-06-27 19:54:49 +00:00
cgd
2d49c3885b clean up definitions of ctod(), dtoc(), ctob(), btoc(), btodb(), and
dbtob().  remove unused definitions of ctos(), stoc(), and dtob().
1995-06-26 06:55:38 +00:00
cgd
1c0be437b1 define __BDEVSW_DUMP_OLD_TYPE for ports where it's true. clean up
some m68k ports inclusion of common header.
1995-06-26 05:13:37 +00:00
christos
98df248f95 Makefile.arch: - Add -lcompat
- Change clean: target to be a double dep one,
			  so libraries can use the clean target too
			- Add genassym to the clean targets
1995-06-24 20:46:09 +00:00
jtc
55fbbc705d Wrap with #ifndef _XXX_FLOAT_H_/#define _XXX_FLOAT_H_/ ... /#endif. 1995-06-20 20:45:22 +00:00
jtc
1d65cdd4ab #include <sys/cdefs.h>.
Wrap __flt_rounds() declaration with __BEGIN_DECLS/__END_DECLS.
1995-06-20 20:32:22 +00:00
mellon
1305dc32df Put parentheses around macro arguments 1995-06-16 02:07:33 +00:00
jonathan
8e556dece3 Change default optimization level from -O to -O2. 1995-06-09 06:44:41 +00:00
jonathan
ae4eae4f63 Change reference in asm code from `__mcount'' to `___mcount'', to be
consistent with the (default) prepending of underscores to identifiers.

Because this reference is inside an ASM string it's too hairy to
conditionalize to support different toolchains that don't prepend underscores.
(Just don't do profiling with  such  toolchains.)
1995-05-31 00:25:06 +00:00
jonathan
8a93b408d6 Fix BPF bit-rot in receive side of pmax/dev/if_le.c: prepend ether header. 1995-05-31 00:15:46 +00:00
jtc
f90f8d10aa Removing -DKERNEL, transition to _KERNEL has been completed 1995-05-16 22:24:17 +00:00
jonathan
4175c2819f Redo 3MAX+ (5k/240) interrupt enable code.
Instead of being a no-op, kn03_intr_enable() sets the sw copy of the
interrupt-enable mask *and* writes it into the IO asic intr-enable
register.  Boot code sets the sw copy (kn03_tc_imask) to something
sane (KN03_IM0, with tc option slots turned off).  Tested and works.
Interrupt code for other IOASIC machines should be redone so that
interrupts for devices are enabled by drivers, rather than by
cpu-specific boot code.  Functions common to all IOASIC machines
(PSWARN?) should be done by asic_init().

Checked in without the above changes so that 3MAX+, MAXINE and 3MIN
interrupt-(enable,handle) can converge.
1995-05-12 23:27:23 +00:00
mellon
214234c937 Fix MAXine interrupt mask routine 1995-05-05 06:48:14 +00:00
cgd
8703076975 define BROKEN_SWAP and/or cpu_swapout as appropriate. 1995-05-05 03:41:51 +00:00
mellon
3ff601e7a1 Don't conditionalize utility routines based on DEBUG flag 1995-05-05 02:45:31 +00:00
jonathan
03c9dc7a48 Fix long-standing bug in NetBSD/pmax interrupt initalization on
Turbochannel machines with an IOASIC.

After an interrupt is taken, the IOASIC interrupt enable mask is
and'ed with the kernel's interrupt-mask variable.  This masks
off any interrupts that were enabled after the hardware interrupt-enable
mask was set. Due to this bug all iynterrupts must be enabled before
the first interrupt is taken. (Interrupts enabled later aren't on in the
ioasic intr-mask  register, so they aren't on in (sirm & kernelmask),
which is what used to get written back to the ioasic interrupt-mask
register.  	Fixed, and tested on  on 3MAX+ but not xine/3min.

If this patch perchance breaks on Xines or 3mins, the old code can be
re-enabled by changing the #if 0 in machdep.c to #if 1.
1995-05-04 19:48:41 +00:00
mellon
c6a24163a3 Use Alpha cdefs.h 1995-05-03 06:04:54 +00:00
jonathan
64b99b333d The pmax 3100 interrupt-init code is broken: cpu_startup() enables
interrupts before it calls configure().  On 3100s, this can result in
the ethernet interface interrupting before leprobe() is ever called.
Be a bit more defensive in leintr(), where it was dereferencing a null
pointer.  This reputedly fixes the oft-reported problems of 3100s not
ooting unless they're on an idle net or had a hard reset done before boot.
(Reworking the config code completely would be nice too.)
1995-05-02 20:00:09 +00:00
jonathan
be2c7f3d13 If we panic inside trap(), Do a stack traceback before printing the trap log.
Also change the stack-traceback code to avoid having multiple returns
(and thus multiple stack pops) because with gcc -O2 that breaks the
heuristic that a "jr ra" preceding the PC precedes code to push the
current stack frame.  Which breaks stacktrace() before it even
traces past itself :-(.  Use a goto instead.
1995-05-02 19:51:52 +00:00
mellon
edab8dc1d9 Oops, took out a bit too much 1995-05-01 17:35:45 +00:00
mellon
7bada980a5 Oops. Undo some console code checkins that didn't belong. 1995-05-01 17:22:20 +00:00
cgd
4d059559f7 resurrect, and move files.pmax.newconf to new location. 1995-04-30 10:11:00 +00:00
jonathan
fb9f07db36 Update MIPS stack backtrace code to trace through locore functions,
traps, and interrupts  The earlier (4.4bsd) code didn't do the first two, and
got the last one wrong.  Also print some functions (e.g., trap handlers)
by name.  Add hook to use something other than printf() as the output
function, e.g,. for kernel debugging.
Tested with the `native' toolset, but not ELF format kernels.
(i.e., unwinding the $GP register is not tested.)

The stack backtrace code that interprets and unwinds stackframes is still
opaque and stylistically awkward.
1995-04-29 21:10:31 +00:00
jonathan
f54398dae4 Add prototype (new-style) config for pmax. This doesn't yet work;
auto-configuration initialization code is missing. It uses "needs-count"
flags to come slightly close to what the old-style pmax source expects.
Perhaps autoconfig code can be lifted from the alpha port or volunteers
found to write some.
1995-04-28 23:34:39 +00:00
jonathan
b2c7420e5a Fix performance bug in pmax MachFlushDCache(). Old code disabled icache
and wasn't unrolled. This code runs cached and unrolled, giving an order
of magnitude improvement in some cases (e.g., DMA-capable network devices).
In use at Stanford DSG since late January 1995.
1995-04-28 23:17:51 +00:00
jonathan
026a077a5d Check in source code actually containing changes in previous log message--
fixes to turbochannel-based DECstation interrupt enabling.
(I hate network firewalls that break rsh and remote CVS.)
1995-04-28 22:50:29 +00:00
jonathan
523e8bccbc Fix hardware interrupt-mask setup in the 5k/240 (3max)+ interrupt handler.
(A similar fix needs to be applied to the 3min and xine handlers.
This fixes a long-standing problem when booting with a card that
wants to interrupt (e.g., a network interface) would have interrupts
enabled before a handler was set up.

Add interrupt-counting code to model-independent interrupt handler,
and 3max (5k/200) and 3max+ (5k/240) md handlers, for vmstat -i.
Similar changes for 3min and xine are obvious but not done.

Add  code for 5k/240 to read, and latch, the current value of the
IOASIC bus-cycle counter at each timer interrupt.  The latched
counter is needed to accurately interpolate the bus-cycle counter value
as a high-resolution clock.
1995-04-28 21:48:11 +00:00
cgd
0e59975fac rename files files for new config/config.old naming 1995-04-28 08:19:12 +00:00
jonathan
07992ead4b Add memory-mapped address of the IO ASIC TurboChannel bus-cycle counter,
as present on 5k/2xx and Alpha IOASICs. Older machines may or may not
have the hardware counter. To be used as a high-resolution DECstation clock.
1995-04-28 04:44:21 +00:00
jonathan
ef8023a47b Check in changes suggested by Ralph Campbell: update variable names
to use turbochannel slot numbers, add a couple of extra slots, just
in case.
1995-04-28 03:10:41 +00:00
mellon
59f33bea48 Add sfb device driver 1995-04-27 20:52:39 +00:00
mellon
1992309f8b Fix a few compat code casualties 1995-04-25 19:16:43 +00:00
mellon
3eca8117f7 Fix up args to scdebug_{call,ret} 1995-04-25 05:30:14 +00:00
christos
de42a28a1b - added sunos_machdep.c for sun3, atari, amiga and mac68k.
- changed machdep.c and trap.c to use struct emul.
- remove ep_setup references.
- added struct emul to all emulations.
1995-04-22 20:24:40 +00:00
mellon
71d223dc04 Add dummy fb device driver reference for compatibility with conf.c changes 1995-04-21 23:58:36 +00:00
mellon
acc8d94430 Oops, still need to set waittime... 1995-04-21 23:04:32 +00:00
mellon
88603eca8f Use vfs_shutdown to sync disks... 1995-04-21 22:16:01 +00:00
mellon
92509d125f Add support for clean flag 1995-04-21 20:54:04 +00:00
mellon
6a233c363c Fix up tty struct change from conf.h 1995-04-21 01:24:26 +00:00
mellon
07a0117e2a Fix up tty struct changes 1995-04-21 01:21:06 +00:00
mellon
8da89a0fc3 Fix leioctl declaration mismatch 1995-04-19 18:06:03 +00:00
mycroft
7945dde65c leinit() returns void. Prototype more functions. Garbage collect some things
in leattach().
1995-04-19 16:23:11 +00:00
cgd
3ff27e09e2 fixes (mostly) from Jonathan Stone, to make this driver match the
state of the world as expected by the networking headers/mi code.
i changed one or two things in his patch slightly (do the lestart()
proto the right way, actually delete the if_output assignment line).
1995-04-19 06:56:21 +00:00
mellon
db8fd32d53 Add cpu_exec.c, rcons.c 1995-04-12 20:08:40 +00:00
mellon
a3c29d62df Use _KERNEL, not KERNEL 1995-04-12 01:55:35 +00:00
mellon
30bad269b8 Fix bogus declaration for mm and chrtoblktbl 1995-04-12 00:01:01 +00:00
jtc
32a6db8a76 Mips specific portions of ieeefp.h (fp_rnd, fp_except, constants, etc.). 1995-04-11 18:20:46 +00:00
jtc
600a989fb6 Changed FLT_ROUNDS from constant to a call to __flt_rounds(), so that the
current rounding mode is accurately reported.
1995-04-11 18:18:35 +00:00
mellon
7baeefcfb5 Make TOCCATA support the new console regime 1995-04-11 10:52:33 +00:00
mellon
ef6295229a Raster Console pseudo-device driver 1995-04-11 10:23:32 +00:00
mellon
4b8e4e1a20 Smart Framebuffer driver 1995-04-11 10:21:51 +00:00
mellon
10ed38a4df Add rcons pseudo-device 1995-04-11 10:14:52 +00:00
mellon
94f146ad0f Console initialization code 1995-04-11 10:08:42 +00:00
mycroft
fecbe784d6 Oops; finish that last change. 1995-04-10 12:45:53 +00:00
mycroft
22cefc03bc Bring back pmap_kernel(), for now always inlined as a pointer to
kernel_pmap_store.
1995-04-10 12:41:29 +00:00
mycroft
127e0761c9 Add mmopen(), mmclose(), and mmmmap() where appropriate. Lock vmmap when
needed.  Make types consistent.
1995-04-10 11:54:47 +00:00
mycroft
9da61beca9 map --> mmap 1995-04-10 07:31:22 +00:00
mycroft
7ccad2faec Update for conf.h. 1995-04-10 07:29:42 +00:00
mycroft
9e5184dfec Add dummy cnstop(), more return types. 1995-04-10 07:14:33 +00:00
mellon
404e6bc5c9 Put endif COMPAT_09 inside function definition 1995-04-10 04:47:47 +00:00
mellon
23023327a2 Move cpu-specific exec support to cpu_exec.c; Support 4.4BSD a.out 1995-04-03 04:38:04 +00:00
jtc
8ba211cde0 Added #define _KERNEL 1995-03-28 18:37:27 +00:00
jtc
71ab4ed9dc KERNEL -> _KERNEL 1995-03-28 18:13:48 +00:00
cgd
fa2133533d invoke ktrsyscall with (vp, code, argsize, args) as args. 1995-03-26 08:03:29 +00:00
jtc
f86410093b Changed name of __weak_reference() to __indr_reference(). They really
are indirect references, and I want to add a real __weak_reference()
macro to <machine/cdefs.h> soon.
1995-03-23 19:58:48 +00:00
jtc
d57fb977bb Added -D_KERNEL to CFLAGS alongside each -DKERNEL. 1995-03-23 19:46:18 +00:00
cgd
b8403d582b don't be so quick to cast macro arguments to unsigned; if the
arguments are really off_t's (e.g. to btodb), then you can lose
information.  This was the "> 4G file systems don't work" bug; physio
uses btodb, which was broken.
1995-03-18 07:22:43 +00:00
mycroft
2f805fa51b copy*str() should use size_t. 1995-03-09 12:05:21 +00:00
mycroft
4c34be6b52 Clean up deleted files. 1995-03-01 00:00:00 +00:00
mellon
2368e7c469 Added DECwrl networking TC options 1995-02-01 04:53:13 +00:00
mellon
ca69d7e138 Add Jonathan's T3 device driver... 1995-02-01 04:49:40 +00:00
mellon
d1d5ee421f Fix up callv references 1995-02-01 04:43:52 +00:00
jtc
830a53e394 ANSI says that <stdarg.h>'s va_end macro must expand to a void expression.
For consistancy, I'm changing <varargs.h> too.
1995-01-28 01:51:46 +00:00
cgd
2ef4ca1f3d vn -> vnd renaming, for consistency 1995-01-25 04:48:07 +00:00
mellon
f3933f8a6a Undo argument change to cnopen 1995-01-23 18:39:30 +00:00
jtc
9540190d45 This file, which will be included by <sys/cdefs.h>, will contain macros
such as __warn_references() and __weak_reference() which are actually
machine dependant.  This will make it easier for ports that are being
bootstraped with ELF and ECOFF based toolchains.

This change also introduces a new macro, _C_LABEL(x).  _C_LABEL expands
its argument, an identifier, to a character string of the identifier
name as it is represented in an object file.

For most ports, _C_LABEL(x) will expand to "_x", for ELF based ports
_C_LABEL(x) will expand to "x".
1995-01-19 01:38:36 +00:00
mellon
ca985c53b6 Many changes from Jonathan Stone and a few from me to make small boot blocks and handle NetBSD a.out 1995-01-18 06:53:36 +00:00
mellon
8f24f1259a Write out new-style core files 1995-01-18 06:52:46 +00:00
mellon
9e9d8e5a78 Ultrix pcb_regs compatibility, reorder interrupt handlers (probably futile), use new callv naming 1995-01-18 06:51:46 +00:00
mellon
07fcdf4578 Add partial sfb support, ELF and 4.4BSD a.out support, Ultrix-compatible pcb_regs, fix sigcontext, probably more 1995-01-18 06:49:12 +00:00
mellon
13301513c1 Add conditional gp support; add interrupt disable before setting or clearing soft ints 1995-01-18 06:45:29 +00:00
mellon
2c8e2a0818 Update clock initialization/updating for interoperability with Ultrix (still some problems with this, though 1995-01-18 06:43:47 +00:00
mellon
834d6abd93 Add definition for tc_enable_interrupt for future reference 1995-01-18 06:42:56 +00:00
mellon
4e0b8e9b63 break mullo and mulhi out of gp regs in sigcontext 1995-01-18 06:42:01 +00:00
mellon
14f5639dca Make register definitions compatible with Ultrix 1995-01-18 06:40:12 +00:00
mellon
09f6d5d141 Make pcb_regs structure compatible with Ultrix 1995-01-18 06:39:43 +00:00
mellon
faf867c2b2 Support for alternate compilers and file formats 1995-01-18 06:38:57 +00:00
mellon
b9a71d25d2 Add NUMBOOT for benefit of disklabel program 1995-01-18 06:37:55 +00:00
mellon
714099f07a Add arch/pmax/pmax/elf.c as a standard file 1995-01-18 06:37:01 +00:00
mellon
6919eac432 Make it easier to use different compilers (we hope) 1995-01-18 06:36:13 +00:00
mycroft
40073dc687 Clean up deleted files. 1995-01-18 06:19:31 +00:00
mellon
c19690fb69 Start code for boot loader (under new name with some changes) 1995-01-18 06:19:01 +00:00
mellon
2dd8487ae4 Support for loading ELF on NetBSD/pmax - to be combined with elf loader under sys/compat later 1995-01-18 06:16:33 +00:00
mellon
3a011804a6 ELF format (to be combined with elf header in sys/compat later) 1995-01-18 06:15:38 +00:00
mellon
20a4f723d7 4.4BSD binary format 1995-01-18 06:14:58 +00:00
mellon
355685bb12 Configuration for a MAXine 1995-01-18 06:14:27 +00:00
jtc
d7a8b2964f Only define sig_atomic_t when _ANSI_SOURCE is defined. 1995-01-10 19:01:00 +00:00
hpeyerl
45a2b7262c Change majour for rz to 21. (From Jonathan Stone) 1995-01-03 22:42:03 +00:00
hpeyerl
f2c558b59b microtime() returns void. 1995-01-03 22:37:41 +00:00
cgd
e5049f4d59 make the definition of _JBLEN mach. dep. header-dependent. 1994-12-20 10:36:27 +00:00
mycroft
a42208fd05 More underscores... 1994-12-15 17:48:39 +00:00
mycroft
c32023e792 More underscores... 1994-12-15 17:02:08 +00:00
mycroft
487dab2ff9 Make a new macro _C_LABEL(), which prepends an underscore to the argument unless
NO_UNDERSCORES is defined.  Use it in the *LEAF() and END() macros.
1994-12-15 15:26:26 +00:00
mycroft
db904fa0d4 Remove underscores from uses of *LEAF() and END(). Use _C_LABEL() in explicit
symbol references.
1994-12-15 15:18:29 +00:00
mycroft
d42a8b725e Remove extra arg to d_open. 1994-12-14 19:10:08 +00:00
dean
c0b7039208 removed ifdef XXX 1994-12-12 19:34:59 +00:00
dean
ec60b72f58 Put Ultrix disklabel compatability back in. 1994-12-08 18:33:19 +00:00
dean
a056ea67c9 get disk and block size when opening device rather than probe time
(From Ralph Campbell)
1994-12-05 19:11:59 +00:00
dean
50c5dd6f0d fix problem with disconnects (Ralph Campbell) 1994-12-05 19:11:12 +00:00
dean
ba0ac0e803 added missing #ifdef DEBUG 1994-12-01 16:41:05 +00:00
dean
fcf0991366 new asc.c from Ralph Campbell 1994-11-28 19:05:54 +00:00
dean
2a5cfe5b41 fix from Jonathan Stone 1994-11-28 18:45:39 +00:00
dean
1e9a7e3573 some fixes and Ultrix compat stuff from Jonathan Stone. 1994-11-28 18:42:21 +00:00
dean
363152617f Ultrix compat stuff from Jonathan Stone. 1994-11-28 18:41:31 +00:00
dean
5b1da4bc9b Removed fp.S 1994-11-28 16:28:20 +00:00
dean
15cf365b55 more patches from Jonathan Stone 1994-11-24 17:50:49 +00:00
dean
b123b45ce0 changed fp.s to fp.S 1994-11-23 23:06:43 +00:00
dean
fc16452217 Ultrix compatable device numbers (from Jonathan Stone) 1994-11-23 22:33:46 +00:00
dean
e5d5a6cf17 thread_wakeup wants (void *) not (int) 1994-11-23 20:46:20 +00:00