Commit Graph

19232 Commits

Author SHA1 Message Date
pk e743dda2a9 Update for 4m locore.s. Remove some items, since locore.s now #includes
param.h
1996-03-31 23:28:03 +00:00
pk cf4009e56c Include support for sun4m timers and counters: hardware register layout
has changed. There is a counter for each CPU (currently, just one supported).
1996-03-31 23:24:59 +00:00
pk 8de1fd22bc Add sun4m support. Many, many changes..
Note on multi-architecture kernels: most architecture dependent traps are
forked off directly by having a separate trap table for each (sun4,sun4c,sun4m)
This reduces the number of tests on `cputyp' significantly, and it's easier
on the mind. There are still some entry points that need to test `cputyp',
most notably microtime().. yuck.
1996-03-31 23:19:22 +00:00
pk 6d76616bf0 The sun4m IOMMU "device". 1996-03-31 23:09:32 +00:00
pk 7b55c61c27 Include support for sun4m timers and counters: hardware register layout
has changed. There is a counter for each CPU (currently, just one supported).
1996-03-31 23:07:59 +00:00
pk df2a68f25b Add sun4m VA definitions (for clock and interrupt).
Make these generic for all architectures (i.e. avoid `#if defined(SUN4*)'s).
1996-03-31 23:03:31 +00:00
pk ff109a19a3 Accomodate sun4m CPUs and caches (Aaron). Cache handling needs to be
revised.
1996-03-31 23:00:40 +00:00
pk df08150880 Updates for sun4m. 1996-03-31 22:57:09 +00:00
pk 35802bf06b Accomodate sun4m device layout (v3 PROM) and special 4m startup goo.
Heavily cleaned from most `#if defined(SUN4*)' stuff in favour of
CPU_ISSUN4* macros.
1996-03-31 22:55:33 +00:00
pk 678fbb4806 sun4m device definitions and bus structure. 1996-03-31 22:52:38 +00:00
pk b2d12c182b Aaron's sun4m-related trap handling (memory faults).
Note that fork() no longer return in syscall() in the child.

Add a couple of `#ifdef DEBUG's.
1996-03-31 22:51:58 +00:00
jtk 55960650f7 add include file for function prototypes 1996-03-31 22:50:11 +00:00
pk d15de4b09b Initialize DMA addresses properlier in cpu_startup().
dumpsys(): do not try to dump first physical page, this fucks up pmap_extract().
1996-03-31 22:48:24 +00:00
pk 3c89c0901d Aaron's SRMMU/sun4m pmap implementation.
Note: multi-architecture kernels use function pointers for several PMAP
entry points.

Cut down the `#if defined(SUN4*)' mess severely by using CPU_ISSUN4*
macros (see machine/param.h) wherever possible.
1996-03-31 22:42:59 +00:00
pk 2f3ec93250 Various cleanup; mostly trailing spaces/tabs. 1996-03-31 22:38:29 +00:00
pk 66539854e8 Diddling of the `power' bit in machine control register (Aaron). 1996-03-31 22:34:40 +00:00
pk 954302ae70 Handle sun4m `ledma' and `espdma'.
DMA setup requires services of the IOMMU.
1996-03-31 22:32:45 +00:00
pk 7e45b3449f Re-arrange a bit to stear clear of gcc `-Wall' bites. 1996-03-31 22:30:50 +00:00
pk 25aa56ae29 Handle sun4m `obio' devices.
Cleanup `#if defined(SUN4*)' mess.
1996-03-31 22:28:38 +00:00
pk 96f175d477 Add sbus_translate() to deal with slot address translations, including
new v3 PROM style "range" properties. This routine is also called from obio.c
(which can be viewed upon as just a another Sbus slot).
1996-03-31 22:27:15 +00:00
pk 345295ff08 Deal with sun4m le/ledma. Work around spurious interrupt problem (aaron). 1996-03-31 22:22:52 +00:00
pk bb0897eec6 Various cleanup; mostly trailing spaces/tabs. 1996-03-31 22:21:21 +00:00
pk 1c8b452515 Add a non-interrupt-priority-lowering version of SPL(). Used by splpmap()
at the moment.
1996-03-31 22:20:14 +00:00
pk 76404b0bbe Add sun4m CPU/MMU identifications. 1996-03-31 22:18:16 +00:00
pk 5703b83d00 Move autoconf subroutine prototypes to autoconf.h
Deal with sun4m `software interrupts'.
1996-03-31 22:17:14 +00:00
pk 37a292dea0 Make prototyping of most functions conditional on `PMAP_EXCLUDE_DECLS'.
This allows MD pmap.h to implement access to those functions via pointers.
1996-03-31 22:15:32 +00:00
pk 8d9fbd0949 Add some v3 PROM glue.
Move autoconf subroutine prototypes here (from cpu.h).
1996-03-31 22:12:34 +00:00
pk 0ab4a52862 Add SRMMU/sun4m support. Size and layout of `struct pmap' has changed. 1996-03-31 22:09:13 +00:00
pk 922201e06a Add SRMMU/sun4m definitions.
Cleanup (i.e. mostly delete) `#if defined (SUN4*)' in here.
1996-03-31 22:06:55 +00:00
christos e86e25ba54 Add __kprintf__ attributes to the printf functions 1996-03-31 21:43:17 +00:00
christos 9352303b25 Recognize %p formats so that ps/m works in ddb 1996-03-31 21:42:42 +00:00
christos 96776962f7 Fix PR2277; make lkmenodev() be the same type as enodev(). 1996-03-31 21:40:27 +00:00
christos ccf759ccff Change printf attributes to __kprintf__ attributes 1996-03-31 21:37:15 +00:00
christos c119793167 - Make lkmenodev() be the same type as enodev.
- Change printf attributes to __kprintf__ attributes.
1996-03-31 21:36:40 +00:00
christos c7f6ddc626 make emalloc and erealloc return void *; closes PR/2276 1996-03-31 21:30:05 +00:00
mycroft 004f5e8d39 Fix a slight biff with 16-bit DMA in last change. 1996-03-31 20:51:43 +00:00
scottr 8b3fdd9943 Make this compile again by including <sys/types.h> 1996-03-31 14:21:03 +00:00
mrg 3fd9d3347e use local copy of resolver, with -DDEBUG. fixes pr#2275 (ken hornstein) 1996-03-31 13:55:34 +00:00
scottr 755cc6f914 getopt() returns -1 when the arg list is exhausted, not EOF. Ironic
that it should show up here...
1996-03-31 04:58:32 +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
perry 1044d1ac8a forgot about joy1 1996-03-31 00:50:47 +00:00
perry 3592c8dcf4 Updated the man page to explain the values returned by reading the
joystick device (text contributed by Matthieu Herrb); also fixed a
bunch of spelling and grammar errors.
1996-03-31 00:17:43 +00:00
perry 0dcdd69b42 Added joystick support (from Matthieu Herrb); also RCS/CVS ID police. 1996-03-31 00:04:06 +00:00
perry f825488c3c Added (commented out) line for joystick driver. 1996-03-30 23:57:09 +00:00
mark d907c07635 Use an integer instead of a char to store the getopt() return value in
order to match the function prototype and to work with compilers that
default to unsigned chars.
Compare the getopt() return value with -1 instead of EOF.
1996-03-30 23:53:51 +00:00
mark 3e43cc032f Use an integer instead of a char to store the getopt() return value in
order to match the function prototype and to work with compilers that
default to unsigned chars.
1996-03-30 23:51:42 +00:00
mark a8f4abc7d9 Use an integer instead of a char to store the getopt() return value in
order to match the function prototype and to work with compilers that
default to unsigned chars.
Compare the getopt() return value with -1 instead of EOF.
1996-03-30 23:49:48 +00:00