Commit Graph

120 Commits

Author SHA1 Message Date
jonathan
74def7cfa4 fix "#define #define CLKF_USERMODE" typo. 1996-03-31 04:16:46 +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
d76659a9c6 Update Pica machdep.c and locore.S to work with new, "merged" machdep.h:
* Add a MIPS-I (r3000) exception handler to the Pica locore.S.
      Change the names of the masks used to extract the exception code
      to the new MIPS_xxx names.
    *  Rename the vector code from MachException() to
      mips_r4000_exception, in both locore and in the init_main()
      code that copies it from locore to the exception vector locations.

    * Change the locore and C code to use the new MIPS_SR_INT_IE
      name for the Status register master interrupt-enable bit.

Similar changes to the pmax equivalents are in progress.
1996-03-28 12:50:37 +00:00
jonathan
8b7ade02ab Split Per Fogelstrom's Pica trap handler into two parts:
arch/pica/pica/trap.c, a generic mips trap handler
	arch/pica/pica/pica_trap.c, a  handler for Pica interrupts.

so that the common pmax and pica  trap handling can eventually be
merged and moved to arch/mips/mips/trap.c
1996-03-28 12:40:33 +00:00
jonathan
4b0f110028 Remove lint from pica kernel to compile with -Werror:
* Add cast to hardclock when it's used directly as an interrupt handler.
   * Add a null-interrupt-establish function, to avoid int vs void lint
     in pica/dev/dma.c.
   * fix include in pica/include/pccons.h to work with "standard"
     kernel-compile include path.
1996-03-28 12:26:31 +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
999a06cace Update Pica kernel configuration (files.pica, std.pica) and the default
template to use the merged mips code in sys/arch/mips/{conf,mips}.
1996-03-27 11:02:19 +00:00
jonathan
77199aee5c Update Pica kernel makefile template (Makefile.pica) to NetBSD 1.1A
conventions, so that Pica kernel can build libkern and libcompat.
Based on the changes to pmax/conf/Makefile.pmax.
1996-03-27 11:00:38 +00:00
jonathan
ba9685ceff minial subset of bus.h, from CGD's description:
bus memory and I/O space access functions/macros, to be used by
machine-independent code for more sane access to bus resources.
New functions will be added to this set, in the future, as appropriate,
but this is a good starting set.  Defines:
        bus_{io,mem}_{map,unmap}
        bus_{io,mem}_{read,write}_{1,2,4,8}
functions, and several types to go with them.
1996-03-27 10:09:10 +00:00
jonathan
5cb9a24e79 Fixup after "New device attachment scheme": Fix cfattach typos.
"struct cfattch pms_ca" (should be "cfattach"), and
"struct cfattach fd_cd" ("should be fd_ca").
1996-03-27 10:02:56 +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
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
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
1ca217b445 Replace the following header files from src/sys/arch/pica/include/
with versions that  include  equivalent files from <mips/include>.
(cvs magic copied the previous revisions, with history, to
 src/sys/arch/mips/include).

ansi.h bsd-aout.h cdefs.h ecoff.h elf.h endian.h exec.h float.h ieeefp.h
kdbparam.h limits.h pcb.h pmap.h proc.h profile.h ptrace.h reg.h regdef.h
regnum.h reloc.h setjmp.h signal.h stdarg.h types.h varargs.h vmparam.h

NB: Some files (e.g., limits.h reloc.h pmap.h) add pica-specific #defines
to the  generic mips support.
1996-03-23 03:42:25 +00:00
cgd
94907fa254 adjust to deal with expression support for optional file specs 1996-03-17 13:21:09 +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
99fff354c6 fdopen -> filedescopen 1996-03-14 22:18:02 +00:00
jonathan
dc6fdf6cdc First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine. 1996-03-13 04:58:04 +00:00