freebsd-dev/sys/alpha/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
..
pc
_limits.h
alpha_cpu.h Block out all interrupts, even machine checks, for critical_enter() 2001-04-21 21:44:39 +00:00
ansi.h Style changes -- revert ordering to mostly two revs ago. 2001-05-18 01:40:40 +00:00
asm.h Sync up to v 1.9 of NetBSD's db_trace.c to get access to the 2001-06-08 13:38:02 +00:00
atomic.h Be conservative and always perform an mb after an atomic_cmpset operation. 2001-06-22 21:13:20 +00:00
bootinfo.h
bus_memio.h
bus_pio.h
bus.h
bwx.h
chipset.h
clock.h
clockvar.h
cpu.h - Close races with signals and other AST's being triggered while we are in 2001-08-10 22:53:32 +00:00
cpuconf.h Use struct device * rather than device_t for (*pci_intr_route args), so 2001-06-11 18:19:44 +00:00
cpufunc.h Block out all interrupts, even machine checks, for critical_enter() 2001-04-21 21:44:39 +00:00
db_machdep.h
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 Unbreak build on alpha. 2001-03-24 15:17:27 +00:00
exec.h
float.h
floatingpoint.h
fpu.h
frame.h
globaldata.h Overhaul of the SMP code. Several portions of the SMP kernel support have 2001-04-27 19:28:25 +00:00
globals.h
ieee.h
ieeefp.h
in_cksum.h
inst.h
intr.h
intrcnt.h Clean up the code exporting interrupt statistics via sysctl a bit: 2001-06-01 13:23:28 +00:00
ioctl_bt848.h
ioctl_meteor.h
limits.h
md_var.h
mutex.h Properly wrap mtx_intr_enable() macro in "do $bla while (0)" 2001-06-02 08:17:42 +00:00
pal.h
param.h Follow Bruce's suggestions. They're probably wrong, but better than before. 2001-07-04 05:16:56 +00:00
pcb.h - Add appropriate #ifndef/#define/#endif to protect against multiple 2001-04-17 02:51:28 +00:00
pcpu.h Overhaul of the SMP code. Several portions of the SMP kernel support have 2001-04-27 19:28:25 +00:00
pmap.h Simplify the implementation of pmap_emulate_reference(). The new version 2001-07-24 07:13:07 +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
profile.h
prom.h
psl.h
pte.h
ptrace.h Zap 'ptrace(PT_READ_U, ...)' and 'ptrace(PT_WRITE_U, ...)' since they 2001-08-08 05:25:15 +00:00
reg.h
reloc.h
resource.h
rpb.h Recognize a few newer cpus (pca57, ev67 & ev68) and update systypes to 2001-03-30 22:04:08 +00:00
setjmp.h
sgmap.h
sigframe.h
signal.h
smp.h Fix reboot hangs that have happened with multiple processors 2001-07-14 21:37:57 +00:00
stdarg.h
swiz.h
sysarch.h
types.h - Add the new critical_t type used to save state inside of critical 2001-03-28 02:31:54 +00:00
ucontext.h
varargs.h
vmparam.h