PCI-X DMA Module

This module implements a linked-list data chaining (scatter/gather) DMA that interrupts on errors and interrupts on completion of data transfers.  The DMA is responsible for moving data to/from the PCI-X interface and handling PCI-X target read and write transactions.  A mailbox function also provides the capability of writing a semaphore into external host memory upon completion of a DMA transfer so that the host does not have to poll for DMA status completion.