Commit Graph

488 Commits

Author SHA1 Message Date
nisimura 6ebba254e7 - Put comments on several DDB helper routines. 1999-01-07 00:36:09 +00:00
nisimura 858e67e157 - Complete vm_offset_t purge for mips processor.
- bzero() -> memset() and bcopy() -> memcpy().
- Garbage collection in trap.c and db_interface.c.
1999-01-06 04:11:25 +00:00
nisimura fe061a7ae4 - Eliminate dead code in TLB miss handler. Fortunately it has never been
executed.  Once execunted, the result would be castrophic because it has
addressing error.
1998-12-28 00:31:03 +00:00
msaitoh 7c25d335bf s/are are/are/ 1998-12-25 16:52:10 +00:00
nisimura 14b18ffcb5 - Remove improper casts mistakenly creeped in the last commit. 1998-12-07 04:21:57 +00:00
jonathan 340efce0ea Track PV_REFERENCED bit as for PV_MODIFIED, to make mdsetimage work correctly.
Compatiblity with Mach VM: clear pmap-private bits in pmap_remove() if !UVM.
1998-12-05 09:13:09 +00:00
jonathan aecf708ee3 Clean up kernel PTE allocation. Allocate space for maxproc kernel stacks.
Bump UVM swap-map to avoid panics on large swap machines.
1998-12-05 07:50:12 +00:00
jonathan ea1aa3511c #ifdef _KERNEL around cpu_exec_ecoff_setregs() prototype. 1998-12-05 07:26:11 +00:00
nisimura 75ff38a27d - Fix an error in primary cache line size detection logic; when IC and/or DC
bit is 1, then line size is 32.  Otherwise, 16.
1998-12-04 10:32:08 +00:00
nisimura 9f33638436 - Fix and improve confusing indentations inside trap().
- Don't make a reference of curproc when it has NULL value.  It causes
double fault upon a fatal panic ocation.
- Macro FETCH_INSTRUCTION() took a value of address 0.
-
1998-12-04 04:35:44 +00:00
nisimura 3c6a704193 - Use explicite structure member reference with 'struct frame' to alter
register values of exception frame pointed with p->p_md.md_regs.
- Local auto variable 'cpustate' in cpu_coredump() was never used correctly.
1998-12-03 06:28:45 +00:00
thorpej a6f7e0c05a Implement WARN_REFERENCES(). 1998-12-02 00:58:42 +00:00
jonathan 7d813b16c3 Add PV_REFERENCED and track as for PV_MODIFIED,.
UVM relies on pmap modules keeping track of modified/referenced bits
after a page has been removed from all mappings.  So *dont* clear
PV_REFERENCED or PV_MODIFIED flags in pmap_remove().
1998-11-29 03:18:32 +00:00
thorpej e3e5bd6220 Erg, fix the non-error code path, too. 1998-11-26 21:16:08 +00:00
thorpej e328e13450 Oops, in some delay slot confusion, I ended up clobbering s0 before it
restored pcb_onfault.  Make it the way I wrote it originally, which was
correct.  Pointed out by Michael Hitch and Charles Hannum.
1998-11-26 20:52:45 +00:00
nisimura 53ac67d9b1 - Fix two bugs; inst_call() is supposed to check OP_SPECIAL opcode with
either OP_JR function code or *OP_JALR* function code (not OP_JAL opcode).
insn_unconditional_flow_transfer() was to read an unintialized variable.
Those MD DDB routines seems not useful work so far.
1998-11-25 01:14:48 +00:00
mrg db3051d720 fix problems in many d_mmap routines:
- returned EOPNOTSUPP rather than -1.
	- no check for negative offset.
many of these fix potential security problems in these drivers.


XXX XXX XXX
the d_mmap cdev routine should be changed to have a prototype like:
	paddr_t (*d_mmap) __P((dev_t, off_t, int));

by someone!
1998-11-19 15:38:20 +00:00
mhitch 549407b634 Change page modification emulation: don't fiddle with VM flags directly.
Track page modification status in the PV entry like the alpha, and let
pmap_is_modified() return current status back to the VM system.  UVM now
works reliably.

Garbage collect the old pmap_attribute[] stuff.
1998-11-15 02:34:19 +00:00
thorpej 49c62c4336 Changes to support fork_kthread():
- cpu_set_kpc() now takes void *arg third argument, passed to the
  entry point.
- cpu_fork() allows parent to be non-curproc iff parent is proc0.
  When forking non-curproc, assume its state has already been saved.
- Adjust various pieces of machine-dependent code to account of all of this.
1998-11-11 06:41:23 +00:00
nisimura 8ed3c420dc - Withdraw a duplicated file. This has never been a part of distribution. 1998-11-11 05:00:42 +00:00
simonb 67f74ebee4 Implement the new BUFCACHE option. 1998-11-02 07:43:37 +00:00
jonathan 558bc32937 Add missing braces pointed out by egcs. 1998-10-28 04:28:32 +00:00
jonathan dd735283c1 Add `struct proc;' to keep egcs warnings happy in userland.
XXX why are kernel prototypes visible here at all?
1998-10-28 04:26:52 +00:00
jonathan 04062f718c Cleanup kdbpeek() definition as noted in PR port-mips/5252. 1998-10-24 01:36:09 +00:00
jonathan e68e8297d2 Fix stacktrace alignment, in case of 64-bit stores into stackframes.
From pr port-mips/5536 from Castor Fu <castor@geocast.com>
1998-10-24 01:14:26 +00:00
tron b296275bb4 Defopt SYSVMSG, SYSVSEM and SYSVSHM. 1998-10-19 22:09:13 +00:00
drochner eaafa2dbd1 Zero-initialize the initial u-area. This cures the "random process killed
by SIGPROF or SIGVTALRM" syndrome.
1998-10-18 22:00:17 +00:00
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