Commit Graph

511 Commits

Author SHA1 Message Date
nisimura 8778509c45 * Make cpu_identify() routine table-driven.
* MIPS3 sanity check now allow MIPS1 models to boot.
1998-10-05 05:26:00 +00:00
drochner 18a5d4ffc6 set up old style sigmask on COMPAT_ULTRIX too 1998-10-02 18:59:56 +00:00
drochner 5bcf824ff0 change debugging output in compat_13_sigreturn to distinguish from native
sigreturn
1998-10-02 18:49:00 +00:00
drochner a366b483ec compat_13_sigreturn is needed for compat_ultrix too 1998-10-02 18:46:58 +00:00
drochner 4345019cc0 implement a separate ultrix_sigcode[] 1998-10-02 18:44:32 +00:00
jonathan 379c9be4a8 More patches for ARC from Noriyuki Soda:
* commit isapnpvar.h changes required for ARC to support plain isa.
  * fixup mistake over mips/include/cpuregs.h.
  * mips/mips_machdep.c:
     set L2 cache-size for arc, cleanup use of L2cache present
     vs L2 cache-size variables. check for no L2 cache on kernels
     configured to require one. misc cleanups.
  * mips/mpis/trap.c: more locore stack-traceback  label cleanup.
XXX  Locore callbacks for mips3, mips4, r4600 cacheflush need more work.
1998-10-01 00:42:37 +00:00
drochner 87fab23d68 make it compile with DEBUG 1998-09-26 10:07:36 +00:00
nisimura b356238b16 Add one more new MIPS processor PRid 0x30 for IDT RC64474/64475. These
are successors of RC4640/RC4650, but fully brewed MIPS, then capable of
running NetBSD/mips.
1998-09-26 08:16:38 +00:00
nisimura 3da75bb55d Update the list of MIPS processor revision ID. PRids of Toshiba TX3900
and QED R4650 comflict each other.
1998-09-26 03:29:37 +00:00
thorpej 3d4e54f11f Need 87 longs for a jmp_buf now (we use sigcontext, which grew). 1998-09-16 23:15:08 +00:00
jonathan 0b09668693 Fix typos in signal rework (sc.regs -> sc-regs, rege -> regs). 1998-09-14 07:04:06 +00:00
thorpej cbfc257eda sigset13_t -> int. 1998-09-14 02:48:33 +00:00
mycroft fa31b94af9 Fix omission in previous; remember to record that we're on the signal stack. 1998-09-13 11:57:58 +00:00
thorpej 4a797b8f45 Make signal delivery work again. 1998-09-13 10:29:02 +00:00
jonathan 008816ea4f Changes to sys/arch/mips from ARC port, from Noriyuki Soda <soda@sra.co.jp>.
Adds (most) support for ARC platform to port-independent mips code.

Some changes (e.g., clean up of overlapping CPU/FPU ids) inspired by
comparison to the OpenBSD 2.1 codebase of Soda's ARC port.

Open issues:
 * Still no support for r4600 or mipsIV CPUs with two-way L1 cache.
   Code derived from Per Fogelstrom's OpenBSD source  doesn't work
   on mips3 pmaxes with L2 cache.

 * Still some port-specific  #ifdefs, for interrupt enable and
   pmax L2 cache-size.  Needs more thought, but overlaps with
   work-in-progress by Tohru and Tsubai on spl()s and related stuff.
