freebsd-skq/sys/amd64/include
scottl 4d495abb9d 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
_inttypes.h
_limits.h sys/sys/limits.h: 2003-05-19 20:29:07 +00:00
_stdint.h
_types.h
acpica_machdep.h With the help of jhb, fix the ACPI_ACQUIRE_GLOBAL_LOCK() macros and 2003-05-31 06:43:55 +00:00
apicreg.h - Document the thermal and performance counter LVT entries in the local 2003-06-06 17:22:15 +00:00
asm.h MFi386: i386/include/asm.h rev 1.11: Do not abuse ##. 2003-06-02 05:59:35 +00:00
asmacros.h
atomic.h
bus_amd64.h Major pmap rework to take advantage of the larger address space on amd64 2003-05-23 05:04:54 +00:00
bus_dma.h Mega busdma API commit. 2003-07-01 15:52:06 +00:00
bus_memio.h
bus_pio.h
bus.h
clock.h
cpu.h
cpufunc.h Collect the nastiness for preserving the kernel MSR_GSBASE around the 2003-05-15 00:23:40 +00:00
cputypes.h
critical.h
db_machdep.h Initial port to amd64 after repocopy from i386. Note that the 2003-05-30 01:01:07 +00:00
elf.h Add BASIC i386 binary support for the amd64 kernel. This is largely 2003-05-14 04:10:49 +00:00
endian.h
exec.h
float.h
floatingpoint.h
fpu.h
frame.h
ieeefp.h
in_cksum.h
kse.h
legacyvar.h
limits.h sys/sys/limits.h: 2003-05-19 20:29:07 +00:00
md_var.h Add BASIC i386 binary support for the amd64 kernel. This is largely 2003-05-14 04:10:49 +00:00
metadata.h
mptable.h - Construct a cpu topology map for Hyper Threading systems so that ULE may 2003-06-28 22:07:42 +00:00
mutex.h
npx.h
param.h Migrate the thread stack management functions from the machine-dependent 2003-06-14 23:23:55 +00:00
pcb_ext.h
pcb.h Collect the nastiness for preserving the kernel MSR_GSBASE around the 2003-05-15 00:23:40 +00:00
pci_cfgreg.h
pcpu.h
pmap.h Move KERNBASE to -2GB. 2003-06-22 13:02:45 +00:00
proc.h
profile.h Use C99 compatable asm statements. 2003-06-02 00:29:35 +00:00
psl.h
ptrace.h
reg.h As suggested by the gdb folks, pad the 'struct fpreg' to a full 512 bytes 2003-05-23 06:31:56 +00:00
reloc.h
resource.h
runq.h
segments.h Add BASIC i386 binary support for the amd64 kernel. This is largely 2003-05-14 04:10:49 +00:00
setjmp.h Make this more compatable with libc_r. Make the internal types for storing 2003-06-02 21:49:35 +00:00
sigframe.h
signal.h
smp.h
specialreg.h
stdarg.h
sysarch.h
trap.h
tss.h
ucontext.h
varargs.h
vmparam.h Typo fix. oops. 2003-05-23 06:36:46 +00:00