Home
Developer Resources
QNX RTOS v4
QNX RTOS v4 Knowledge Base

QNX RTOS v4 Knowledge Base

Foundry27
Foundry27
QNX RTOS v4 project
Resources

QNX RTOS v4 Knowledge Base

Title General DMA questions for QNX4.
Ref. No. QNX.000005086
Category(ies) Kernel, Development
Issue Need to provide buffers to be used by a PCI network board(Delphi's fiber channel board)to do DMA transfers and have some questions.

1) Is it true that DMA buffer addresses must be in the first 16Mb of memory?

2) Is it true that the DMA buffer cannot be bigger than 64k?

3) How do I get a physical address from a user space address?


Solution There is a document available on any QNX4.2X  system which describes how to use shared memory.  The file is called /etc/readme/technotes/shmem.txt and within you will find these answers:

1) Yes, DMA adresses must be less than 16Mb.

2) Yes, the terminal count address and initial address must lie within the same 64Kb memory page.

3.) See the above mentioned file for an example.