Commit Graph

992 Commits

Author SHA1 Message Date
jdolecek 8b24036797 Require the machine-dependant DDB commands to be in db_machine_command_table[]
and link it directly to db_command_table[] so that it's not necessary
to do this at runtime. Make db_machine_command_table[] const on all ports.
g/c now unneded stuff, like db_machine_commands_install(), db_machine_init()

Patch written by enami.
2001-01-22 13:56:55 +00:00
ur 4c458e5c42 Fix register name typo. 2001-01-20 07:23:21 +00:00
shin 2e0943daa2 - fix prototype of db_mips_variable_func(). 2001-01-19 01:41:36 +00:00
tv e58532a4bf No-op commit to force update to a non-"-kk" revision. 2001-01-18 17:47:58 +00:00
jdolecek d5d431e8ae make db_[e]regs[] const 2001-01-18 10:54:27 +00:00
thorpej 9f5a22b3ee New syscall entry implementation based on the Alpha version
as hacked by mycroft.
- Use syscall_intern() to give a process a plain or fancy
  syscall based on ktrace flags.
- Avoid copying from the trapframe into a local array as much
  as possible.

Yields roughly 5% improvement on a 25MHz R3000 (DECstation 5000/200)
on a simple syscall benchmark.

There's still some work that can be done using __HAVE_MINIMAL_EMUL.
2001-01-16 06:01:26 +00:00
thorpej 61473e63f9 Define __HAVE_AST_PERPROC. 2001-01-14 22:32:57 +00:00
thorpej da57125f23 Now that we won't lose signotify()'s while we're asleep, go ahead
and to signal processing in ast() again.
2001-01-14 21:22:56 +00:00
thorpej 53d2115d66 Make the astpending flag per-process. 2001-01-14 21:18:39 +00:00
thorpej a3ec356d52 splimp() -> splvm() 2001-01-14 03:22:04 +00:00
thorpej fd0ca62926 Put signal posting back in userret() for now; for it to work
properly, we need to make astpending a per-process variable.

Pointed out by mycroft.
2001-01-14 00:39:48 +00:00
thorpej 2574f338e1 Remove a couple of now-unsed variables (args that are now no longer
passed to userret()).
2001-01-14 00:35:53 +00:00
thorpej 1eb36d23fd - Make ast() loop around astpending; it's possible for a new
AST to be posted when delivering signals, or after a process
  is preempted.
