Describes the architecture of the DMA Framework.

The following diagram shows the main parts of the architecture:

The DMA Framework is implemented as a single DLL, which is split into two layers:

  • a platform independent layer that implements the behaviour that is common to all hardware

  • a platform specific layer that implements the behaviour that is specific to a particular platform.

The DLL is called dma.dll, and is implemented as a kernel extension, which means that it is loaded very early during system initialisation.

The platform specific layer interfaces to the DMA controller hardware via the I/O port constants and functions exposed by the ASSP DLL and/or Variant DLL.

The clients of the DMA Framework are physical device drivers (PDD).