freebsd-skq/sys/ia64/include
jhb f108bc4208 Fix mtx_legal2block. The only time that it is bad to block on a mutex is
if we hold a spin mutex, since we can trivially get into deadlocks if we
start switching out of processes that hold spinlocks.  Checking to see if
interrupts were disabled was a sort of cheap way of doing this since most
of the time interrupts were only disabled when holding a spin lock.  At
least on the i386.  To fix this properly, use a per-process counter
p_spinlocks that counts the number of spin locks currently held, and
instead of checking to see if interrupts are disabled in the witness code,
check to see if we hold any spin locks.  Since child processes always
start up with the sched lock magically held in fork_exit(), we initialize
p_spinlocks to 1 for child processes.  Note that proc0 doesn't go through
fork_exit(), so it starts with no spin locks held.

Consulting from:	cp
2001-03-09 07:24:17 +00:00
..
pc
_limits.h Adjust comments 2000-10-24 10:49:56 +00:00
ansi.h Correct disordering which is corresponding to bde's fix to 2001-02-17 14:51:11 +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 Move DELAY() from <machine/clock.h> to <sys/systm.h> 2000-10-15 09:51:49 +00:00
clockvar.h
cpu.h Clockframes have a trapframe stored in a cf_tf member, not ct_tf. 2001-02-24 18:57:34 +00:00
cpufunc.h
db_machdep.h * Add rudimentary DDB support (no kgdb, no backtrace, no single step). 2000-10-10 14:57:10 +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
endian.h
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 Axe the astpending per-cpu variable. 2001-02-22 15:37:34 +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
ioctl_bt848.h
ioctl_fd.h
ioctl_meteor.h
ipl.h - Overhaul the software interrupt code to use interrupt threads for each 2000-10-25 05:19:40 +00:00
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 Fix mtx_legal2block. The only time that it is bad to block on a mutex is 2001-03-09 07:24:17 +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 Merge ALIGN changes from alpha code. 2000-12-30 13:06:01 +00:00
pcb.h Axe pcb_schednest as it is no longer used. 2001-02-22 17:09:50 +00:00
pcpu.h Axe the astpending per-cpu variable. 2001-02-22 15:37:34 +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 * Fix exception handling so that it actually works. We can now handle 2000-10-12 14:36:39 +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
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
stdarg.h
sysarch.h
types.h
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