freebsd-nq/sys/ia64/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 Adjust comments 2000-10-24 10:49:56 +00:00
ansi.h Style changes -- revert ordering to mostly two revs ago. 2001-05-18 01:40:40 +00:00
asm.h Next round of fixes to the ia64 code. This includes simulated clock and 2000-10-04 17:53:03 +00:00
atomic.h Implement atomic_{set,clear,add,subtract}_{acq_,rel_,}_ptr() 2000-10-25 00:16:38 +00:00
bootinfo.h
bus_memio.h
bus_pio.h
bus.h Axe the barrier_{read,write,rw}() helper functions as this method of 2000-10-20 06:45:48 +00:00
clock.h Stick a prototype for handleclock() in machine/clock.h and include it 2001-03-24 06:20:48 +00:00
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
cpufunc.h - Add the new critical_t type used to save state inside of critical 2001-03-28 02:31:54 +00:00
db_machdep.h Implement a simple stack trace for DDB. This will have to be redone 2001-04-18 14:15:45 +00:00
efi.h Fix a couple of typos which became obvious when I started to actually use 2001-03-04 23:30:31 +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 Unbreak build on alpha. 2001-03-24 15:17:27 +00:00
exec.h
float.h
floatingpoint.h
fpu.h
frame.h * Various fixes to breakage introduced by the atomic and mutex reorgs. 2000-10-24 19:54:38 +00:00
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 - Remove compatibility macros for accessing per-cpu variables. 2001-01-11 14:46:26 +00:00
ia64_cpu.h Add a inline function to read the psr. 2001-02-22 15:39:58 +00:00
ieee.h
ieeefp.h
in_cksum.h
inst.h * Add rudimentary DDB support (no kgdb, no backtrace, no single step). 2000-10-10 14:57:10 +00:00
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 Adjust comments 2000-10-24 10:49:56 +00:00
md_var.h Remove the last of the MD netisr code. It is now all MI. Remove 2000-12-05 00:36:00 +00:00
mutex.h Properly wrap mtx_intr_enable() macro in "do $bla while (0)" 2001-06-02 08:17:42 +00:00
pal.h Next round of fixes to the ia64 code. This includes simulated clock and 2000-10-04 17:53:03 +00:00
param.h - Define and use MAXCPU like the alpha and i386 instead of NCPUS. 2001-03-24 06:22:57 +00:00
pcb.h Axe pcb_schednest as it is no longer used. 2001-02-22 17:09:50 +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 * Add rudimentary DDB support (no kgdb, no backtrace, no single step). 2000-10-10 14:57:10 +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 Next round of fixes to the ia64 code. This includes simulated clock and 2000-10-04 17:53:03 +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 * Fix exception handling so that it actually works. We can now handle 2000-10-12 14:36:39 +00:00
reloc.h
resource.h
setjmp.h Work around a bug by adding struct tags. gcc-2.95 apparently gets the 2000-10-06 11:53:32 +00:00
sigframe.h
signal.h Make MINSIGSTKSZ machine dependent, and have the sigaltstack 2000-11-09 08:25:48 +00:00
smp.h Overhaul of the SMP code. Several portions of the SMP kernel support have 2001-04-27 19:28:25 +00:00
stdarg.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 * Various fixes to breakage introduced by the atomic and mutex reorgs. 2000-10-24 19:54:38 +00:00
varargs.h
vmparam.h Next round of fixes to the ia64 code. This includes simulated clock and 2000-10-04 17:53:03 +00:00