1998-09-11 16:46:31 +00:00
thorpej 70e641047c In cpu_coredump(), use MID_MACHINE rather than MID_* (whatever it expands
to).
1998-09-09 11:17:24 +00:00
thorpej 8abe0d6b1c Adjust for the new "reaper" kernel thread: do not free the vmspace and
u-area in machine-dependent code.  Instead, call exit2() to schedule
the reaper to free them for us, once it is safe to do so (i.e. we are
no longer running on the dead proc's vmspace and stack).
1998-09-09 00:07:48 +00:00
nisimura c6a0c2d34c Added more MIPS processor IDs. 1998-09-07 06:32:18 +00:00
christos 50909bd6d9 Assign copyright to TNF. 1998-09-05 15:28:08 +00:00
nisimura e71752d621 An include file describes MIPS processor hardware nature, which will
supercedes cpuregs.h eventually.
1998-09-03 05:09:37 +00:00
nisimura 78aedb2cd3 - kernel boot flag 'd' now means "enter DDB asap" like as other ports.
- bump cpu_model[] length as the longest name occupies over 30 characters.
- place machine_arch[] beside machine[] for clearity.
- nuke useless #include directives.
- small scale cleanup in vm_machdep.c
1998-09-02 06:41:22 +00:00
mrg ba1bba6844 register -> int (also fixes egcs warning). minor KNF nit. 1998-08-29 16:13:33 +00:00
nisimura e37ce1c5b6 Make spl(9) rountines target port dependent. delay() is also port
dependent anticipating a target with high resolution timer available
for on-the-fly re-programming.  Enum decstation_t was removed from MI
trap.c.
1998-08-25 01:55:38 +00:00
eeh a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
kleink 546365a27e _POSIX_SOURCE -> _POSIX_C_SOURCE 1998-08-06 11:25:04 +00:00
mycroft a24dbc8065 (Always) (practice) (safe) (macro expansion). 1998-07-31 15:07:41 +00:00
thorpej 37b70b3064 Change the "aresid" argument of vn_rdwr() from an int * to a size_t *,
to match the new uio_resid type.
1998-07-28 21:39:54 +00:00
thorpej 3ff8e6493a Don't cast the null residual pointer passed to vn_rdwr(). 1998-07-28 18:34:52 +00:00
mycroft da2e61d160 Delint. 1998-07-27 13:55:32 +00:00
simonb a211774da1 Fix typo with new poolpage stuff 1998-07-26 10:15:36 +00:00
thorpej 260b2a20f2 Provide PMAP_{,UN}MAP_POOLPAGE(). 1998-07-24 22:03:33 +00:00
jonathan d2ddbe58a2 Add empty opt_cputype.h to satisfy changes committed during
defopt'ing of network options.
1998-07-15 23:57:04 +00:00
mhitch 1143e585fc PS -> SR: PS as alias to SR was removed due to conflict with other usage. 1998-07-14 03:19:17 +00:00
jonathan b37021c1a1 defopt NATM. 1998-07-05 22:48:05 +00:00
jonathan d275e56dee * defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID.
TODO: revisit interaction between native compat and emul compat usage.
1998-07-05 08:49:30 +00:00
jonathan 011f2bda08 defopt NS, NSIP. 1998-07-05 06:49:00 +00:00
jonathan 5c0c5dd0b4 defopt ISO TPIP. 1998-07-05 04:37:35 +00:00
jonathan 5b64a1fc00 "PS" alias for "SR" clashes with netccitt/pk.h. ifdef out. 1998-07-05 04:14:56 +00:00
jonathan 2670278a47 _inqsue and _remque are used by ccitt and iso networking code:
Add #ifdefs to enable them.  (compiles and links, but untested.)
1998-07-05 02:10:14 +00:00
jonathan 3751946b97 defopt INET, NETATALK. 1998-07-05 00:51:04 +00:00
jonathan 466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
thorpej 816e12eac2 defopt COMPAT_SVR4 1998-06-26 00:07:06 +00:00
thorpej 21592147a1 defopt COMPAT_ULTRIX 1998-06-25 23:27:56 +00:00
thorpej c466f11939 defopt COMPAT_LINUX 1998-06-25 23:18:23 +00:00
thorpej 971b8956ef defopt KTRACE 1998-06-25 21:18:11 +00:00
kleink 1fbd0b3749 GC the unused `physadr' type, which was not able to hold a complete physical
address on 2 architectures anyhow.  Also, move the definition of the `label_t'
type inside _KERNEL protection, since it is specific to the in-kernel
setjmp()/longjmp() implementations.
1998-06-14 20:09:22 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
kleink 967614df34 Protect against multiple inclusions. 1998-05-25 21:00:32 +00:00
kleink a97fc2f180 If any of _ANSI_SOURCE, _POSIX_C_SOURCE or _XOPEN_SOURCE are defined, don't
provide any identifiers other than sig_atomic_t.
1998-05-25 20:59:01 +00:00
thorpej 6626878e7b It is no longer necessary for pmap_pinit() and pmap_release() to be
pmap interface functions, as NetBSD no longer uses statically allocated
pmaps (except for the kernel pmap, which is special-cased anyhow).
1998-05-19 19:00:11 +00:00
simonb 9b60278e42 Change external declaration of kdbpeek to match reality. 1998-05-19 04:11:50 +00:00
kleink 687ea7404c Fix some arithmetics lossage on typeless pointers. 1998-05-08 16:55:15 +00:00
kleink aa36ad1f55 Fix some arithmetics lossage on typeless pointers. 1998-05-07 21:01:41 +00:00
mhitch 8c45fef21f When changing the mapping on a page, remove the previous mapping if
there is one.  The Mach VM system seems to take care of this, so it
hasn't knowingly caused a problem.  UVM does change mappings without
removing the current mapping, and will pmap_page_protect() hangs
if pmap_enter() doesn't remove the previous mapping.
1998-05-06 21:53:53 +00:00
kleink a53c1863fe Provide definitions for intptr_t and uintptr_t, signed resp. unsigned integral
types large enough to hold any pointer.
1998-04-27 17:39:10 +00:00
jonathan e0a67e8aa8 Commit definition of mips_set_wbflush(). 1998-04-27 07:34:28 +00:00
jonathan b5798a80f0 define mips3 COUNT and COMPARE cp0 registers (onchip cycle counter) 1998-04-23 10:32:08 +00:00
jonathan 3d2cea267e Commit change missed during Decsystem 5100 chagnes:
prototype declearation for method to override wbflush() callback
vector with model-specific code. Used on DEC r2000a machines with
writebuffers which indicate writebuffer drain via cp0 usability bit.
1998-04-23 10:31:02 +00:00
jonathan 216daa4e5e Configure mips_mclock if "clock|mccclock".
All(?) ARC boxes use mcclock, but QBus decstations use the same
time-of-year clock architecturally mandated for VAXes.
1998-04-19 08:24:19 +00:00
jonathan 53c671e26c Add locore assembler functions to read mips3 cycle counter, and
read and write compare register (controls cycle-driven periodic interrupt).

Use cycle counter for microsecond time on mips3, but for now only on
3min motherboards (5000/150).  the MAXINE baseboard microsecond
counter is more stable and I don't ave no 5000/260 to test.

XXX clkread() is a mess, it should be rewritten.
XXX should add nanotime() to give inkernel nanosecond resolution,
    and then microtime() reworked to use nanotime().
1998-04-19 01:48:34 +00:00
jonathan 6b2d0fa8a0 * Create /sys/arch/mips/include/intr.h, with extern declaration of
interrupt-callout vector from mips locore dispatch code to port code.
* Move branch-emulation declaration to mips/include/trap.h.
* Garbage-collect pmax/pmax/trap.h.
  Not needed now pmax/pmax_trap.c is gone, and after above tidy-up.
1998-03-26 12:46:33 +00:00
jonathan 9376fa1a1b Commit MIPS_INT_MASK_FPU change: use MD symbol to check for pending FPU
interrupts.
1998-03-26 09:21:05 +00:00
mhitch 0fb478e609 Define ELF dynamic types for MIPS (some will be used by ld.elf_so). 1998-03-25 04:06:50 +00:00
thorpej afe0f98a85 Fix some obvious problems in my MIPS kcopy() implementation (a significant
typo, plus get delay slots right on the R3000).
1998-03-23 00:57:13 +00:00
thorpej 7819cad7ec Implement pmap_deactivate() (a noop in this pmap) and clean up
pmap_activate() a little.
1998-03-22 23:12:15 +00:00
mhitch a10657ae4f Set the PID before setting up the wired TLB entries for proc0. The
mips3_HitFlushDCache() fails with a TLB miss otherwise.
1998-03-22 06:31:40 +00:00
thorpej 7bb58d92ce Garbage-collect; vm_page_alloc1() and vm_page_free1() are now in MI code. 1998-03-12 06:26:26 +00:00
thorpej e3bda606eb Add support for UVM. 1998-03-12 05:45:04 +00:00
tsubai 2630ce2157 label 1: within #ifdef pmax is referenced from outside.
so it didn't work without -Dpmax.
1998-03-06 13:54:02 +00:00
thorpej 803f5aa188 Remove the memcpy() alternate entry point for bcopy(), a temporary measure
until the memcpy()/bcopy() thing is worked out.
1998-03-02 23:40:42 +00:00
thorpej da6458bfb4 Implement and switch to MACHINE_NEW_NONCONTIG. 1998-02-25 23:26:41 +00:00
thorpej 4673e0c339 Prototype allocsys(), mips_init_msgbuf(), and mips_init_proc0(). 1998-02-25 23:25:16 +00:00
thorpej 469520ccd4 Pull some code out of N mach_init() functions, and place it in a
common place:
- allocsys(), which computes space for and assigns addresses
  to kernel data structures at boot time.
- mips_init_msgbuf(), which initializes the error message
  buffer at the end of core.
- mips_init_proc0(), which initializes the U-area for proc0
  and nullproc.
1998-02-25 23:24:35 +00:00
perry 1ed8ea9966 note second parm of sysarch() is now void *, + trivial KNF, etc. 1998-02-25 21:41:55 +00:00
perry 56c01cbd82 change second parm of sysarch() from char * to void * 1998-02-25 21:24:56 +00:00
jonathan 78b939d4b5 Pull up duplicated CPP definitions from float.h rev 1.10:
>DBL_MIN and DBL_MAX were less precise than they should have been.
1998-02-21 23:50:24 +00:00
thorpej 2f74d0222a savectx() is prototyped in <mips/cpu.h> 1998-02-19 23:10:18 +00:00
thorpej 0743f83f64 Implement new style crash dumps for NetBSD/mips, lifted from NetBSD/alpha. 1998-02-19 23:09:30 +00:00
thorpej cf06aa7c03 Prototype dumpsys() and savectx(). 1998-02-19 23:07:14 +00:00
thorpej c5862712ae New crash dump format definition for NetBSD/mips. 1998-02-19 23:06:11 +00:00
thorpej c3a02725ea Use a reasonable default for NKMEMCLUSTERS. Previous default value wouldn't
run multi-user for very long at all, and every kernel configuration file
overrides it!
1998-02-19 06:40:09 +00:00
mycroft ec9c3ce899 DBL_MIN and DBL_MAX were less precise than they should have been.
Other minor changes to match other float.h files.
1998-02-18 10:37:04 +00:00
wrstuden 2d3036fc0e Add NETATALK support for mips machines. Somehow the NETISR_ATALK code
didn't make it in. Aproved by Jonathan and tested here at Stanford.

While I'm here, add conditional prototypes for clnlintr() and nsintr()
so that NS and ISO will compile correctly.
1998-02-05 21:48:23 +00:00
jonathan 8b8b6ca51d garbage-collect unused MMSEG. From PR# 3898. 1998-02-02 22:21:32 +00:00
jonathan adac7274cc Finish bi-endian support: add code to sum odd start/end bytes
correctly on both big and little endian systems.
From Tsubai Masanari <tsubai@iri.co.jp> in PR# 4434.
1998-02-02 21:27:17 +00:00
jonathan e50f17aab7 Delete incorrect private declaration of db_maxoff. 1998-02-02 12:49:15 +00:00
jonathan 696b21e65f Change VM_WAIT --> vm_wait() in mips pmap code, where waiting after
vm_page_alloc1() fails to return a page for use as a segtab.

XXX there must be a better way to do this.
1998-02-01 01:55:15 +00:00
thorpej 2ee3e0153d Generate dependencies on the exec format options EXEC_AOUT, EXEC_ECOFF,
EXEC_ELF32, EXEC_ELF64, and EXEC_SCRIPT.
1998-01-22 01:32:14 +00:00
perry 6f57e5c573 multiple include protect machine/limits.h, fixes pr 4473 (from Mika Nystrom) 1998-01-09 22:23:44 +00:00
perry b46484bb8a RCSID Police. 1998-01-05 20:51:25 +00:00
perry 015e898c02 RCSID Police. 1998-01-05 07:02:46 +00:00
thorpej b9f1b716f3 Now that all ports have pmap_activate(), and it has an identical interface,
prototype it in <vm/pmap.h>
1998-01-03 01:12:59 +00:00
mhitch cc997082a5 Someone forgot to update db_tlbdump_cmd() when adding the printf routine
to the TLB dump routines arguements.  Machines would die horibbly when
trying to dump the TLB entries in DDB.  Also don't explicitly "page" the
output, since db_printf takes care of that.
1997-12-06 19:19:07 +00:00
kleink 66c2794142 Add _BSD_SUSECONDS_T_ and _BSD_USECONDS_T_; do some space vs. tab formatting
cleanup
1997-11-23 20:20:53 +00:00
mhitch 44c123573b Define PC_ADVANCE() to advance the PC around the break instruction only
if the break instruction is still there.  This works around a problem with
the software single step in DDB not recognizing the temporary breakpoint
set to emulate the single step.
1997-11-18 21:13:17 +00:00
veego df6d37534b s/NETHER/NARP/ and s/ether.h/arp.h/ for the 'new' arp system. 1997-11-13 10:37:40 +00:00
mhitch c390c7a5e1 The address used by mips1_FlushICache() is a virtual address, not a physical
address.  This caused DDB to hang the machine hard when trying to set a
breakpoint.
1997-11-11 16:50:57 +00:00
thorpej 0b04d28454 Mark uses of long long with /* LONGLONG */ for lint. From
Chris Demetriou <cgd@pa.dec.com>.
1997-11-05 04:36:08 +00:00
thorpej a15938129d asm -> __asm__ 1997-11-05 04:02:26 +00:00
thorpej 4730a8cbec Bug fixes and cleanup from Chris Demetriou <cgd@pa.dec.com>:
- fix _C_LABEL so that it actually works.
- make __RENAME use _C_LABEL.
- fix __RENAME so that it expects an unquoted argument.
- fix __indr_reference and __warn_references so that they
  supply their own final semicolon.
- define __warn_references to nothing if not GNU C (required
  by the way it's used).

The __warn_references semicolon change has to be made
so that __warn_references can be defined into nothing.
(A ; all by itself isn't a great idea.)  The __indr_reference
change was made for consistency.
1997-11-04 23:09:23 +00:00