freebsd-dev/sys/alpha/include
Scott Long f6b1c44d1f Mega busdma API commit.
Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg.
Lockfunc allows a driver to provide a function for managing its locking
semantics while using busdma.  At the moment, this is used for the
asynchronous busdma_swi and callback mechanism.  Two lockfunc implementations
are provided: busdma_lock_mutex() performs standard mutex operations on the
mutex that is specified from lockfuncarg.  dftl_lock() is a panic
implementation and is defaulted to when NULL, NULL are passed to
bus_dma_tag_create().  The only time that NULL, NULL should ever be used is
when the driver ensures that bus_dmamap_load() will not be deferred.
Drivers that do not provide their own locking can pass
busdma_lock_mutex,&Giant args in order to preserve the former behaviour.

sparc64 and powerpc do not provide real busdma_swi functions, so this is
largely a noop on those platforms.  The busdma_swi on is64 is not properly
locked yet, so warnings will be emitted on this platform when busdma
callback deferrals happen.

If anyone gets panics or warnings from dflt_lock() being called, please
let me know right away.

Reviewed by:	tmm, gibbs
2003-07-01 15:52:06 +00:00
..
pc use __packed. 2002-09-23 18:54:32 +00:00
_inttypes.h Since printf(3) now supports the `j' conversion specifier, use that 2002-06-30 05:48:03 +00:00
_limits.h sys/sys/limits.h: 2003-05-19 20:29:07 +00:00
_stdint.h Create a new header <machine/_stdint.h> for storing MD parts of 2002-07-29 17:41:23 +00:00
_types.h - Add vm_paddr_t, a physical address type. This is required for systems 2003-03-25 00:07:06 +00:00
alpha_cpu.h Use the newer "+" modifier on output contraints when a register or 2002-10-25 20:22:12 +00:00
asm.h Protect against multiple inclusions. 2003-01-18 23:43:12 +00:00
atomic.h Workaround for compiling LINT. Large kernels (like LINT) can have 2003-02-23 06:34:21 +00:00
bootinfo.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
bus_memio.h
bus_pio.h
bus.h Mega busdma API commit. 2003-07-01 15:52:06 +00:00
bwx.h
chipset.h
clock.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
clockvar.h
cpu.h Add getcontext, setcontext, and swapcontext as system calls. 2002-11-16 06:35:53 +00:00
cpuconf.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
cpufunc.h Stage-2 commit of the critical*() code. This re-inlines cpu_critical_enter() 2002-04-01 23:51:23 +00:00
critical.h Stage-2 commit of the critical*() code. This re-inlines cpu_critical_enter() 2002-04-01 23:51:23 +00:00
db_machdep.h Remove support for running in SimOS. The support has rotted over 2003-02-25 00:42:40 +00:00
elf.h Move the definition of ElfN_Hashelt to common headers. The only platform 2002-05-30 08:32:18 +00:00
endian.h Be careful not to define GCC-specific optimizations in the non-GCC 2002-09-23 04:32:17 +00:00
exec.h
float.h Implement fpclassify(): 2003-02-08 20:37:55 +00:00
floatingpoint.h
fpu.h Add getcontext, setcontext, and swapcontext as system calls. 2002-11-16 06:35:53 +00:00
frame.h
ieee.h
ieeefp.h
in_cksum.h
inst.h
intr.h Introduce a standard name for the lock protecting an interrupt controller 2001-12-20 23:48:31 +00:00
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
kse.h Add files that are new for KSE. 2002-06-29 07:04:59 +00:00
limits.h sys/sys/limits.h: 2003-05-19 20:29:07 +00:00
md_var.h Split 4.x and 5.x signal handling so that we can keep 4.x signal 2002-10-25 19:10:58 +00:00
mutex.h Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
pal.h
param.h Migrate the thread stack management functions from the machine-dependent 2003-06-14 23:23:55 +00:00
pcb.h The a.out md_coredump stuff isn't referenced anywhere anymore, and 2002-10-15 00:02:50 +00:00
pcpu.h Overhaul the per-CPU support a bit: 2001-12-11 23:33:44 +00:00
pmap.h - Kill the pv_flags member of the alpha mdpage since it stop being used 2003-04-10 18:42:06 +00:00
proc.h Protect the per-process UAC field with the proc lock where it isn't already 2003-04-17 21:57:16 +00:00
profile.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
prom.h Change the console interface to pass a "struct consdev *" instead of a 2003-02-20 20:54:45 +00:00
pte.h
ptrace.h Move the definition of PT_[GS]ET{,DB,FP}REGS from the MD ptrace.h to the 2002-03-16 00:25:53 +00:00
reg.h Renamed poorly named setregs to exec_setregs. Moved its prototype to 2002-08-29 06:17:48 +00:00
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
runq.h Move the "- 1" into the RQB_FFS(mask) macro itself so that 2002-06-20 06:21:20 +00:00
setjmp.h Fix namespace issues by using visibility conditionals from 2002-10-05 05:47:56 +00:00
sgmap.h
sigframe.h Split 4.x and 5.x signal handling so that we can keep 4.x signal 2002-10-25 19:10:58 +00:00
signal.h Add getcontext, setcontext, and swapcontext as system calls. 2002-11-16 06:35:53 +00:00
smp.h Remove IPI_HALT to make way for a more correct fix for halts and restarts 2001-08-13 22:41:15 +00:00
stdarg.h o Add conditionals to allow va_list to be defined in other headers. 2002-10-06 22:01:07 +00:00
swiz.h
sysarch.h Remove __P(). This was tested on the GENERIC kernel. 2002-03-20 18:58:47 +00:00
ucontext.h Add getcontext, setcontext, and swapcontext as system calls. 2002-11-16 06:35:53 +00:00
varargs.h Add conditionals to allow va_list to be defined in other headers. 2002-10-06 22:02:06 +00:00
vmparam.h - Enable the use of UMA_MD_PAGE_ALLOC on alpha. 2002-11-01 03:34:51 +00:00