freebsd-dev/sys/ia64/include
John Baldwin 36412d79b4 - Make the mutex code almost completely machine independent. This greatly
reducues the maintenance load for the mutex code.  The only MD portions
  of the mutex code are in machine/mutex.h now, which include the assembly
  macros for handling mutexes as well as optionally overriding the mutex
  micro-operations.  For example, we use optimized micro-ops on the x86
  platform #ifndef I386_CPU.
- Change the behavior of the SMP_DEBUG kernel option.  In the new code,
  mtx_assert() only depends on INVARIANTS, allowing other kernel developers
  to have working mutex assertiions without having to include all of the
  mutex debugging code.  The SMP_DEBUG kernel option has been renamed to
  MUTEX_DEBUG and now just controls extra mutex debugging code.
- Abolish the ugly mtx_f hack.  Instead, we dynamically allocate
  seperate mtx_debug structures on the fly in mtx_init, except for mutexes
  that are initiated very early in the boot process.   These mutexes
  are declared using a special MUTEX_DECLARE() macro, and use a new
  flag MTX_COLD when calling mtx_init.  This is still somewhat hackish,
  but it is less evil than the mtx_f filler struct, and the mtx struct is
  now the same size with and without mutex debugging code.
- Add some micro-micro-operation macros for doing the actual atomic
  operations on the mutex mtx_lock field to make it easier for other archs
  to override/optimize mutex ops if needed.  These new tiny ops also clean
  up the code in some places by replacing long atomic operation function
  calls that spanned 2-3 lines with a short 1-line macro call.
- Don't call mi_switch() from mtx_enter_hard() when we block while trying
  to obtain a sleep mutex.  Calling mi_switch() would bogusly release
  Giant before switching to the next process.  Instead, inline most of the
  code from mi_switch() in the mtx_enter_hard() function.  Note that when
  we finally kill Giant we can back this out and go back to calling
  mi_switch().
2000-10-20 07:26:37 +00:00
..
pc
_limits.h
ansi.h
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 - Expand the set of atomic operations to optionally include memory barriers 2000-10-20 07:00:48 +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
console.h Initiate deorbit burn sequence for <machine/console.h>. 2000-10-08 21:34:00 +00:00
cpu.h * Correct some of my misunderstandings about how best to switch to the 2000-10-16 08:54:40 +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
elf.h
endian.h
exec.h
float.h
floatingpoint.h
fpu.h
frame.h * Correct some of my misunderstandings about how best to switch to the 2000-10-16 08:54:40 +00:00
globaldata.h * Add rudimentary DDB support (no kgdb, no backtrace, no single step). 2000-10-10 14:57:10 +00:00
globals.h * Fix exception handling so that it actually works. We can now handle 2000-10-12 14:36:39 +00:00
ia64_cpu.h Implement a rudimentary interrupt handling system which should be good 2000-10-12 17:47:01 +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 * Add rudimentary DDB support (no kgdb, no backtrace, no single step). 2000-10-10 14:57:10 +00:00
limits.h
lock.h Bodge the simplelocks in a way which works UP. 2000-09-29 16:51:33 +00:00
md_var.h
mouse.h Initiate deorbit burn sequence for <machine/mouse.h>. 2000-10-09 08:08:36 +00:00
mutex.h - Make the mutex code almost completely machine independent. This greatly 2000-10-20 07:26:37 +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 Implement write combining for crashdumps. This is useful when 2000-10-17 10:05:49 +00:00
pcb.h * Fix exception handling so that it actually works. We can now handle 2000-10-12 14:36:39 +00:00
pcpu.h * Add rudimentary DDB support (no kgdb, no backtrace, no single step). 2000-10-10 14:57:10 +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 Next round of fixes to the ia64 code. This includes simulated clock and 2000-10-04 17:53:03 +00:00
smp.h
stdarg.h
sysarch.h
types.h
ucontext.h
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