Commit Graph

200 Commits

Author SHA1 Message Date
jonathan 4d03a7d4d0 Fix typo in bus_space_barrier definition. See PR 4488. 1997-11-28 00:33:53 +00:00
jonathan 64a7794048 <machine/intr.h> is required. Supply an empty one.
VS: ----------------------------------------------------------------------
1997-10-26 10:41:32 +00:00
jonathan a03a434f1b * Use ANSI-clean names for host-specific byte-order definition
(_BYTE_ORDER, _BIG_ENDIAN, _LITTLE_ENDIAN).
  Define old names from the ANSI ones if not _POSIX_SOURCE.
* Define _QUAD_HIGHWORD and _QUAD_LOWWORD properly when
  _BYTE_ORDER == _BIG_ENDIAN.
1997-10-20 09:57:05 +00:00
jonathan 22b3f9ebd8 Add bi-endian support to mips locore, <mips/endian.h>, and mips_opcode.h.
Derived from a change request (PR port-mips/4277) from
Tsubai Masanari, (tsubai@iri.co.jp).
1997-10-17 04:43:57 +00:00
leo ef6f3f7e25 Move the definition of MSGBUFSIZE up to the machine-arch level if
possible. Pointed out by Bernd Ernesti.
1997-09-20 12:08:24 +00:00
leo d4713d24c2 Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
1997-09-19 13:52:37 +00:00
jonathan 5342b11519 Replace copyright notice. 1997-08-30 01:51:02 +00:00
jonathan e14d1d4768 Move SSIZE and DELAY() definitions to sys/arch/mips/include/mips_param.h.
Update comment in pmax/include/param.h (pr 3988).
1997-08-20 03:47:17 +00:00
jonathan 4631885e91 Kill __BROKEN_INDIRECT_CONFIG on pmax.
Based on a patch from Chris G. Demetriou, December 1996.
1997-07-21 05:39:02 +00:00
jonathan d1ec048977 DDB for mips.
Add DDB interface to /sys/arch/mips/mips..
  Rework heuristic stack traceback to work with DDB.
  Add hooks  to print exception log from DDB.
  Add hooks from pmax console drivers:   call Debugger()
  after break from serial console, or 'DO' key from LK-xxx.
1997-07-07 03:54:24 +00:00
jonathan e5e8113990 Copyright to NetBSD foundation. 1997-06-22 22:41:33 +00:00
jonathan 89868a5f07 Import mcclock from NetBSD/Alpha, mostly replacing the Sprite clock code.
interface.   From Toru Nishimura <nisimura@itc.aist-nara.ac.jp>.

Partly merged back with Alpha code by Jonathan Stone. Needs more merging.
1997-06-22 09:34:34 +00:00
jonathan 1f44934407 * Change Sprite MACH_xxx prefix to MIPS_xxx.
* Use standard mips terminology (xxx_KSEG0, xxx_KSEG1) instead of the
  (more meaningful) Sprite names (xxx_CACHED, xxx_UNCACHED).
1997-06-22 07:42:25 +00:00
jonathan 2d10220f8f Yet more mips1/mips3 merging:
Move mips-specific pmap definitions (PMAP_PREFER for mips3, declaratin
of pmap_bootstrap() for the system-specific machdep.c) from
arch/pmax/include/pmap.h to arch/mips/include/pmap.h.
1997-06-16 07:47:42 +00:00
jonathan 5db35a8cce Yet more merging:
* Move declaration of locore communcation variables (CPU family,
     cache sizes, etc) to mips/include/locore.h.  Delete from
     pmax/include/cpu.h and older versions from pica/include/cpu.h.

   * Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu.
   * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
