Commit Graph

127 Commits

Author SHA1 Message Date
perry
2d542ba1f8 inline -> __inline 2005-12-28 19:09:29 +00:00
perry
e7b322a5f7 inline -> __inline 2005-12-28 18:40:13 +00:00
perry
50a256a3a0 __asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
2005-12-24 23:23:59 +00:00
perry
2d65de2479 bare asm -> __asm 2005-12-24 22:45:33 +00:00
perry
5f1c88d70d Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete. 2005-12-24 20:06:46 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
he
7a4c4764d9 Remove "bad" label no longer in use. 2005-07-03 22:21:10 +00:00
christos
6d30dcee75 PR/29607: Christian Biere systrace doesn't handle interrupted syscalls properly
Instead of jumping to the default "bad" case, jump to the error handling
switch, so that we can deal with ERESTART/EJUSTRETURN properly.
2005-07-01 18:01:44 +00:00
he
0f76827b9a Remove the declaration of a now-unused local variable. 2005-06-10 22:34:05 +00:00
matt
e1245a3c46 Rework the coredump code to have no explicit knownledge of how coredump
i/o is done.  Instead, pass an opaque cookie which is then passed to a
new routine, coredump_write, which does the actual i/o.  This allows the
method of doing i/o to change without affecting any future MD code.
Also, make netbsd32_core.c [re]use core_netbsd.c (in a similar manner that
core_elf64.c uses core_elf32.c) and eliminate that code duplication.
cpu_coredump{,32} is now called twice, first with a NULL iocookie to fill
the core structure and a second to actually write md parts of the coredump.
All i/o is nolonger random access and is suitable for shipping over a stream.
2005-06-10 05:10:12 +00:00
chs
47a4c9b6ff adapt to const changes. 2005-06-03 15:21:35 +00:00
scw
8f4aee207b Declare the second arg of process_write_{fp,}regs() to be const.
This permits sh5 to continue to re-use those functions in cpu_setmcontext()
with the recent change to Makefile.kern.inc (revision 1.62).
2005-06-01 13:01:35 +00:00
chs
90fe0e8ced avoid a shadow. 2005-05-31 16:10:47 +00:00
chs
0400611d8a adapt to const changes. 2005-05-30 16:02:09 +00:00
chs
94622623d8 in pmap_enter(), preset the mod/ref bits based on the flags argument.
fixes 25640.
2005-05-29 15:56:59 +00:00
kleink
4a6a03b162 Include <sys/cdefs.h> for __signed; related to lib/30072. 2005-05-25 20:58:00 +00:00
chs
b25ecfbe53 only lvalues can be incremented. found by gcc4. 2005-05-20 15:09:45 +00:00
chs
9a563a9ab1 in pmap_protect(), remove the assertion that any entries modified must be
managed.  after the yamt-km changes, the sti driver needs to add execute
permission to the (now unmanaged) mapping for its copy of the card firmware,
and this appears to work fine already.
2005-05-07 15:54:46 +00:00
chs
9159c32c9e add additional args to frame_sanity_check() so we can log which
context it was called from and the trap type (if called from trap()).
2005-05-07 15:06:51 +00:00
chs
e92ef73e64 in the trap handler for T_EMULATION traps, also check if the opcode is 0xe.
if it is, then the instruction is an FPU instruction and we must not check
bits 23-25 since they are not a UID field in this format.

this fixes the spurious SIGILLs sometimes triggered by xmpyu instructions.
2005-05-07 15:03:00 +00:00
chs
750baa7b66 in sendsig(), set tf->tf_iisq_* as well, since a thread might take a signal
while it's executing in the gateway page.
2005-05-07 14:27:14 +00:00
chs
521e1394ad remove the sigcontext signal stuff, we've never used it. 2005-05-01 19:19:25 +00:00
chs
058afa680c flush the FPU before accessing the PCB copy. 2005-05-01 19:18:39 +00:00
chs
e47a91f6f0 paranoia: move the dcache flush to the end. 2005-05-01 19:18:12 +00:00
chs
613d022e34 check pcb_onfault for kernel T_DATALIGN traps (for ddb). 2005-05-01 19:17:52 +00:00
chs
e7346e3b2b in cpu_lwp_free(), use hppa_fpu_flush() instead of a broken inline version.
in vmapbuf() and vunmapbuf(), adapt to yamt-km API changes.
2005-05-01 15:23:18 +00:00
kleink
b2cb7fcd8a Push back the descriptions of NaN formats, and descriptions of the
distinction between signalling NaNs and quiet NaNs back into the
machine-dependent headers; treat the implementation of __nanf in the
same spirit.

