iopaau
—
Intel I/O Processor Application Accelerator Unit
iopxs* at mainbus?
iopaau* at iopxs?
The Application Accelerator Unit, or AAU, provides hardware-assisted support for
performing block fills on a region of memory, XOR of multiple regions of
memory (parity computation), and parity verification.
The iopaau
driver supports the Application
Accelerator Units on the following Intel I/O Processors:
- Intel i80321 I/O Processor
The iopaau
driver provides a back-end to
the dmover(9) interface,
and supports the following
dmover(9) functions:
- zero
- Zero a region of memory
- fill8
- Fill a region of memory with an 8-bit value
- copy
- Copy a region of memory
- xor2
- Perform an XOR of 2 input streams
- xor3
- Perform an XOR of 3 input streams
- xor4
- Perform an XOR of 4 input streams
- xor5
- Perform an XOR of 5 input streams
- xor6
- Perform an XOR of 6 input streams
- xor7
- Perform an XOR of 7 input streams
- xor8
- Perform an XOR of 8 input streams
The iopaau
device first appeared in
NetBSD 2.0.
Due to limitations in how scatter-gather is done by the AAU hardware, a given
DMA segment must be the same length for the output stream and each input
stream. The easiest way to achieve this is to ensure that all streams used in
an AAU operation begin at the same offset into a page.