[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7. Memory Setup

GM will only send messages from memory allocated with a gm_dma_*alloc() function, or memory that has been registered for DMA transfers using gm_register_memory(). If the client attempts to send data from nonDMAable memory, GM will send bytes of value 0xaa instead. If the client attempts to receive data into nonDMAable memory, the data will be silently discarded.

Note that some operating systems (e.g.: Solaris) do not support gm_register_memory() due to operating system limitations, so the gm_dma_*alloc() functions must be used instead to obtain DMA memory.

Unless explicitly enabled using gm_allow_remote_memory_access(port), GM will not allow remote processes to use gm_directed_send() to modify the memory of the process. If remote memory access has been enabled, then this protection is disabled, and any remote GM port may modify the contents of any DMAable memory associated with that port. GM developers should be aware of this potential security risk, although it is usually not a concern.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Glenn Brown on October, 18 2001 using texi2html