Commit Graph

529 Commits

Author SHA1 Message Date
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