Commit Graph

759 Commits

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

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

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

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

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

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

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

The loop preserved the value of the first location, but not the second,
resulting in the second test value ('ZZZZ') over-writing a word in msgbuf.
1996-06-23 21:08:54 +00:00
jonathan
2311fa5f31 Fix typo, colon instead of semicolon when DS_5000_25 is not defined. 1996-06-17 07:59:39 +00:00
jonathan
b212f1b0c1 Move cpu_singlestep outside of #ifdef DEBUG/#endif; the process-tracing code
in  mips/mips/process_machdep.c (erroneously) calls cpu_singlestep().
1996-06-17 07:55:13 +00:00
jonathan
26626be148 Before calling a signal handler, set $t9 to the user-level signal
handler address.  May be needed by sysv ABI for shared libs.
1996-06-17 06:36:34 +00:00
mhitch
cd2de87a62 Fix cpu configuration display - extraneous "\n" was printed. 1996-06-16 17:05:33 +00:00
mhitch
d5cb319823 Fix to compile if DS3100 is not defined when building without DS3100 support. 1996-06-16 17:03:18 +00:00
mhitch
dbd6d91a1f Fix to compile if DS3100 is not defined when building without DS3100 support.
Now that autoconf parameter passing is cleaned up, configure the cpu.
1996-06-16 17:01:46 +00:00
mhitch
2c4f6b4b82 Don't modify rz_softc[] entries beyond what was configured.
Show proper inquiry data when version >= 1, not <= 1 (SCSI-2 devices
now display their inquiry infor).
Correct transfer length passed to dk_unbusy (b_resid hasn't been
updated yet).
1996-06-16 16:57:31 +00:00
mhitch
40c440b66e Do tty_attach() for serial lines and MAXINE console. 1996-06-16 16:50:56 +00:00
mhitch
56a2e98b80 Do tty_attach() for serial lines. 1996-06-16 16:49:07 +00:00
jonathan
d56e7d7f50 Fix for PR #1828 and partial fix for PR #2548:
* Eliminate the #ifdef DS5000 and kernel config option DS5000 altogether.
  option DS5000 was a hangover from 4.4bsd/pmax; it's never been clear
  if it means "support for DS5000/200" or "support for any TC machine".
  This implictly fixes pr 1828.

* Use the  "tc.h" and NTC generated by config for a "tc? at mainbus"
  where appropriate, intsead of #ifdef DS5000.


* Canonicalize the spelling of kernel options that enable support
  for particular models. Use
	DS5000_25	for the Personal Decstation aka MAXINE aka KN02-ca
	DS5000_100	for the 5000/1xx series aka KMIN aka KN02-ba
	DS5000_200	for the 5000/200 aka 3MAX aka KN02
	DS500_240	for the 5000/240 aka 3MAXPLUS aka KN03

and change  DS_5000_xxx to DS5000_xxx everywhere.

* Wrap the  interrupt handlers for each model in the appropriate #ifdef,
  instead of wrapping all of them with "#ifdef DS5000".

* Wrap the TC autoconfig for each model in the appropriate #ifdef.
1996-06-15 19:05:24 +00:00
jonathan
6f359b538f Fix for PR #1828 and partial fix for PR #2548:
* Eliminate the #ifdef DS5000 and kernel config option DS5000 altogether.
  option DS5000 was a hangover from 4.4bsd/pmax; it's never been clear
  if it means "support for DS5000/200" or "support for any TC machine".
  This implictly fixes pr 1828.

* Use the  "tc.h" and NTC generated by config for a "tc? at mainbus"
  where appropriate, intsead of #ifdef DS5000.


* Canonicalize the spelling of kernel options that enable support
  for particular models. Use
	DS5000_25	for the Personal Decstation aka MAXINE aka KN02-ca
	DS5000_100	for the 5000/1xx series aka KMIN aka KN02-ba
	DS5000_200	for the 5000/200 aka 3MAX aka KN02
	DS500_240	for the 5000/240 aka 3MAXPLUS aka KN03

and change  DS_5000_xxx to DS5000_xxx everywhere.

* Wrap the  interrupt handlers for each model in the appropriate #ifdef,
  instead of wrapping all of them with "#ifdef DS5000".
