freebsd-skq/sys/powerpc/include
John Baldwin 688ebe120c - Close races with signals and other AST's being triggered while we are in
the process of exiting the kernel.  The ast() function now loops as long
  as the PS_ASTPENDING or PS_NEEDRESCHED flags are set.  It returns with
  preemption disabled so that any further AST's that arrive via an
  interrupt will be delayed until the low-level MD code returns to user
  mode.
- Use u_int's to store the tick counts for profiling purposes so that we
  do not need sched_lock just to read p_sticks.  This also closes a
  problem where the call to addupc_task() could screw up the arithmetic
  due to non-atomic reads of p_sticks.
- Axe need_proftick(), aston(), astoff(), astpending(), need_resched(),
  clear_resched(), and resched_wanted() in favor of direct bit operations
  on p_sflag.
- Fix up locking with sched_lock some.  In addupc_intr(), use sched_lock
  to ensure pr_addr and pr_ticks are updated atomically with setting
  PS_OWEUPC.  In ast() we clear pr_ticks atomically with clearing
  PS_OWEUPC.  We also do not grab the lock just to test a flag.
- Simplify the handling of Giant in ast() slightly.

Reviewed by:	bde (mostly)
2001-08-10 22:53:32 +00:00
..
_limits.h Our SHRT_MIN definition was actually 4 bits too big. 2000-11-04 21:01:44 +00:00
ansi.h Make _BSD_TIME_T_ (time_t) an int' rather than long'. This will help 2001-05-18 01:43:25 +00:00
asm.h Style fix FreeBSD ID, and change continuation style slightly. 2001-06-09 05:01:24 +00:00
atomic.h Fix the atomic_*_32 operations. These were written before I had the ability 2001-06-27 12:17:23 +00:00
bat.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
bootinfo.h Add CVS id. 2001-06-15 22:54:33 +00:00
bus.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
clock.h This commit (along with one pending in sys/dev/ofw and one in sys/conf) give 2001-06-16 07:14:07 +00:00
cpu.h - Close races with signals and other AST's being triggered while we are in 2001-08-10 22:53:32 +00:00
cpufunc.h Fix the atomic_*_32 operations. These were written before I had the ability 2001-06-27 12:17:23 +00:00
db_machdep.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
elf.h Use a machine dependent type, Elf_Hashelt, for the elements of the elf 2001-07-31 03:46:39 +00:00
endian.h ID style nit. 2001-06-09 05:24:14 +00:00
exec.h PowerPC platform-specific page size setting. 2001-01-01 23:26:39 +00:00
fpu.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
frame.h fix RCS ID style nit 2001-06-09 16:54:11 +00:00
globaldata.h Axe unused and invalid astpending globaldata member. 2001-08-04 20:47:54 +00:00
globals.h This commit (along with one pending in sys/dev/ofw and one in sys/conf) give 2001-06-16 07:14:07 +00:00
intr.h Fix the atomic_*_32 operations. These were written before I had the ability 2001-06-27 12:17:23 +00:00
ipl.h This commit (along with one pending in sys/dev/ofw and one in sys/conf) give 2001-06-16 07:14:07 +00:00
limits.h Our SHRT_MIN definition was actually 4 bits too big. 2000-11-04 21:01:44 +00:00
md_var.h This commit (along with one pending in sys/dev/ofw and one in sys/conf) give 2001-06-16 07:14:07 +00:00
mutex.h This commit (along with one pending in sys/dev/ofw and one in sys/conf) give 2001-06-16 07:14:07 +00:00
openpicreg.h Register definitions for the OpenPIC used in various models of 2001-07-01 02:43:38 +00:00
param.h This commit (along with one pending in sys/dev/ofw and one in sys/conf) give 2001-06-16 07:14:07 +00:00
pcb.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
pcpu.h Axe unused and invalid astpending globaldata member. 2001-08-04 20:47:54 +00:00
pio.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
pmap.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
powerpc.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
proc.h Add a new MI pointer to the process' trapframe p_frame instead of using 2001-06-29 11:10:41 +00:00
psl.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
pte.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
ptrace.h Zap 'ptrace(PT_READ_U, ...)' and 'ptrace(PT_WRITE_U, ...)' since they 2001-08-08 05:25:15 +00:00
reg.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
reloc.h This commit (along with one pending in sys/dev/ofw and one in sys/conf) give 2001-06-16 07:14:07 +00:00
resource.h * Implement bus_set/get/delete_resource for pci. 1999-10-14 21:38:33 +00:00
setjmp.h PowerPC platform-specific definitions (modeled on sys/i386/include/setjmp.h) 2001-01-02 00:34:24 +00:00
sigframe.h sigset_t change (part 3 of 5) 1999-09-29 15:06:27 +00:00
signal.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
smp.h This commit (along with one pending in sys/dev/ofw and one in sys/conf) give 2001-06-16 07:14:07 +00:00
stdarg.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
trap.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
types.h This commit (along with one pending in sys/dev/ofw and one in sys/conf) give 2001-06-16 07:14:07 +00:00
ucontext.h Minor style tweaks. 2001-01-02 00:11:41 +00:00
varargs.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00
vmparam.h Bring in NetBSD code used in the PowerPC port. 2001-06-10 02:39:37 +00:00