next up previous
Next: The PAL Code approach Up: User-Level DMA - Early Previous: The second SHRIMP solution

The FLASH solution

Heinlein et al. [8] implemented user-level DMA within the context of the FLASH multiprocessor. A user-level DMA is initiated using a sequence of uncached accesses to shadow addresses (much like the SHRIMP approaches). To provide atomicity in user-level DMA, the context switch handler informs the DMA engine about which process is currently running. Thus, the DMA engine knows which process runs, and makes sure that DMA arguments belonging to different processes do not get mixed. This solution, just like the previous one, needs to modify the context switch handler, to inform the DMA engine of the identity of the running process at each context switch.

Evangelos Markatos
Fri Nov 8 12:27:33 EET 1996