freebsd-dev/sys/powerpc/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
..
_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
asm.h Put the right fix in. Instead of deleting the declaration of __FBSDID, we 2003-01-28 10:54:31 +00:00
atomic.h Fix bugs with operand ordering and unnecessary sync/eieio ops. Mostly 2003-01-18 11:28:36 +00:00
bat.h
bootinfo.h
bus_memio.h 1) Add busdma machdep code. 2002-07-09 12:47:14 +00:00
bus_pio.h 1) Add busdma machdep code. 2002-07-09 12:47:14 +00:00
bus.h Mega busdma API commit. 2003-07-01 15:52:06 +00:00
clock.h
cpu.h Remove unused bootpath[] variable. It conflicted with a declaration 2003-06-25 08:11:29 +00:00
cpufunc.h Doh. Forgot to remove _KERNEL version. 2003-02-23 13:47:44 +00:00
critical.h We don't need to clear RI in the MSR when entering a critical section. 2002-06-29 09:55:57 +00:00
db_machdep.h Clean up ddb warnings/errors and enable in GENERIC 2002-10-04 01:19:18 +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
fpu.h Not all cpus are MPC750s. Replace the MPC750 cpu option with OEA. This 2003-02-05 11:37:59 +00:00
frame.h <machine/types.> -> <sys/types.h> 2002-09-19 04:45:32 +00:00
hid.h - Update spr.h 2003-02-05 12:04:29 +00:00
ieee.h <machine/ieee.h>, taken from sparc64 2003-01-18 11:30:59 +00:00
ieeefp.h
in_cksum.h in_cksum et al. 2002-06-29 09:49:26 +00:00
interruptvar.h Add this file, which I forgot in a previous commit. 2002-07-09 12:50:58 +00:00
intr_machdep.h - Introduce a flags value into the interrupt handler structure. 2003-02-01 07:20:36 +00:00
intr.h
ipl.h
kse.h Changes for KSE3. 2002-07-09 12:57:23 +00:00
limits.h sys/sys/limits.h: 2003-05-19 20:29:07 +00:00
md_var.h Export the ns_per_tick variable through md_var.h rather than by declaring 2003-02-05 12:33:49 +00:00
metadata.h Slight reorg and added AMD64 support. A couple of the MODINFOMD_* values 2003-05-01 03:31:18 +00:00
mutex.h
nexusvar.h - Add the "compatible" property to the list that we keep in ivars. 2002-07-09 11:13:33 +00:00
ofw_machdep.h Add the OF_getetheraddr function required by if_gem. 2002-07-09 13:43:06 +00:00
openpicreg.h Driver for OpenPIC compatible interrupt controllers. 2002-07-09 11:26:10 +00:00
openpicvar.h psim device support 2002-09-19 04:45:58 +00:00
param.h Migrate the thread stack management functions from the machine-dependent 2003-06-14 23:23:55 +00:00
pcb.h Add the USER_SR segment register to pcb state. Initialize correctly, 2002-10-21 05:27:41 +00:00
pcpu.h
pio.h
pmap.h Made the prototypes for pmap_kenter and pmap_kremove MD. These functions 2003-03-16 04:16:03 +00:00
powerpc.h Get the correct memory regions from OpenFirmware. We were getting the 2002-05-27 11:18:12 +00:00
proc.h
profile.h Stub profile.h, required for userland builds. 2003-01-18 11:31:58 +00:00
psl.h Add the PSL_VEC flag for AltiVec (no, it's not here yet =)) 2002-05-19 04:03:11 +00:00
pte.h
ptrace.h
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
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
sigframe.h Removed osigframe. No need for COMPAT_43 signal bin-compat in PPC. 2002-09-19 04:46:36 +00:00
signal.h Allow the MD frame definition to be seen in. Required for truss/ptrace. 2003-01-18 11:25:21 +00:00
smp.h
spr.h - Update spr.h 2003-02-05 12:04:29 +00:00
sr.h
stdarg.h o Add conditionals to allow va_list to be defined in other headers. 2002-10-06 22:01:07 +00:00
trap.h
ucontext.h
varargs.h Add conditionals to allow va_list to be defined in other headers. 2002-10-06 22:02:06 +00:00
vmparam.h