Commit Graph

614 Commits

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