Commit Graph

136 Commits

Author SHA1 Message Date
jonathan 02cdce0090 Protoypes for configure(), initcpu(). 1997-06-22 04:08:06 +00:00
jonathan 1c2727195c Add explicit function-return types. 1997-06-18 13:19:33 +00:00
jonathan 21dc79b2b5 Add fillw() from old Pica locore. 1997-06-18 13:16:13 +00:00
jonathan 1b10e8336c Drop in pmspoll() from NetBSD-current/i386 pms.c. 1997-06-16 09:12:14 +00:00
jonathan 79d31e9983 Delint pica Sonic driver, pass 0:
* Finish new ARP (struct ethercom) changes.
    Some references to sc_ac were left danglnig.
  * Include if_dl.h and if_media.h.
  * Delint printf() messages: int vs. long , int vs. pointer.
  * Delete unused variables.
1997-06-16 08:44:30 +00:00
jonathan 1bd86a07d6 First delint pass of old NetBSD/pica device drivers:
* add prototypes to <dma.h> for the per-device dma-setup  functions.
  * MachEmptyWriteBuffer() -> wbflush().  Also #include <bus.h>,
    so that wbflush() expants to the locore callback vector entrypoint.
1997-06-16 08:41:15 +00:00
jonathan de475d3704 Rescuscitate after bitrot:
* rewrite findroot() based on NetBSD 1.2F i386 findoot().
  * Rewrite makebootdev() to use struct devnametodevmaj pica_nam2blk[].
    Previous changes changed the `devname' char array and findroot()
    bot not makebootdev().
  * Add prototypes, delint for gcc -Wall.
1997-06-16 07:35:46 +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
mrg 1258c8d25b remove now obsolete "swap on..." lines. 1997-06-12 18:41:58 +00:00
mrg 552af779d2 bring mrg-vm-swap2 onto mainilne. 1997-06-12 15:46:19 +00:00
veego a204fb7981 Initialize machine from MACHINE. 1997-06-08 23:54:19 +00:00
christos dcb36500b8 Add netatalk netisr 1997-04-03 17:14:39 +00:00
thorpej cb24b0200a Don't allocate mclrefcnt[]; it's dead and gone. 1997-03-27 21:01:20 +00:00
gwr 37b247edde Renames: /dumpconf/cpu_dumpconf/, /boot/cpu_reboot/ 1997-03-26 22:42:13 +00:00
gwr 71e43d14ab Move findroot/setroot stuff from configure() to cpu_rootconf(). 1997-03-26 22:38:40 +00:00
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
mycroft f868dff8d3 Define the `cleankernel' target consistently with other ports. 1997-03-14 23:27:29 +00:00
fvdl 115b6d92fa Define ALIGNED_POINTER 1997-02-24 23:16:53 +00:00
perry 19d153fc48 Nuke some options GENERIC residue. 1997-02-04 04:57:10 +00:00
perry 0b3a46d6b3 Nuke some GENERIC residue. 1997-02-04 04:31:55 +00:00
thorpej 739f23a219 This file is obsolete; this information is now generated by config(8). 1997-01-31 05:12:49 +00:00
thorpej e4d6c27735 Use new machine-independent setroot(). 1997-01-31 01:58:44 +00:00
thorpej 16aa3354f7 Adopt for new file system and root spec grammar. 1997-01-31 01:58:17 +00:00
perry b89a3425b7 Eliminate obsolete TIMEZONE and DST options.
Eliminate obsolete global kernel variable "struct timezone tz"
Add RTC_OFFSET option
Add global kernel variable rtc_offset, which is initialized by
RTC_OFFSET at kernel compile time.
on i386, x68k, mac68k, pc532 and arm32, RTC_OFFSET indicates how many
minutes west (east) of GMT the hardware RTC runs. Defaults to 0.
Places where tz variable was used to indicate this in the past have
been replaced with rtc_offset.
Add sysctl interface to rtc_offset.
Kill obsolete DST_* macros in sys/time.h
gettimeofday now always returns zeroed timezone if zone is requested.
settimeofday now ignores and logs attempts to set non-existant kernel
timezone.
1997-01-15 01:28:28 +00:00
mikel aed485cdf2 add 'pseudo-device ccd' where necessary; PR kern/1830. 1997-01-11 09:11:37 +00:00
mrg c71a371532 use pseudo-device ipfilter, not ipl. 1997-01-07 11:35:01 +00:00
thorpej d502e68402 Fill in sc_link.max_target 1996-12-10 21:27:16 +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 4c1d96de78 * Replace explicit -O2 in CFLAGS with COPTS macro. Default COPTS?= -O2.
Lets users over-ride with makeoptions COPTS="..." in kernel config files.

  Leave `mandatory' flags (like  -msoft-float which  on m68k enforces no
  FP in kernel) in CFLAGS.
1996-12-01 06:12:25 +00:00
jtc 9da5f60715 PROF -> GPROF 1996-11-30 02:48:57 +00:00
jonathan b1224d9a3d * Add /sys-relative paths for NetBSD-1.2b config.
* Add standard mips EXEC packages  to std.pica
* Move non-optional options to std.pica
1996-11-21 03:23:42 +00:00
thorpej 8859cd5ced Use bitmask_snprintf(). 1996-11-15 03:01:01 +00:00
cgd 8a3333b2a9 Fix an inconsistency that came in with Lite: setrq() was renamed to
setrunqueue(), but remrq() was never renamed.  Rename remrq() to
remrunqueue().
1996-11-06 20:19:19 +00:00
christos ad67e04154 backout previous kprintf change 1996-10-13 16:50:51 +00:00
jonathan 04cc01fd56 Commit arch/pica/pica/pmap.c changes from August 1996:
* use mips_round_page,mips_trunc_seg() instead of
    pica_round_page(),pica_trunc_page().
  * discard (unused) return value from TLBUpdate(), and delete
    (unused) temporary variable used to hold it.
1996-10-13 11:39:52 +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
jonathan 96eb3c22a4 Commit (very old) partly-merged ARC Pica mips3 trap handler code:
* fold in netBSD style changes:
      ``if (foo = bar)'' -> ``if ((foo = bar) != 0)''
    * add mips1 vector as well as mips3 vector
    * change vector names to make mips1 and mips3 locore entrpoints distinct
    * add pmax additions (e.g., old fixes to ktrace code, kernel-TLB_miss
      instrumentation)
   * update stack traceback code to a newer version of the pmax code.
1996-10-13 08:15:40 +00:00
christos e37692f04d backout previous kprintf change 1996-10-13 03:29:05 +00:00
christos a60beecedb printf -> kprintf, sprintf -> ksprintf 1996-10-10 23:44:49 +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 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
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
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
mycroft 2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
mycroft fc3def4096 Remove duplicate declarations of LKM functions and macros. 1996-09-05 15:46:22 +00:00
mycroft 30a617c634 Wrap the default definition of `S' in `.ifndef'. 1996-08-31 21:40:47 +00:00
cgd 71ad30d0e9 (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
    single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
    function, and kill any locally-defined print function.
1996-08-28 18:59:15 +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
mrg b8e9f36083 add COMPAT_12. 1996-08-26 23:39:36 +00:00
mycroft 558d72128e Put into . Remove hooks for `config-dependent' and
`device-driver' flags.
1996-08-12 00:51:24 +00:00
jonathan 99b43cc2bc * Apply LOCORE -> _LOCORE change so locore.S doesn't #include struct
definitions.

* Include <mips/cpuregs.h> in <cpu.h> so kern_clock.c has user/kernel
  status bits in scope.  Still needs  work; r2k/r4k previous-mode bits
  are different.

* Include <mips/mips_param.h> in pica/include/param.h, for locore declarations,
  and definitions of vm and  other constants that should be shared across
  NetBSD/mips  systems to esnsure user-level binary compatibility.
1996-08-11 23:30:22 +00:00
jonathan 14bd2765a1 Fix old lint and changes not pulled back from pmax, pass1:
* include <mips/locore.h> where callbacks into locore are made, to get
    prototypes in scope.  Cast calls appropriately.
  * include <mips/cpuregs.h>, not the old Sprite-derived <machine/machConst.h>.
    machConst.h is deprecated.
  * dk_establish() must return void, not int.
1996-08-11 22:35:46 +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
thorpej cc1c24bbec RCS id police. 1996-07-16 23:23:55 +00:00
mycroft 540f9550c0 Make `make depend' work for libraries. 1996-05-11 16:11:30 +00:00
thorpej d8c7327dd3 Fix typo. 1996-05-08 00:15:48 +00:00
thorpej ccc18dd2ae 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:12:53 +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 3f7833c4aa Replace open-comment accidentally removed from copyright notice
whilst adding new-style NetBSD cvs id.
1996-03-31 04:38:46 +00:00
jonathan d5363eaabc Fix make depend target, and add -Werror to CFLAGS. 1996-03-31 04:34:20 +00:00
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