Commit Graph

416 Commits

Author SHA1 Message Date
thorpej 011d4d5f44 Add kernel support for having userland provide the signal trampoline:
* struct sigacts gets a new sigact_sigdesc structure, which has the
  sigaction and the trampoline/version.  Version 0 means "legacy kernel
  provided trampoline".  Other versions are coordinated with machine-
  dependent code in libc.
* sigaction1() grows two more arguments -- the trampoline pointer and
  the trampoline version.
* A new __sigaction_sigtramp() system call is provided to register a
  trampoline along with a signal handler.
* The handler is no longer passed to sensig() functions.  Instead,
  sendsig() looks up the handler by peeking in the sigacts for the
  process getting the signal (since it has to look in there for the
  trampoline anyway).
* Native sendsig() functions now select the appropriate trampoline and
  its arguments based on the trampoline version in the sigacts.

Changes to libc to use the new facility will be checked in later.  Kernel
version not bumped; we will ride the 1.6C bump made recently.
2002-07-04 23:32:02 +00:00
thorpej 7f7f0f86bd When delivering a signal, arrange for the handler to be invoked
directly.  The trampoline is now used only for the return, and
makes it another 2 instructions shorter.
2002-06-23 18:49:33 +00:00
thorpej 508e2dcf41 When delivering a signal, don't push the signum, code, and context pointer,
or handler onto the stack.  Instead, just stuff them into the correct
argument registers (handler is a "4th arg").
2002-06-23 18:35:05 +00:00
christos 3b50728cf4 MD systrace gluons. 2002-06-17 16:32:57 +00:00
uch ba28fa4dc2 change disklabel to
16 partition.
 no bsd area of the disk.