IEEE 754 leaves the distinction between signalling NaNs and quiet NANs
to the implementation, and unlike our headers used to suggest they're
not identical in the interpretation of the fraction's MSb; in due
course, make those of hppa, mips, sh3, and sh5 reflect reality.
2005-04-15 22:39:10 +00:00
yamt
6b2d8b66a4 merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
  save some resources like pv_entry.  also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.
2005-04-01 11:59:21 +00:00
tsutsui
061b204c56 user_backtrace() is used if DEBUG or USERTRACE is defined, but not DIAGNOSTIC. 2005-02-17 14:19:49 +00:00
skrll
015f297666 Modernise these to use GCC __builtin_* functions and types.
Also provide a (protected) va_copy.
2005-02-04 12:15:22 +00:00
jmc
3fed402d23 Provide lint wrappers around the va_* defs like other ports do so this can
make it through lint (was dying in libpam)
2005-02-03 23:45:37 +00:00
jkunz
e4bed1ee79 Implement powerd(8) interface via sysmon(9) for power switch, controllable by sysctl(8). 2005-01-31 18:17:35 +00:00
jkunz
48f11129db Import mfcpu() from OpenBSD, needed by power switch code. 2005-01-31 17:32:15 +00:00
atatat
a076957818 Convert the PMAP_PREFER() macro from two arguments (offset and hint)
to four (adding size and direction).

In order for topdown uvm to be an option on ports using PMAP_PREFER,
they will need to "prefer" lower addresses if topdown is being used.
Additionally, at least one port also needs to know the size.
2005-01-17 04:37:20 +00:00
skrll
f7155e40f6 There's no need to pass a proc value when using UIO_SYSSPACE with
vn_rdwr(9) and uiomove(9).

OK'd by Jason Thorpe
2004-09-17 14:11:20 +00:00
thorpej
6c08646cb8 Garbage-collect pagemove(); nothing use it anymore (YAY!!!) 2004-08-28 22:12:40 +00:00
jkunz
1035c6af08 Import STI wscons(4) driver from OpenBSD and add new driver for PS/2
keyboard / mouse pots of LASI.
2004-08-26 16:48:06 +00:00
chs
7732d6db9d handle T_CONDITION traps (by sending SIGFPE).
fix T_EXCEPTION code to handle the other FP major opcodes.
2004-08-07 21:47:05 +00:00
chs
43d9a77774 remove the alignment attribute from the typedef of __cpu_simple_lock_t
since it doesn't have any affect and lint chokes on it.
2004-08-07 21:42:10 +00:00
chs
1974de97c5 stub out the ldcw stuff for now, since gcc -O2 chokes on it. 2004-08-07 21:41:44 +00:00
chs
2e5e9111d9 clean up some register naming. 2004-08-07 21:41:18 +00:00
chs
f05f720ae1 real siginfo support. 2004-07-24 19:04:53 +00:00
chs
d2943099a2 FPU fixes and improvements, adapted from openbsd:
- handle exceptions correctly
 - emulation of unimplemented instructions (eg. on PA-7300LC)
2004-07-24 18:59:05 +00:00
chs
7a0d577e38 put RAS_DECL() back to declaring a function by default (since SH5
requires that).  instead, allow <machine/types.h> to override the
default definition and do so on hppa.
2004-07-19 03:12:31 +00:00
chs
0d86a5cd52 add hppa support for RAS, context stuff, siginfo and scheduler activations:
- add a RAS hook in cpu_switch().
 - fill in the definition of struct mcontext.
 - implement cpu_upcall(), cpu_getmcontext(), cpu_getmcontext() and
   cpu_switchto().
 - for now, force the right priviledge bits and space regs in setcontext().
 - use correct values for __SIMPLELOCK_*.
 - move the user stack to start at a multiple of the pthread stack size
   so that libpthread can use the sp-masking trick.
2004-07-18 23:21:35 +00:00
chs
611ac30047 use mi_userret(). 2004-07-18 20:57:34 +00:00
chs
807ed3c6d2 store the kernel stack pointer for a sleeping LWP in its PCB instead of
in its trapframe.  this is needed for scheduler activations, so that we can
change the user stack pointer via the trapframe.  from openbsd.
2004-07-18 20:27:11 +00:00
chs
8f2322ff01 remove an extra instruction I added with an overzealous cut+paste. 2004-07-14 07:23:10 +00:00
chs
9c209c4b37 clear pcb_onfault before calling uvm_fault() and restore it after.
remove some debug code that actually makes debugging harder.
2004-06-15 16:29:32 +00:00
chs
b7bd18170e flush the dcache after accessing pcb_fpregs.
we access it with the DTLB both on and off,
so we need to avoid bad cache aliases.
2004-06-15 16:29:01 +00:00