Commit Graph

16281 Commits

Author SHA1 Message Date
jonathan a4f0d3aef0 Add splx_end label to splx(), for stack traceback code. 1998-09-11 17:37:46 +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
mycroft 62ea009b0e Update for signal handling changes. 1998-09-11 13:31:39 +00:00
mycroft a2d9c7ed82 Use the context flag bits. 1998-09-11 13:22:45 +00:00
mycroft fb526e055c Substantial signal handling changes:
* Increase the size of sigset_t to accomodate 128 signals -- adding new
  versions of sys_setprocmask(), sys_sigaction(), sys_sigpending() and
  sys_sigsuspend() to handle the changed arguments.
* Abstract the guts of sys_sigaltstack(), sys_setprocmask(), sys_sigaction(),
  sys_sigpending() and sys_sigsuspend() into separate functions, and call them
  from all the emulations rather than hard-coding everything.  (Avoids uses
  the stackgap crap for these system calls.)
* Add a new flag (p_checksig) to indicate that a process may have signals
  pending and userret() needs to do the full (slow) check.
* Eliminate SAS_ALTSTACK; it's exactly the inverse of SS_DISABLE.
* Correct emulation bugs with restoring SS_ONSTACK.
* Make the signal mask in the sigcontext always use the emulated mask format.
* Store signals internally in sigaction structures, rather than maintaining a
  bunch of little sigsets for each SA_* bit.
* Keep track of where we put the signal trampoline, rather than figuring it out
  in *_sendsig().
