1 Reply Latest reply on Apr 11, 2014 10:12 AM by kevin_intel

    I/OAT DMA from main memory to MMIO really supported?




      Are there known applications that are using the I/OAT (Crystal Beach) to copy data from memory to IO space?


      The spec says memory->MMIO is supported, whereas MMIO->memory is not:


      http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/xeon-c5500-c3500-datasheet-vol-1.pdf: Supported Features
      The following features are supported by the DMA engine:
      Data transfer between two system memory locations, or from system memory to MMIO.
      ... Unsupported Features
      The following features are not supported by the DMA controller:
      • DMA data transfer from I/O subsystem to local system memory, and I/O to I/O subsystems are not supported.


      However, upon experiment it seems to be the other way. Copying from the IO space seems to work, but copying into IO space seems to be truncated.


      Could anyone confirm it is really working, and thus it's probably something we are doing wrong?