Commit Graph

1035 Commits

Author SHA1 Message Date
thorpej 2671c2fa42 Make bus_dmamap_load_uio() work, from Kevin Lahey <kml@nas.nasa.gov>. 1998-09-21 22:51:56 +00:00
jonathan 008816ea4f Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>.
Adds (most) support for ARC platform to port-independent mips code.

Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by
comparison to the OpenBSD 2.1 codebase of Soda's ARC port.

Open issues:
 * Still no support for r4600 or mipsIV CPUs with two-way L1 cache.
   Code derived from Per Fogelstrom's OpenBSD source  doesn't work
   on mips3 pmaxes with L2 cache.

 * Still some port-specific  #ifdefs, for interrupt enable and
   pmax L2 cache-size.  Needs more thought, but overlaps with
   work-in-progress by Tohru and Tsubai on spl()s and related stuff.
1998-09-11 16:46:31 +00:00
nisimura 97acdd4415 A minor error. kn5800, a MIPS SMP machine, was codenamed "ISIS." 1998-09-11 00:06:12 +00:00
nisimura d6afdbc88b Complete to fix errors introduced by HX screen dimension detection. 1998-09-10 10:00:39 +00:00
mhitch 2c412f42bb scc_softCAR is a bit array, so set it accordingly for a serial console
port (instead of using the scc line number).
1998-09-07 19:54:15 +00:00
mhitch a91d61bced Can't use fi->fi_base to access the resolution registers: it hasn't been
initialized yet.  Use the base variable, and also use the symbolic symbols
to acdess the registers.  Also, the console max_rows is based on the
display height, not the width.
1998-09-07 19:52:49 +00:00
lukem c9db84ecc9 distclean is a synonym for cleandir 1998-09-05 15:15:14 +00:00
nisimura a3d9c9bd87 - Clearify what ioasic_init() is for. No runtime difference because
NetBSD/pmax does not fully utilize the hardware features.
1998-09-05 05:54:15 +00:00
nisimura 368fcbd069 - Remove lines make not effects from mainbus.c
- Remove direct device driver calls from dec_3100.c. Close PR#5522.
1998-09-05 04:11:04 +00:00
nisimura ff9b85d338 cdevsw[] and chrtoblktbl[] arrays were not in sync. Add missing the
two entries in chrtoblktbl[] as pointed out by Greg Oster PR#5715.
1998-09-03 07:12:43 +00:00
nisimura 78aedb2cd3 - kernel boot flag 'd' now means "enter DDB asap" like as other ports.
- bump cpu_model[] length as the longest name occupies over 30 characters.
- place machine_arch[] beside machine[] for clearity.
- nuke useless #include directives.
- small scale cleanup in vm_machdep.c
1998-09-02 06:41:22 +00:00
mrg 08528c6bd2 remove unnecessary "extern int ncpus" (was also causing egcs warning) 1998-08-29 16:24:25 +00:00
mrg 892ab683dc minor minor KNF nit. 1998-08-29 16:24:03 +00:00
mrg 06a7946b7d register -> int or nothing & egcs warnings cleanup. 1998-08-29 16:21:20 +00:00
mrg ac9132322e minor minor KNF nit. 1998-08-29 16:16:37 +00:00
mrg af81b233e1 remove unnecessary "extern int tickadj" (was also causing egcs warning) 1998-08-29 16:15:53 +00:00
mrg 6b1d637705 add "int" type to interrupt handler typedefs (egcs warning) 1998-08-29 16:15:11 +00:00
mrg 3d26a04acb add "int" type to static tzops array (egcs warning) 1998-08-29 16:14:15 +00:00
nisimura e37ce1c5b6 Make spl(9) rountines target port dependent. delay() is also port
dependent anticipating a target with high resolution timer available
for on-the-fly re-programming.  Enum decstation_t was removed from MI
trap.c.
1998-08-25 01:55:38 +00:00
jonathan 71c8693225 Add missing "-a" to mkdep line for pmax locore_machdep.S.
From Noriyuki Soda.
1998-08-04 20:17:09 +00:00
simonb 8ed2fad5f9 Add missing trailing $ to $NetBSD$ line (PR #5530). 1998-07-26 09:47:22 +00:00
simonb b454e7c097 Add mainbus0 and cpu definitions, remove extra DS_5100 option. 1998-07-26 09:45:25 +00:00
drochner 49bb9d8214 adapt to LANCE driver split 1998-07-21 17:36:01 +00:00
thorpej 2fc1260cc0 Implement bus_dmamap_load_uio(). 1998-07-17 21:09:59 +00:00
jonathan e2ff73afa7 Compute SFB pixel dimensions at attach time for PMAGB-BB users.
(qvss-compat needs revision, but should be replaced with wscons anyway.)
1998-07-12 06:26:37 +00:00
thorpej d47ea67c1f Define one page free list, and put all pages on it. 1998-07-08 04:43:18 +00:00
jonathan 466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
mhitch bb85c60cdc Add "mainbus0" and "cpu*" entries that used to be in std.pmax. GENERIC
should now 'config' without errors.
1998-07-03 20:06:09 +00:00
lukem bd8d501f7e remove options FIFO; it's now the default 1998-06-26 01:53:43 +00:00
thorpej 21592147a1 defopt COMPAT_ULTRIX 1998-06-25 23:27:56 +00:00
jonathan df7a377771 Correct the ioasic interrupt symbol definitions for MAXINE ISDN. 1998-06-22 11:57:47 +00:00
jonathan 4f688e084b * Garbage-collect ancient 4.4bsd model-specific aliases for
ioctl asic  interrupt masks.
* include sys/dev/tc/ioasicreg.h, not  pmax asic.h (as prep for merge).
1998-06-22 09:37:40 +00:00
jonathan 5d58262d89 * Update pmax db_init() to match db_aout.c rev 1.19 (tv's Shark changes).
Add headers to get prototype of db_init().
* Copy i386 logic for  entering  Debugger() if  RB_KDB set on entry.
1998-06-19 22:44:48 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
thorpej 0b25bb43b3 Adjust bus_dmamap_sync() for the R4000; in that case, use the stashed
virtual address for the segment, rather than the physical address, and
adjust the cache call appropriately.
1998-06-03 05:10:23 +00:00
thorpej 63be85fc62 Fill in the virtual address of each DMA segment as we load the map. 1998-06-03 04:41:30 +00:00
thorpej 691e8af708 Add a "virtual address" private member to the pmax bus_dma_segment_t, for
use in R4000 cache flush operations in bus_dmamap_sync().
1998-06-03 04:38:41 +00:00
thorpej 47724b2eb9 Sync w/ i386 port. 1998-06-03 04:33:28 +00:00
thorpej c13f81fd52 Correct some comments. 1998-06-01 19:33:59 +00:00
thorpej a7f360c6c9 Specify a non-profiling C rule. 1998-05-31 23:25:41 +00:00
matt 5c082547cd Add fat since it now works. 1998-05-28 00:57:55 +00:00
thorpej e208d8972b Ouch, key debugging printfs off BUS_DMA_DEBUG, not DEBUG ... noisy! 1998-05-27 03:57:49 +00:00
matt 3dc4f22908 A few fixes to make it really work. 1998-05-27 01:16:47 +00:00
thorpej 4631dca956 Rewrite at least the R{2,3}000 case for bus_dmamap_sync(), in hopes of
making performance of bus_dma drivers not completely suck on the DECstation.

XXX R4000 case is still abysmal, because some other data structure
modification is required to deal with the virtually-indexed R4000 cache.
1998-05-26 18:21:10 +00:00
matt 7a1e3fe2ea Allow serial consoles *without* any graphics devices. 1998-05-23 18:21:43 +00:00
thorpej c8092e5d3b Provide bus_space and bus_dma data structures to the TurboChannel bus. 1998-05-22 21:14:40 +00:00
thorpej 7a9c58e1b1 Complete from-scratch rewrite of the DECstation bus.h, brining it
up-to-date with the current API, and implementing preliminary
support for bus_dma.
1998-05-22 21:14:04 +00:00
drochner bd9ed5a6fd STANDALONE->_STANDALONE (cpp definition)
closes PR kern/5481 (Erik Bertelsen <erik@q610.ebe.uni-c.dk>)
1998-05-22 12:56:35 +00:00
thorpej aaf43a156e Make this build for a 3MAX-only kernel. 1998-05-21 17:41:29 +00:00
simonb 76e48472e6 Include pmax/pmax/pmaxtype.h for definition of DS_PMAX 1998-05-19 04:31:27 +00:00
simonb 469658d533 - Allow all valid SCSI id's to work on the SII and first two ASC
controllers (including SCSI id 7 on the 2100/3100).
- On the pmax (2100,3100) set the host SCSI id to 6.
- Move disk and tape config for the second ASC controller from the GENERIC
  config file to scsi.pmax so all configurations can use the second
  controller.
1998-05-08 00:05:19 +00:00
thorpej 1686aca01d Pull in opt_gateway.h as appropriate. 1998-04-29 23:11:00 +00:00
simonb 8afb70fa32 Pull in declaration for the variable "cold" in dec_5100_memintr(). 1998-04-27 06:10:32 +00:00
jonathan cb015e952e Resync 3max (kn02) support. 1998-04-25 16:29:06 +00:00
jonathan 6c0abe64fc defopt NTP and PPS_SYNC, in preparation for adding PPS support. 1998-04-22 07:08:11 +00:00
jonathan bd51370674 Fix indexing bug in bt459 colourmap update.
Causes symptoms in PR# port-pmax/4174.
1998-04-20 05:24:17 +00:00
jonathan bdf3cb0884 * Fix typo in ROM name of mfb (PMAG-AA)
* Use TC_ROM_LLEN instead of constant, add space for sentinel.
* Don't print fb dimensions at console-probe time.
1998-04-20 02:46:59 +00:00
jonathan fc2608c7a2 Define TC_KV(), TC_C() here for benefit of model-specific TCbus initializers. 1998-04-19 11:16:18 +00:00
jonathan bab2163883 Remove kn01var.h. Superseded by ibus. 1998-04-19 10:57:23 +00:00
jonathan cf6765a49c Attach ibus to mainbus.
Commit updated dec_3100.c with  interrupt-enable code for ibus.
1998-04-19 10:54:54 +00:00
jonathan 1a283ae18b Use new ibus attach args. 1998-04-19 10:47:06 +00:00
jonathan 6525db3fdb Update dc_ds.c to use new ibus attach args.
Garbage collect obsolete front-end from dc.c backend.
Partially clean up console init code.
1998-04-19 10:44:41 +00:00
jonathan 1116cb8578 Cleanup comment typos. 1998-04-19 10:22:45 +00:00
jonathan c7597ae8b8 Rework, based loosely on suggestions from Tohru Nisimura.. 1998-04-19 10:18:20 +00:00
jonathan 02e88fb06e ibus devices and 5100 attachment. 1998-04-19 08:47:54 +00:00
jonathan 539856584c Garbage collect obsolete motherboard options from non-GENERIC kernels.
Add "ibus" to configs with  3100 support.
1998-04-19 08:46:50 +00:00
jonathan d47bc69126 Rework pmax kernel config:
* ibus (virtual bus for baseboard direct-attach deviecs)
 * 5100 support, using ibus
 * rename "clock" to mcclock for future support of Qbus machiens
 * use sys/dev/dec mcclock_pad32 machinery for pmax mcclock
 * reworked TC config code.
1998-04-19 08:39:42 +00:00
jonathan 59125ec0c9 Define delay() for pmax asc driver, mips_mcclock. 1998-04-19 08:22:22 +00:00
jonathan 85e00b2364 Add -D__pmax__. Leave -Dpmax until all uses changed to __pmax__. 1998-04-19 08:01:01 +00:00
jonathan 9caaf18836 Rework pmax turbochannel config, as suggested by Jason Thorpe.
Also make TC framebuffer-console search table-driven.

Does not yet include "tcasic" layer; there's no such hardware on DECstations
and nothing for a tcasic layer to do.
1998-04-19 07:59:13 +00:00
jonathan e487483678 oops, diffs to use dev/dec/mcclock_pad32 were in a different tree. Fix. 1998-04-19 07:54:45 +00:00
jonathan c84f4e94d9 Copy alpha/tc/mcclock_ioasic.c (duplicated in pmax/tc/mcclock_ioasic.c)
into sys/dev/dec and split into a clockfns layer and a "middle" layer
for other DEC systems which use mcclocks with each onchip byte
register padded out to a 32-bit word.

Clone alpha/alpha/mcclock (also duplicated in pmax port) into
sys/dev/dec, and ifdef for default clockrates on pmax and alpha.

Use new machinery on pmax for ibus,ioasic attached mcclocks.
1998-04-19 07:50:25 +00:00
jonathan 9873ee237f Add dependencies on Makefile for SYSVSHM, SYSVIPC options. 1998-04-19 04:51:18 +00:00
jonathan d4a24f85d6 Support shared Decstation 3100 and Decsystem 5100 baseboard devices
using a virtual "ibus" for  baseboard devices.
1998-04-19 02:52:45 +00:00
jonathan 53c671e26c Add locore assembler functions to read mips3 cycle counter, and
read and write compare register (controls cycle-driven periodic interrupt).

Use cycle counter for microsecond time on mips3, but for now only on
3min motherboards (5000/150).  the MAXINE baseboard microsecond
counter is more stable and I don't ave no 5000/260 to test.

XXX clkread() is a mess, it should be rewritten.
XXX should add nanotime() to give inkernel nanosecond resolution,
    and then microtime() reworked to use nanotime().
1998-04-19 01:48:34 +00:00
jonathan 4ea6444493 Decsystem 5100 (aka mipsmate aka kn230) support:
* dec_5100.c: sysconf, interrupt, and  motherboard (drain writebuffer)
   support for 5100.
 * support for hardware kludge in 5100: sii DMA buffer is hardware
   padded to alternate 32-bit words, not alternating 16-bit  halfwords.
 * 5100 has no framebuffer, console is wired to serial port 0.

With ibus support, boots as far as exec'ing init, and hangs.
1998-04-19 01:27:02 +00:00
tv b21bfbde11 Add -Wno-main conditional on compiler being gcc 2.8 or egcs. (This adds
a HAVE_GCC28 check-variable that can now be used to add other gcc-2.8
flags in cases where they may be useful, or to remove gcc 2.7.2 "bug
workaround" flags.)
1998-04-12 23:47:41 +00:00
jonathan d850158a7e Garbage-collect pmax_boardtype. Remoe pmaxtype.h includes from TC
framebuffer code. Elsewhere, use systype.
1998-03-31 11:32:52 +00:00
jonathan e485e43d44 Add writebuffer-flush for Decstation 5400, 5100 which use
coprocessor 3 for writebuffer control.
1998-03-31 11:04:10 +00:00
jonathan 88d943c976 Add emtpy entries for unused systypes between 5400 (0x6) and 5500 (0xb) 1998-03-31 11:00:01 +00:00
mhitch 57f61ecbbd Modify TK50 check to also check for a TZ30 tape, and adjust the modesense
data length accordingly.
1998-03-30 19:50:47 +00:00
jonathan ba4e7c74a9 Remove ancient non-MI pmax/tc/tc.c code. 1998-03-30 10:41:34 +00:00
jonathan 2f23758d46 garbage-collect "extern int systype" 1998-03-30 09:52:11 +00:00
jonathan 9d3e5cca36 garbage-collect old integrated frontend from sii backend. 1998-03-30 09:47:51 +00:00
jonathan 05bfc158d1 Undo previous rev; systype is declared extern in pmaxtype.h (while it lasts). 1998-03-30 09:44:03 +00:00
jonathan fff42c01c8 Define IPL_ constants for pmax. 1998-03-30 09:07:08 +00:00
jonathan 920f9e8dc9 Declarations for shared 3max(kn02)/3maxplus(kn03/kn05) memory
subsystem and NVRAM code.
1998-03-30 09:02:03 +00:00
jonathan e7e94824b9 Move sprintf() of model string after call to model-specific *_os_init()
routine, so that cpu_mhz is set.
1998-03-30 06:45:37 +00:00
mrg ca86fc945e <pmax/pmax/trap.h> has been obsoleted... 1998-03-30 04:45:50 +00:00
jonathan b800227f95 Garbage-collect old code for direct attachment. 1998-03-30 02:34:25 +00:00
jonathan e7312dce1d * Mouse reset blocks waiting for response for mouse.
Only initialize the mouse if we are using rcons as the console device.
1998-03-30 02:15:37 +00:00
jonathan 0e0d7a04aa Split 3max (kn02) and 3maxplus (kn03, kn05) memory-error handling out
dec_3max.c into a shared file. These models have compatible memory
subsystems, the same memory slots, and (apparently) the same error reporting.

Add markers for where MNN probes for configurations with a mixture of
RAM sizes and for Prestoserve NVRAM (in normal RAM slots) should go.
1998-03-29 01:12:14 +00:00
jonathan 6b2d0fa8a0 * Create /sys/arch/mips/include/intr.h, with extern declaration of
interrupt-callout vector from mips locore dispatch code to port code.
* Move branch-emulation declaration to mips/include/trap.h.
* Garbage-collect pmax/pmax/trap.h.
  Not needed now pmax/pmax_trap.c is gone, and after above tidy-up.
1998-03-26 12:46:33 +00:00
jonathan 01be9f533f Add extern declaration of old "systype" global variable holding model type,
until all pmax code uses platform support.
1998-03-26 11:44:28 +00:00
jonathan 4d3f17a9f7 Garbage-collect oldstyle model-select options from GENERIC. 1998-03-26 11:35:42 +00:00
thorpej dd3d062237 Delete a couple of gratuitous printfs. 1998-03-26 06:36:36 +00:00
thorpej 8a86fd47be It's Just Wrong to configure a KN02 system slot as an IOCTL ASIC, but
since it's currently done that way, nuke the gratuitous printf that
reports the behavior.
1998-03-26 06:35:27 +00:00
thorpej 38d5126caf Set cpu_model in the dec_foo_init() functions, make them consistent and
descriptive, and print the model before reporting physical memory size.
1998-03-26 06:32:37 +00:00
thorpej b6fca1a9c8 The line between "family" and "model" are ... very fuzzy on the DECstation.
So, don't bother.
1998-03-26 06:27:57 +00:00
thorpej d654444e88 Right now all platforms use the tc_slot_info[] stuff, so put it in a place
where everyone can get at it.
1998-03-26 03:12:05 +00:00