* Issue a warning when a non-emulated sigaction bit is observed.
* Add missing emulated signals, and a native SIGPWR (currently not used).
* Implement the `not reset when caught' semantics for relevant signals.

Note: Only code touched by the i386 port has been modified.  Other ports and
emulations need to be updated.
1998-09-11 12:50:05 +00:00
mycroft 932a812de4 Speed up syscall() slightly in a few cases. 1998-09-11 12:23:44 +00:00
eeh 526dbbab7e Add labels for the compat_sparc32 signal trampoline and break -- er -- fix
suword and fuword.
1998-09-11 00:16:59 +00:00
eeh 6736de02e8 A (slightly modified) version of tv's fix for va_args for kern_printf. 1998-09-11 00:12:41 +00:00
nisimura 97acdd4415 A minor error. kn5800, a MIPS SMP machine, was codenamed "ISIS." 1998-09-11 00:06:12 +00:00
eeh f3ca996011 Add support for 64-bit types if _LP64 is defined. 1998-09-11 00:05:57 +00:00
eeh cdeacb83c2 Don't use fuword()/suword() -- can't count on their size. 1998-09-11 00:04:16 +00:00
scottr 9d1c9d8d38 Use correct devices for zs driver on AVs. From Dave Huang (PR 6107). 1998-09-10 21:40:42 +00:00
pk f6b7ca884e Use our brand new extent_alloc1() function to allocate cache-aligned
DVMA addresses.
1998-09-10 21:08:39 +00:00
is 283229c668 Fix catastrophic typo. DraCos rev. 3 (or older) would crash on exiting from
the first timer interupt.
1998-09-10 20:45:33 +00:00
nisimura d6afdbc88b Complete to fix errors introduced by HX screen dimension detection. 1998-09-10 10:00:39 +00:00
mark 84f15d23f4 Fix bug in switch_exit() from last commit. This fixes PR 6132.
The bug is that the modification to call exit2() removed a stack pop
but not the associated push.
1998-09-10 02:16:28 +00:00
wrstuden eefa9491d1 Turn on support for 115,200 and 230,400 baud. Should work, but might
generate lots of interupts (one per char or so) if we don't have
DMA set up.
1998-09-09 20:58:06 +00:00
phil feb70ddafd Add coda file system character file device. 1998-09-09 19:04:04 +00:00
minoura 6b6b9e2706 Make device probe/attach sessions to be executed at splhigh.
mha driver used interrupt driven I/O.
1998-09-09 16:42:51 +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 2f9d1a8c8c Use MID_MACHINE rather than MID_SPARC in cpu_coredump(), and add a comment
about dumping a SPARC32 core file if we're using emul_sparc32.
1998-09-09 11:06:08 +00:00
thorpej f7a4380174 If _LP64, set MID_MACHINE to MID_SPARC64, else MID_SPARC. This allows us
to uniquely identify ILP32 vs. LP64 core files, and prevents an LP64 kernel
from incorrectly choosing emul_netbsd when it should choose emul_sparc32.
1998-09-09 11:01:38 +00:00
eeh 2a6ae85fc3 Change to MACHINE_ARCH=sparc64 for LP64 machines. 1998-09-09 02:56:38 +00:00
eeh d2570e248c Don't use %tick for microtime on 32-bit kernels -- breaks gettimeofday. 1998-09-09 02:52:54 +00:00
eeh e81ed2237d Fix problems in global pagewalks. 1998-09-09 02:49:56 +00:00
eeh 9487c4be35 Make `machine phys' increment its address. 1998-09-09 02:48:15 +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
rvb ba78af57df Get ready to add Coda 1998-09-08 20:56:08 +00:00
minoura cfa2e4dfa3 Activated options *_PAGER.
That was a careless mistake.
1998-09-08 15:43:27 +00:00
mark f157d15a41 Guard inclusion of opt_cputypes.h 1998-09-08 03:10:07 +00:00
eeh b5e87ba833 Misc. cleanup. 1998-09-07 23:59:07 +00:00
eeh 4a42b68e25 Fixup for 32-bit and 64-bit syscalls. 1998-09-07 23:49:21 +00:00
eeh caff762f80 Fix data corruption problem caused by broken debug code. 1998-09-07 23:48:23 +00:00
eeh f162a39307 Make register32_t unsigned so we don't have sign extension problems. 1998-09-07 23:46:26 +00:00
pk 07b0821d4d Adapt to cpuvar.h changes. 1998-09-07 23:04:28 +00:00
pk b09b9f7339 De-couple the CPU info structure from auto-configuration structures. 1998-09-07 23:02:40 +00:00
pk 729d765620 Clear up some type confusion. 1998-09-07 22:56:46 +00:00
eeh 064281122e Add new 64-bit trap vectors. 1998-09-07 20:02:32 +00:00
mhitch 2c412f42bb scc_softCAR is a bit array, so set it accordingly for a serial console
port (instead of using the scc line number).
1998-09-07 19:54:15 +00:00
mhitch a91d61bced Can't use fi->fi_base to access the resolution registers: it hasn't been
initialized yet.  Use the base variable, and also use the symbolic symbols
to acdess the registers.  Also, the console max_rows is based on the
display height, not the width.
1998-09-07 19:52:49 +00:00
mhitch 3299eb8c5b Fix error in kernel shadow mapping when kernel is loaded into fastmem on
69040/060 and the number of initial KPT pages is odd.  This would cause
a memofy fault before the 040 trap routines were set up and gave a
misleading trap message.  The odd number of KTP pages would result if
Sysptsize was patched, or if a large amount of Zorro3 space was needed.
1998-09-07 19:50:17 +00:00
eeh 8d72d0dc0a Fix problems copying in extended syscall arguments. 1998-09-07 18:23:54 +00:00
minoura 074790dfb9 Make it usable. 1998-09-07 14:24:08 +00:00
minoura 334656f748 Cleanup _doboot, fixing the 040 reboot bug. 1998-09-07 14:14:34 +00:00
minoura 99517aa6c3 Reorganized the config files based on NetBSD/sparc ones.
Removed unmaintained files.
1998-09-07 14:11:08 +00:00
pk e21c0b3450 Need to cast sbus attach `prom_vaddrs' field. 1998-09-07 07:15:51 +00:00
pk c4c4e35608 Undo last change (we're passing the address of a pointer here). 1998-09-07 07:11:11 +00:00
nisimura c6a0c2d34c Added more MIPS processor IDs. 1998-09-07 06:32:18 +00:00
eeh aecf435d40 Add new 64-bit specific traps and 64-bit Solaris syscall. 1998-09-07 01:39:52 +00:00
eeh edc4ed9846 32-bit fixup. 1998-09-06 21:53:41 +00:00