1996-06-15 08:57:52 +00:00
jonathan
78688c01fe Update kn01_intr() to allow configuration of the kn01 (ds3100) baseboard
lance device at any unit number, not just le0. Other unit numbers
(and interrupt handlers) are still hardcoded.
1996-06-15 07:11:20 +00:00
jonathan
465d53bd4d Fix sense of strcmp() comparison that broke dcmatch() on real ioctl asic hw. 1996-06-13 22:43:33 +00:00
jonathan
7adf57b6f5 Fix the reworked autoconfiguration to also boot on a 5000/200.
Check and avoid trying to configure (or dereference unknown arguments
to dcattach() and dcmatch() when called with busses the driver doesn't support.
1996-06-13 08:06:12 +00:00
mhitch
fe55416706 Fix autoconfiguration stuff to more closely match the alpha - primarily
the IOASIC attached devices.  The DS3100 will now configure properly.
Fix the DS5000/25 IOASIC table entry for the RTC so the RTC interrupts
get enabled.
Fix up a moved include file.
1996-05-29 06:29:02 +00:00
mhitch
d8824f1a84 Fix autoconfig stuff to more closely match the alpha. The DS3100 will now
configure properly.  Also fix devices with TurboChannel and mainbus
attachments so they will work if no TurboChannel was configured.
Fix clock.c for a missing variable if not including NTP support.
Also remove some extraneous includes files or use the right ones.
1996-05-29 06:25:01 +00:00
mhitch
038bd4a782 Fix autoconfig stuff to match the alpha. The DS3100 will now
configure properly.
1996-05-29 06:19:49 +00:00
mhitch
de1b9b4230 Fix autoconfiguration stuff to match the alpha. The DS3100 will now
configure properly.  Also fix devices with TurboChannel and mainbus
attachments so they will work if no TurboChannel was configured.
Fix a panic when the dtop keyboard handler receieves a character
before the device has been opened.
1996-05-29 06:15:40 +00:00
mhitch
9d8526a68d Use the MI LANCE drivers - the pmax-specific one no longer compiles. 1996-05-29 06:05:05 +00:00
mhitch
a2d094fb48 Fixes to make kernel compile: HZ is required to be defined and CPU_R3000
is needed to include R3000 support.  Also change the le0 to le* for the
3100 LANCE so it configures properly.
1996-05-29 06:01:13 +00:00
jonathan
b15951c1ee * Move the declarations of mips locore functions from the pmax tree
to the mips tree.
* Just include the mips locore.h into the pmax one.
1996-05-20 23:49:11 +00:00
jonathan
6f1e720b08 Change MachEmptyWriteBuffer() to wbflush().
Add missing "void" and "int" return types on functions.
Move boot() after dumpsys()/doadump(), so the latter don't need forward decls.
1996-05-20 23:27:27 +00:00
jonathan
7666d5b36b Check that either CPU_R3000 or CPU_R4000 is defined. Fix the r3k/r2k
symbolic lookup of the CPU-level specific locore entry points to use the
r2k, not the r4k, labels.

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

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

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

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

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

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

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

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

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

which should compile with -Wall.
1996-05-19 00:48:43 +00:00
jonathan
503d421a0a Add alternate "mips_r2000_<XXX>" entry points for the r2000/r3000-specific
locore functions.  The new names are used by C code to construct a jump-table,.
making it less infeasible to have a single kernel image work on both
r3000 and r4000 systems.
1996-05-19 00:25:14 +00:00
mycroft
540f9550c0 Make `make depend' work for libraries. 1996-05-11 16:11:30 +00:00
thorpej
c3c4b6f9f3 Make the MI LANCE driver standalone, and use cfattach to resolve
naming conflicts between bus attachments on ports that can have
multiple instances of the LANCE.

Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_start)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 01:23:31 +00:00
thorpej
b97689cdfb Make the MI LANCE driver standalone, and use cfattach to resolve
naming conflicts between bus attachments on ports that can have
multiple instances of the LANCE.
1996-05-07 01:16:36 +00:00
christos
78403e6c0c Add a hardware dependent initialization function lehwinit() 1996-04-22 02:25:54 +00:00
cgd
d7d306aeb7 change LANCE copy & zero functions' names to start with amd7990_, and
remove their 'integrate' (usually defined to be 'static') keywords.
when lance drivers are split up by attachment, more than one file will
reference the copy/zero functions (i.e. not just the file that pulls in
am7990.c... and eventually inclusion of am7990.c should go away entirely).
1996-04-18 00:25:11 +00:00
jonathan
274c2bd80d Add a prototype for generic_intr_establish(), the bus-independent
pmax interrupt-establish function.
1996-04-14 00:58:21 +00:00
jonathan
28986d8126 Add cdev_decl() declarations for the "dtop", "fb" , and "rcons" drivers. 1996-04-14 00:56:59 +00:00
jonathan
4a04d76c65 Fix the definition of TC_PHYS_TO_UNCACHED(addr): make it change a mips
kernel addressed to uncached space.

Add prototypes for pmax-specific TC functions used in probing for
a framebuffer console.
1996-04-14 00:55:19 +00:00
jonathan
f0d175fd22 Commit version that _really_ has only the innocuous fixes in the
last CVS message.

Possible uninitialized use of variables in the SII state machine,
requiring more thought, are still present.
1996-04-12 18:22:35 +00:00
jonathan
f6897c8eb6 fixes for -Wall -Wmissing-prototypes:
pass 1 over pmax SII driver: change "MachEmptyWriteBuffer()" to
"wbflush()", add prototyped forward declarations.
1996-04-12 18:15:23 +00:00
jonathan
368824e74c Fixes for -Wall -Wmissing-prototypes:
Add prototypes to (most of) src/sys/arch/pmax/pmax. (The  un-protytyped
   parts still have pending merges with the Pica port.)
   Fix splx() glitches in pmax/clock.c.
   Delete old cpu/fpu identification from pmax/autoconf.c, use r4400/r4600/idt
   aware code from Pica port, now in mips/mips/mips_machdep.c.
   Delete unused multi-CPU autoconfiguration code; NetBSD/pmax does not
   support decsystem 5800s anyway.
1996-04-10 17:38:18 +00:00
jonathan
66e92bbfaf fixes for -Wall -Wmissing-prototypes:
prototype the function-pointer member of the pmax struct pdma.
1996-04-10 17:38:04 +00:00
jonathan
39917746c1 fixes for -Wall -Wmissing-prototypes:
Update the pmax SCSI drivers (rz and tz) to  use <machine/conf.h>.
    Fix the driver entry points to have the correct signatures -- add
    "ioflag" args to read() and write(), add "struct proc *p" arg to
     open and close.
    Stop using __BDEVSW_DUMP_OLD_TYPE, and update the rzdump and tzdump
    entry points to have the correct, MI signatures.

    NB: this is just syntactic sugar: both the caller and the dump entry
    points ignore the additional args, and do exactly what they did before.
    This must be fixed before using dump entry points in non-pmax drivers
    (e.g., the MI scsi code).
1996-04-10 16:33:44 +00:00
jonathan
beaeb261bf fixes for -Wall -Wmissing-prototypes:
add prototyped declarations for the callbacks which add old-style
(4.4bsd/pmax conf.old) SCSI controllers, and which configure SCSI slaves
on such controllers.

rewriting the SII driver to work with the MI scsi would be a better option,
if time were available, and the MI scsi code supported SCSI controllers with
an 8k upper bound on transfers.
1996-04-10 16:27:38 +00:00
jonathan
68a943bdf6 Create pmax-specific <machine/conf.h>, with prototyped declarations
for the cdevsw and bdevsw entries into pmax device drivers.
1996-04-10 16:17:23 +00:00
jonathan
7822ce0c03 ANSIfy:
Add prototypes and fix printf format strings to compile cleanly with
cc -Wall -Wmissing-prototypes.
1996-04-08 00:57:37 +00:00
jonathan
aff8e70475 Fix hanging open comment. 1996-04-08 00:52:10 +00:00
jonathan
223eb30b4e ANSIfyto compile with -Wall -Wmissing-prototypes:
Add prototyped declarations for scsiGroup0Cmd and scsiGroup1Cmd.
Add prototype declarations for scsiPrintSense. Cut the inqiury-response
pretty-printer  from tz.c and rz.c and paste it in as scsiPrintInquiry.
1996-04-07 22:53:54 +00:00
jonathan
61a27eb882 Fix old pmax scsi disk and tape (rz and tz) drivers to compile with
-Wall -Wmissing-prototypes:

Add prototypes.
Fix printf() format strings (%x vs pointer-arg, %x with a long int).
Fix a possibly-uninitialized shadowing local variable "resid" in tzdone().
include <sys/systm.h> to get prototypes for printf() and bcopy().
1996-04-07 22:46:29 +00:00
jonathan
73b62487b0 ANSIfy for gcc -Wall:
fix glitch in the comments describing the glyph for semicolon.
Somehow, instead of ":" they had an open-comment.
1996-04-07 19:54:37 +00:00
jonathan
69b52a3f4a ANSIfy for -Wall: add prototype declaration for rcons_font(). 1996-04-07 19:53:36 +00:00
jonathan
d115f89b5f Update arch/pmax/pmax/genassym.c to compile with -Wall: use offsetof().
Move to mips/pmax/genassym.c, as (most of) the assembler locore code is
being merged into a generic-MIPS locore.

Remove the redundant pmax/pmax/genassym.c.
1996-04-07 14:27:00 +00:00
cgd
83f9bdc359 update for the fact that config_found() and config_rootfound() now
return pointers.  (Check vs. NULL, rather than just boolean tests.)
1996-04-04 06:25:00 +00:00
jonathan
5163f64c0f merge mips and pica locore.S, pass 0:
* cut-and-paste all the code for both r2000 (MIPS-I) and r4000 (MIPS-III)
      into both the pica and pmax locore.S.

    * Change the names of the small segments of vector code that are
      bcopied to the machine vector locations, to avoid clashing.
      Get rid of the Sprite MachXXX names for the vector code, and
      use use mips_r2000_xxx and mips_r4000_xxx instead.

      Update the names used in the vector-copying code and trap handlers
      to match.

    * Most of the rest of the pica locore.S was copied from the pmax
      locore.S, and then edited to work on an r4000.  The names of
      functions and of manifest constants stayed the same, although
      both assmbler code and constant values changed.
      cut-and-paste such code into contiguous blocks protected by
      #if / #endif.  Much of the cache and trap-handling code
      needs r3000-only register fields, on the r3000, and r4000-only
      insns and registers on the r4000.

   * change the pmax r2000 exception-handling code to extract a trap
     code with the user/kernel bit at 0x20 rather than 0x10.
     (r2000s have 4-bit execption codes, r4000s have 5-bit.)
     Use the a 16 from-user-space + 16-from-kernel space jump table,
     just like on the r4000 pica port.

   * add NOPs to the common code where required by the r4000 pipeline
     constraints.
   * add _C_LABEL() macros to the r4000 locore.

Comitted to provide a snapshot for others to test, and work on a cleaner merge.
1996-03-31 03:38:21 +00:00
jonathan
34ab2734da Resolve all differences between the Pica and pmax versions of machConst.h:
* add "MIPS_3k_" for the MIPS-I r[23]000-specific register definitions.
    * add "MIPS_4k_" for the MIPS-II/III r4000-specific register definitions.
    * add #defines that provide the old values for locore and user
      code, so the existing code continues  to compile.

Regression-tested against the  old headers by grepping for #define's,
editing out the defined symbols, and preprocessing with both the previous
machConst.h headers and this version.

Some unused symbols (CPU and FPU must-be-zero constants) are no longer defined.
Pica interrupt masks are now constant expressions instead of constant
values.

TODO:
    * factor out the common #defines into src/sys/arch/mips.
    * Get rid of the Sprite coding-style names (MACH_xxx).
    * Separate out the r3k/r4k differences from the Pica/pmax differences.
    * Figure out how to have a run-time choice of r3k vs. r4k support,
     instead of a compile-time choice.
1996-03-28 11:34:05 +00:00
jonathan
449a7f5b59 Remove files moved to mips/mips; they are included in mips/conf/files.mips.
Add the pmax-specific portion of trap handler, pmax/pmax_trap.c, which
was split off from pmax/trap.c.
1996-03-26 12:21:39 +00:00
jonathan
467aeaf9f5 Remove src/sys/arch{pmax/pmax,pica/pica}cpu_exec.c; no significant differences,
or for which the Pica port is an older revision of the pmax branch.

A merged version with the NetBSD/pmax revision history is in mips/mips/.
	cpu_exec.c
	elf.c
	mem.c
	process_machdep.c
1996-03-26 11:43:41 +00:00
jonathan
97f32908b1 Split trap handler into mips-generic and port-specific functions:
* Delete pmax-specific functions and declarations from trap.c

* Delete mips-geeneric functions and declaratinos from pmax_trap.c

* Rename the function pointer used to handle hardware interrupts to
 "mips_hardware_intr".  Define it in trap.c. Change references elsewhere,
  including machdep.c.

Verified to boot on a 5000/200.
1996-03-25 06:44:17 +00:00
jonathan
458024d39d Random additions from the Pica r4k port:
* Add spl4() and spl5() functions from the Pica port.
* Add MachFPTrap() as an alternate entry point for MachFPInterrupt.
  The r4k reports floating-point execptions as a trap, not an interrupt,
  and the Pica port uses the name MachFPTrap().
* Add nops to the Mach_spl?() functions and MachFPInterrupt, as required
   for the r4k port.
Commit "floppy"  interrupt counter for vmstat -i.
1996-03-25 06:40:39 +00:00
jonathan
522f8705a1 Copy src/sys/arch/pmax/pmax/trap.c to pmax_trap.c.
trap.c will contain the port-independent mips trap-handling functions.
pmax_trap.h will contain the pmax-specific interrupt handlers.
1996-03-25 05:55:30 +00:00
jonathan
e920e8f829 Force reporting of memory errors for the 3MAX (aka kn02 aka 5000/200) to
always be eight digits.
Copy the kn02 memory-interrupt reporting function to the kn03 (5k/240)
memory-error handler, since the 3MAXPLUS seems to use the same ECC hardware
as the 3MAX.
1996-03-25 03:18:15 +00:00
jonathan
36424c73cf Rename the original pmax/include/machAsmDefs.h file, with CVS history,
to mips/include/asm.h.

Until all references to <machine/machAsmDefs.h> in the pmax and
pica tree are changed  to use <mips/asm.h> directly, just do
#include <mips/asm.h>, for compatibility.
1996-03-25 02:55:18 +00:00
jonathan
29aa0d22ca Replace pica and pmax include/trap.h with versions that #include <mips/cpu.h>,
after merging the definition of T_USER in the pmax port, and moving
the result to mips/cpu.h.
1996-03-24 08:17:04 +00:00
jonathan
71b212b66a Change pmax T_USER bit (software only) to be 0x20, the same as the
Pica port. (The r4000 CPU used in the pica has more hardware execption types.)
1996-03-24 08:12:53 +00:00
jonathan
c5f3b155a3 Replace pica and pmax include/cpu.h with versions that #include <mips/cpu.h>,
and add port-specific and r3k vs. r4k definitions.
1996-03-24 07:54:42 +00:00
jonathan
cc54da72aa Just include the merged pica/pmax r2000/r4000 mips_opcode.h from
mips/include/mips_opcode.h.
1996-03-23 19:10:06 +00:00
jonathan
78aac1c7b9 Merge in additions of missing MIPS-I opcodes, and r4000-in-32-bit mode
opcodes from the Pica port.   Per Fogelstrom claims the latter are all
supposedly  MIPS-II (r6000) instructions, rather than MIPS-III (R4000),
but we haven't checked to be sure.  Are LL/SC really in MIPS-II?
CVS:: ----------------------------------------------------------------------
1996-03-23 18:49:29 +00:00
jonathan
8fb3add520 * Change setregs() to copy the initial entry point to $t9, to support PIC
code following the MIPS ELF abi.
* Move the kn01 interrupt handler outside of #ifdef DS5000, to support
  3100-only kernels.
* Add #ifdef DS3100 around kn01_enable_intr() to allow configuring
  turbochannel-only kernels.

Configuration-time support for specific models of DECstation still needs
more thought/work.
1996-03-23 04:35:03 +00:00
jonathan
212f41c0da Merge more header files with arch/mips/include, by replacing
with versions that #inlude the <mips/XXX.h> file:
	reloc.h regnum.h varargs.h
1996-03-20 09:49:29 +00:00
jonathan
69a70ec129 Merge in changes from the Pica port.
Still needs more thought for single-stepping and process_write_regs().
1996-03-20 01:30:49 +00:00
jonathan
5d4883f9ed Add "mips" to the machine line, to make config create a link
compile/XXXX/mips ->  mips/include, and to use mips/conf/files.mips.
1996-03-20 01:17:06 +00:00
jonathan
e3bc270a69 Change "XXX_pmax" to "XXX_mips" in preparation for merging with
Pica reloc.h.
1996-03-19 22:18:45 +00:00
jonathan
f8342fcf97 Remove #ifdef LANGUAGE_C - protected definition of "struct reg".
(It was a duplicate of the real definition reg.h and was never used.)
1996-03-19 15:20:39 +00:00
jonathan
4758b69e7b Replace ansi.h with a version that just does #include <mips/ansi.h>. 1996-03-19 11:00:16 +00:00
jonathan
53143b46f1 more merged pmax/mips header files: types.h
Replace header files from src/sys/arch/pmax/include/ with versions that
include  equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
 src/sys/arch/mips/include).
1996-03-19 05:18:26 +00:00
jonathan
e1373a1fbf Replace the following additional header files from src/sys/arch/pmax/include/
with versions that  include equivalent files from <mips/include>,
after merging changes from the pmax and pica ports into the
src/sys/arch/mips/include tree.

	ptrace.h cdefs.h pmap.h signal.h kdbparam.h
1996-03-19 04:39:01 +00:00
jonathan
d2c42783a3 Add trap definitions added for the r4000 port.
Note: T_USER is different in the pmax and pica ports!
1996-03-19 04:34:57 +00:00
jonathan
ac7c6304db Add eight 32-bit (XXX) words of reserved space to struct sigcontext,
for binary compatibilty with the pica port.
1996-03-19 04:22:04 +00:00
jonathan
ad4d94c4f3 Change "pmax_xxx" macros to "mips_xxx" macros, in preparation
for moving to src/sys/arch/mips/include/pmap.h.
1996-03-19 04:15:15 +00:00
jonathan
ed6c35ae96 Replace the following header files from src/sys/arch/pmax/include/
with versions that  include  equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
 src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
1996-03-19 03:06:28 +00:00
jonathan
23e6b87149 Replace the following header files from src/sys/arch/pmax/include/
with versions that  include  equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
 src/sys/arch/mips/include).

 [bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h]
 [profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h]

plus  (missed one:)
ecoff.h
1996-03-19 03:06:27 +00:00
jonathan
234b085111 Replace the following header files from src/sys/arch/pmax/include/
with versions that  include  equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
 src/sys/arch/mips/include).

bsd-aout.h elf.h endian.h exec.h float.h ieeefp.h limit.h pcb.h proc.h
profile.h reg.h regdef.h setjmp.h stdarg.h vmparam.h
1996-03-19 03:06:27 +00:00
jonathan
dcb272ef6e Remove pmax-specific CLK_TICK to prepare for moving to sys/arch/mips. 1996-03-19 02:45:48 +00:00
jonathan
b495cef581 Add additional mips CPU and FPU ids from Pica port:
IDT r3081 family, r4600, MIPS-IV architecture, others.
1996-03-19 02:42:28 +00:00
jonathan
1cc17fc971 Change "pmax" -> "mips" before moving to sys/arch/mips/include. 1996-03-19 02:12:05 +00:00
jonathan
c29eb3ea76 NetBSD's ieee FP definitions for the pmax are valid for other mips cpus;
change preprocessor XXX_PMAX_YYY #defines to XXX_MIPS_YYY.
1996-03-18 22:40:21 +00:00
jonathan
69f4059642 Change kn01 (pmax,3100) interrupt-enable signature to match
the NetBSD-1.1 convention.  Change the mainbus `struct confargs'
and the "generic" interrupt-establish method, used by devices that
appear on both a kn01 and TC decstations, to match.

Change the macros in autconf.h accordingly.
1996-03-18 01:47:06 +00:00
jonathan
2d2bc47dae Additional fixes to complete the NetBSD/1.1B config changes:
Add new device-attach struct cfattach le_tc_ca and struct cfdriver le_cd.
Change IOASIC cfdriver references  from "ioasiccd" to "ioasic_cd".
Change  "mainbuscd" to "mainbus_cd"
1996-03-18 01:22:27 +00:00
jonathan
f7af868d1f Additional fixes to complete the NetBSD/1.1B config changes:
change IOASIC cfdriver references  from "ioasiccd" to "ioasic_cd"
1996-03-17 22:20:08 +00:00
jonathan
077638548b Additional fixes to complete the NetBSD/1.1B config changes:
update the old-config to new-config glue used with the 4.4bsd/pmax
SCSI drivers to use new device attach declarations and names for
the "oldscsibus", "tz" and "rz" drivers.
1996-03-17 22:14:21 +00:00
jonathan
ffd8d4cdc7 Additional fixes to complete the NetBSD/1.1B config changes:
Update the kn01 (3100 aka pmax) interrupt handler to use XXX_cd instead
of XXXcd.
1996-03-17 22:12:13 +00:00
jonathan
cdf4e87e7a Additional fixes to complete the NetBSD/1.1B config changes:
add missing structure name in the definition of `struct cfattach sfb_ca'.
1996-03-17 22:02:59 +00:00
cgd
94907fa254 adjust to deal with expression support for optional file specs 1996-03-17 13:21:09 +00:00
cgd
1f7332bada fix typo in recent attachment changes: (interface) attributes for asc
specified twice.
1996-03-17 06:09:10 +00:00
thorpej
77abd102b7 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 01:38:52 +00:00
jtc
2ce5f1478b Add _BSD_WINT_T_ definition so we can handle wint_t type added in NA1. 1996-03-16 01:31:45 +00:00
christos
25b31cbc91 fdopen -> filedescopen 1996-03-14 21:31:56 +00:00
cgd
18ec26aa21 add _MACHINE and _MACHINE_ARCH, which are like MACHINE and MACHINE_ARCH,
execpt without quotes.  meant to be __CONCAT()ted for easy #includes
of machine-dependent headers for MI code (e.g. for the MI ISA/EISA/PCI/TC
bus code).
1996-03-04 05:04:10 +00:00
thorpej
9029778d04 RCS id police. 1996-03-03 16:54:17 +00:00
cgd
1c5d7babe5 Clean up tabbing/spacing in defns of MACHINE, MACHINE_ARCH, and MID_MACHINE. 1996-03-01 23:30:08 +00:00
cgd
3d67685d36 Do not build vnode_if.[ch] for each kernel. Build them once, like the
various syscall sources/headers, and just compile them.  From PR 2142, OK'd
by mycroft.
1996-02-29 20:54:58 +00:00
thorpej
8caec41719 RCS id police. 1996-02-28 20:49:18 +00:00
jonathan
467a64a327 Replace tc.c and ds-tc-conf.c with a re-written tc_subr.c. tc_subr.c
works with the revamped machine-independent TC code in sys/dev/tc.
A name change is necessary to avoid a name clash with sys/dev/tc/tc.c,
which also creates a tc.o.
1996-02-27 22:35:05 +00:00
jonathan
776c58e187 TurboChannel bus auto-configuration tables, and TurboChannel pre-autoconfig
probe functions for console framebuffers,  rewritten to work  with the
machine-independent TC support in sys/dev/tc.
1996-02-27 22:28:08 +00:00
jonathan
ff27dbbcf9 Revert pmax stdarg.h and varargs.h to versions from 1995-11-13. Those
versions work correctly; at some point between then and the immediately
preceding revisions, the "stylistic" changes to one (or both) stdarg.h
and varargs.h broke passing doubles to printf().
1996-02-26 23:29:05 +00:00
mycroft
2ce52ae489 Define build programs with ?=', so they can be overridden with makeoptions'. 1996-02-26 02:53:20 +00:00
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