1997-06-16 06:17:25 +00:00
jonathan 157d46c672 Commit addition of `#include <mips/locore.h>' to pmax/include.bus.h. 1997-06-16 04:22:15 +00:00
jonathan cd48c79960 Remove the machConst.h (wrapper for Sprite-derived source), and all
#includes <machine/machConst.h> uses.
Other header files now include <mips/cpuregs.h> where necessary.
1997-06-16 01:45:05 +00:00
jonathan c6b9463cd1 Remove all references to <machine/machAsmDefs.h>.
Use #include <mips/asm.h> instead.
1997-06-16 01:23:56 +00:00
jonathan 15628b2d97 Move merged pmax psl.h with mips1/mips3 support to mips/include/psl.h.
Change pmax/include/psl.h to just do #include <mips/psl.h>.

pmax/include/psl.h would go away completely if it wasn't stil required
by compat/common/kern_exit_43.c.
1997-06-16 01:10:03 +00:00
mhitch 76f5c2a6c6 More merged MIPS1/MIPS3 support for DECstations. 1997-06-15 18:02:20 +00:00
jonathan ccc08d5a61 Move MACHINE_ARCH and _MACHINE_ARCH from pmax/include/param.h to
mips/include/mips_param.h.  (They should be common to all mips ports.)
1997-06-08 10:46:01 +00:00
jonathan 0a875d4298 A pre-busdma pmax <bus.h> skeleton. 1997-06-08 05:10:25 +00:00
jonathan 88787ea86a Lint: machdep.c calls configure() and makebootdev().
Move their declaratinos to pmax/autoconf.h.
1997-05-25 06:10:46 +00:00
jonathan 19743d60e1 Lint: add prototype for badaddr() (the expansion of tc_badaddr). 1997-05-25 05:58:36 +00:00
jonathan a0600d7d94 Prototype for pmap_bootstrap(). 1997-05-25 05:04:03 +00:00
jonathan 02b403c0bf #ifdef notyet out the as-yet-Undefined bold mode, instead of commenting it out. 1997-05-24 05:49:22 +00:00
jonathan 7cebde0e19 Protect MCLSHIFT definition so users can customize MCLBYTES.
Also define MCLBYTES from MCLSHIFT.
1997-02-26 01:45:41 +00:00
jonathan c66d855eb2 Configure pmax elf_machdep.h as little-endian elf. 1996-12-17 03:45:05 +00:00
cgd 96acdadef7 First step inn removing config_scan() and the hacks that gave devices
on indirect-config busses a (permanent) softc that they could share
between 'match' and 'attach' routines:

Define __BROKEN_INDIRECT_CONFIG so that old autoconfiguration
interfaces are used, until drivers are converted to use the new
interfaces (actually, converted back to use the _older_ interfaces)
which prohibit indirect configuration devices from receiving a softc
in their match routine that they can share with their attach routine.
1996-12-05 00:13:47 +00:00
jonathan 6ac1fdec40 Merge mips1 and mips3 pte/pmap code, pass 0;
* Move mips-I pte (TLBlo) definitions from pmax/include/pte.h
      to mips/include/mips1_pte.h

    * Move mips-III pte (TLBlo) definitions from  pica/include/pte.h
      to mips/include/mips3_pte.h

    * Add new mips/include/pte.h, which includes exactly one of
      mips1_pte.h or mips3_pte.h (which still have namespace collisions),
      depending on "options MIPS1" or "options MIPS3". (hack).
      Move soft kvtopte(), ptetovk() definitions to mips/include/pte.h

    * Add macro PTE_TO_PADDR() to hide the different hardware TLB formats
      when mapping from pte to physical address.

   * Add macro PTE_READONLY() to hide lack of SW read-only bit in mips-III
     tlb. (mips1 pmap uses a sw bit in the PTE, mips3 looks up RO bit in
     the kernel pmap.)

   * Use macros (not direct TLB frobbing) in mips/trap.c, to make it
     mips-1/mips-III indepenndet.

    * Change {pmax,pica}/include/pte.h to just do #include <mips/pte.h>.
1996-10-13 09:28:53 +00:00
cgd e36e19cf1e repoint at shared aout_machdep.h, not exec.h 1996-10-08 13:07:26 +00:00
cgd 472889f8e4 moved to aout_machdep.h (via repository copy) 1996-10-08 12:57:37 +00:00
jonathan 998ce62cdf Update pmax drivers to use "const" on 2nd arg to cfprint_t:
turbocnhannel: include/tc_machdep.h, tc/tc_subr.c, tc/asic.c
    kn01 baseboard: pmax/mainbus.c
1996-10-06 06:29:51 +00:00
jonathan 7cd0363289 Just include <mips/cpuregs.h>, which has the same contents this
file used to.
1996-09-30 07:58:20 +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 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
mhitch 038bd4a782 Fix autoconfig stuff to match the alpha. The DS3100 will now
configure properly.
1996-05-29 06:19:49 +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 b37be8bb62 Fix typo in NMBCLUSTERS definition. 1996-05-20 10:50:52 +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 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 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 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 aff8e70475 Fix hanging open comment. 1996-04-08 00:52:10 +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 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 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 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
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
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
cgd 1c5d7babe5 Clean up tabbing/spacing in defns of MACHINE, MACHINE_ARCH, and MID_MACHINE. 1996-03-01 23:30: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 88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +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 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
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
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
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 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
mycroft 292120bf63 Define __FORK_BRAINDAMAGE. 1995-12-09 04:41:41 +00:00
jonathan df58dc7d89 Change the signature of interrupt-handlers to take a void *
(a pointer to the softc) and return an int (indicating spurious
interrupts or other conditions.)
1995-09-20 04:33:00 +00:00
jonathan 30c1021fd5 Framebuffer state variable for Ted Lemon's generic-framebuffer "fb"
pseudo-device, with support for the qvss/pm - compatible interface
used by X11R5 servers on DEC framebuffers.
1995-09-11 08:18:51 +00:00
jonathan d20d3cf520 Framebuffer ioctls for Ted Lemon's pmax generic framebuffer fb
pseudo-device.
1995-09-11 08:17:04 +00:00
jonathan 43f316f423 Declarations for new-config autoconfigure, based on NetBSD/Alpha. 1995-08-04 00:34:15 +00:00
jonathan 82d5943755 Add argument prototypes - __P((void)) - to the declarations of Mach_spl*() functions. 1995-07-23 20:11:54 +00:00
cgd 479fb9e45b add <sys/cdefs.h> inclusions. namsspace-protect physadr, label_t
def'ns against _POSIX_SOURCE and _ANSI_SOURCE.
1995-07-06 03:39:32 +00:00
cgd c83f9c5568 remove unused cpu_exec() definitions. moved "broken swap" markers, for
ports that still need it, to types.h.
1995-06-28 02:55:18 +00:00
cgd d4a54b73d2 kill user-land DELAY macro, as suggested by gwr. 1995-06-28 02:43:36 +00:00
cgd 2d49c3885b clean up definitions of ctod(), dtoc(), ctob(), btoc(), btodb(), and
dbtob().  remove unused definitions of ctos(), stoc(), and dtob().
1995-06-26 06:55:38 +00:00
cgd 1c0be437b1 define __BDEVSW_DUMP_OLD_TYPE for ports where it's true. clean up
some m68k ports inclusion of common header.
1995-06-26 05:13:37 +00:00