- Move all signal posting to ast().  userret() is now a one-liner.
2001-01-14 00:10:28 +00:00
thorpej 777efd8cdc Check for ASTs in Syscall and UserGenException, too; AST processing
must be done on *every* return to userland.
2001-01-13 23:49:12 +00:00
thorpej fd0605fc53 Mmm, dependency problems. Add a cast to make PROC_PC() actually
work.
2001-01-11 21:08:18 +00:00
thorpej e292dc9609 Move userret() into a header file, in preparation for splitting
syscall() into plain and fancy.
2001-01-11 18:44:29 +00:00
thorpej f1152a965b Modeled after mycroft's changes to the Alpha port, add PROC_PC() to
get profiling out of userret(), and move the preemption check to ast().
2001-01-11 18:30:16 +00:00
simonb f514e805ed Move prototypes for mips_user_cachectl() and mips_user_cacheflush()
to <mips/cachectl.h>.
2001-01-07 04:13:16 +00:00
shin ce0d1ad2fe - don't ignore DEFCOPTS (Makefile.mips).
- DEFCOPTS of hpcmips is "-Os -mmemcpy" (std.hpcmips).
2001-01-04 05:13:30 +00:00
takemura c5fd828440 replace 'long long' with int64_t to compile stand alone program with
compiler other than GCC.
2001-01-03 10:08:55 +00:00
castor a0c38fa362 Fix sendsig/sigreturn for SOFTFLOAT case. 2000-12-31 19:06:40 +00:00
castor a698752050 Disable FPU in sys___sigreturn14() so floating point registers are
properly restored.
2000-12-28 09:27:09 +00:00
castor a099ff1f75 Preserve the status register process_write_regs() to avoid confusion
about the current floating point context.
2000-12-27 08:28:12 +00:00
itojun efa2b7073c make mbstate_t bigger (32 -> 128 bytes).
XXX if you have libc after citrus locale import, please recompile libc,
and your applications that use mbstate_t (rather rare).  really sorry
for the mess.
2000-12-26 10:35:28 +00:00
nisimura 752dce24ae - fix typos in mips_user_cacheflush() and mips_user_cachectl().
- relocate those function declarations from include/pmap.h.
2000-12-25 08:56:12 +00:00
jdolecek e9e91a0fb5 split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.
2000-12-22 22:58:52 +00:00
itojun 823498203f populate _BSD_MBSTATE_T_. add warning regarding to rune_t. 2000-12-21 06:03:47 +00:00
chs fc03073896 expose the tunables ubc_nwins and ubc_winsize in uvm_param.h.
add the space used by UBC mappings to the initial PTE calculations
for pmaps that do that (mips and alpha).
2000-12-21 00:52:01 +00:00
jeffs a68a400049 Hook mips3 cache error vector. No real handler, only set-up for a panic.
A real handler is hard.
2000-12-20 05:48:06 +00:00
jdolecek cacec11253 delete obsolete comment 2000-12-17 15:52:39 +00:00
jeffs 1c726aab7f For MIPS software masking option, when returning to user mode apply
the mask to all interrupts to catch changes in the mask state faster.
Does not affect platforms w/o this option enabled.
2000-12-14 21:29:51 +00:00
jeffs 19adf5c987 Make userret() "static __inline". This lets it be inlined, even if you
do not have the compiler inline normal functions to save space.  It helps
a bit on lmbench.
2000-12-14 21:24:53 +00:00
jdolecek ca57e681bd g/c obsolete vtrace(2) stuff 2000-12-13 18:13:05 +00:00
tsutsui c8a3a939e3 space -> TAB 2000-12-11 15:38:43 +00:00
tsutsui 7212823f47 Set USPACE_ALIGN to USPACE on mips. 2000-12-11 15:37:32 +00:00
chs b9423d9d52 in pmap_enter(), do not mark the page modified just because we mapped it
for write to a kernel address.  callers may now use the "flags" argument
to cause this to happen when desired.
2000-12-10 19:25:44 +00:00
matt 2e13ae83bc cpp/lorder/mkdep don't have cross specific versions. 2000-12-09 20:42:06 +00:00
matt cc1a776969 Add DEFGP/CROSSDIR for hpcmips. 2000-12-03 07:55:12 +00:00
matt b927e12eee Remove redundant depend of fp.S 2000-12-03 07:44:43 +00:00
matt 8bddbd2266 Include FP support if NOFPU is *NOT* defined. 2000-12-03 07:21:50 +00:00
matt 825cb46de5 Revert back to a machinearch (really cputype) of mips. Put ENDIAN back. 2000-12-03 07:05:21 +00:00
matt c1dbeee6d0 Deal with lack of floating point on hpcmips, etc. 2000-12-03 06:04:50 +00:00
matt 866f93d61f Change arch from mips to mipsel/mipseb as appropriate. Nuke the ENDIAN
makeoption.  Key off MACHINE_ARCH for adding -EB/-EL to CFLAGS/AFLAGS/LD/
LINKFLAGS.
2000-12-03 05:30:31 +00:00
matt ecf6f5a91f Add a POST_STRIP_SYSTEM_LD_FLAGS for mipsco and pmax. 2000-12-03 04:52:38 +00:00
matt 5e67131b91 Start using a Makefile.mips. Use a combination of makeoptions and
Makefile.sgimips.inc which has sgimips specific stuff.
2000-12-03 02:07:04 +00:00
tsutsui 936191481d Prepare cpu_exec_ecoff_probe() for mips which just returns ENOEXEC,
as per discussion on tech-kern.
2000-11-27 13:25:24 +00:00
soren a5dad0db13 Correct a few cpu/fpu ids. 2000-11-27 06:38:54 +00:00
nisimura fdfe3556de Use only one TLB entry to wire down process's USPACE since it's
now guranteed to be aligned on 8KB boundary in kernel virutal
address.  Retain one more free TLB entry.
2000-11-27 06:37:32 +00:00
chs b5142d6841 increase PAGER_MAP_SIZE to 16MB and move it to uvm_pager.h
since the alpha and mips pmaps use it.
2000-11-24 22:41:38 +00:00
soren 4927de268a Adjust for p_emul change. 2000-11-21 02:26:07 +00:00