2002-05-22 15:01:33 +00:00
msaitoh 7c10da8b66 fix some overflow cases. 2002-05-19 15:10:46 +00:00
matt 0a6d35b7ed Nuke local extern label_t *db_recover; it's now in <ddb/db_extern.h> 2002-05-13 20:30:07 +00:00
uch 3fb2a4d436 cosmetic changes. 2002-05-10 15:28:45 +00:00
uch 4e8a77d890 clean up disassembler code. 2002-05-10 15:27:05 +00:00
uch 55326aaa7e remove COMPAT_13 staff. No 1.3 release of sh3 port. these are trace of
i386 port.
2002-05-10 15:25:12 +00:00
uch 3a1a0b37af IOM_RAM_BEGIN is changed to specify physical address. 2002-05-09 12:32:09 +00:00
uch cee1a2f41a remove unused macro. 2002-05-09 12:31:38 +00:00
uch 2ca56b0d33 remove postsig. postsig is called by ast(). 2002-05-09 12:31:19 +00:00
uch d5020bf906 remove obsolete interface. add defines for inquire cache feature. 2002-05-09 12:30:45 +00:00
uch 44b57799f2 fix comment 2002-05-09 12:30:11 +00:00
uch 4c73523c72 suitable for SH3/SH4 memory architecture.
support non-contiguos memory banks.
2002-05-09 12:29:48 +00:00
uch c34e1b1ad5 adapted to pmap and exception code changes. 2002-05-09 12:29:16 +00:00
uch 5cf2727a95 new pmap designed for SH3/SH4. 2002-05-09 12:28:08 +00:00
uch bf93dc9b4c remove obsoleted functions. add sh_tlb_update() for update TLB.
MMU mode is changed to multiple virtual storage mode for new pmap code.
2002-05-09 12:27:04 +00:00
uch fa6d5570e7 fix ASID mask define 2002-05-09 12:26:16 +00:00
uch 944192661c s/trapno/expevt/ for clarity. 2002-05-09 12:25:41 +00:00
uch d610fecf0f rework general exception, and TLB exception handling for new pmap.
all exception staffs are moved to exception.[ch]
2002-05-09 12:24:19 +00:00
thorpej a19e4685f7 Make CLKF_INTR() slightly less broken. The previous definition always
tested true if the CPU was running in the kernel at the time of the clock
interrupt, therefore all such time (kernel and idle) was counted as interrupt
time.  The new definition simply punts on trying to count interrupt time,
which allows us to see kernel and idle time.
2002-05-07 04:01:59 +00:00
thorpej 3a3df0d1d2 Fix reading values mapped in P1 via /dev/kmem (problem uncovered by
uch's new pmap).
2002-05-07 03:28:25 +00:00
uch 7eaf6db5bd remove #if 0 #endif 2002-04-29 09:33:30 +00:00
uch 01eebf7a36 KNF. 2002-04-29 09:32:56 +00:00
uch 6d338ff407 Use "#define<tab>", white space nits. 2002-04-28 17:10:32 +00:00
msaitoh c67dc60a0a add missing postsig() call.
I don't know whether this is true fix or not.
2002-04-28 12:51:14 +00:00
msaitoh ccc0ee640f add missing softintr_establish() call. 2002-04-28 11:38:48 +00:00
msaitoh 271b97bb3b add SH4 Processor Version Register 2002-04-26 11:56:02 +00:00
msaitoh f6bf722a2e fix around PTR and PDR 2002-04-26 10:22:53 +00:00
msaitoh 0465d9b191 add missing SCPDR_SCP0DT definition 2002-04-25 20:17:04 +00:00
uch 14fff32a83 remove duplicated SH3, SH4 define. 2002-04-23 13:59:03 +00:00
uch d1b9873090 make these compile with gcc -O0 2002-04-22 18:57:43 +00:00
thorpej c3050006aa * Defflag the SH3 and SH4 options.
* In <sh3/cputypes.h>, always define both SH3 and SH4 if _LKM is defined.
2002-04-20 19:59:11 +00:00
uch 5f10da67a7 Define all CPU types if _LKM is defined. 2002-04-16 17:33:56 +00:00
uch cb4570f5f5 remove obsolete functions, decralations and structure. 2002-04-04 18:12:23 +00:00
msaitoh 55aa2c46b9 sync with i386/include/pmap.h rev. 1.45:
make dangerous pmap_copy() and pmap_move() no-op.
2002-04-03 10:38:51 +00:00
msaitoh 66227882a3 sync with i386/i386/pmap.c rev. 1.94:
make dangerous pmap_copy() and pmap_move() no-op.
2002-04-03 10:37:48 +00:00
uch dade289395 add uvmexp.intrs++ 2002-03-28 15:34:20 +00:00
uch 0ae715f6d2 All the sh3 ports had an identical procfs_machdep.c, so use a common
file under arch/sh3/sh3.
2002-03-27 10:44:38 +00:00
chs e0a7781fc7 avoid accounting errors in pmap_enter() by only updating the counters
once the operation can no longer fail.  fixes PR 16028.
2002-03-27 04:47:28 +00:00
uch 7803620f8d mmeye specific devices are moved to mmeye/dev 2002-03-24 18:08:42 +00:00
uch 24ec477a45 Rework interrupt code.
+ Fully utilize SH SR.I[0:3] interrupt level.
 + software interrupt is emulated by TMU1, 2 one shot interrupt.
 + implement generic soft interrupts.
 + implement clockframe correctly.
2002-03-24 18:04:39 +00:00
uch 50fcaf7ba0 add cpu device. 2002-03-24 18:01:29 +00:00
uch 049c84193e shb device is integrated to sh3/dev/shb.c and clean up locators. 2002-03-24 18:00:41 +00:00
uch 731150d9ce add SH7750S IPRD register define 2002-03-24 17:57:33 +00:00
itojun 7ffd9429a4 s/PS_STRINGS/p->p_psstr/, as requested by christos 2002-03-18 17:00:20 +00:00
atatat 31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
uch 93da9db963 cosmetic changes, fix comments. 2002-03-17 17:55:22 +00:00