genode/repos/base/include/pd_session
Norman Feske e4f62380d7 base: Pd_session::dma_addr, Pd_session::attach_dma
This patch enhances the PD-session interface with the support needed for
user-level device drivers performing DMA. Both RPC functions are
intended for the direct use by the platform driver only. If invoked for
PDs that lack the managing-system role, the operations have no effect.

The 'dma_addr()' RPC function allows the platform driver to request the
DMA address of a given RAM dataspace. It is meant to replace the
'Dataspace::phys_addr' RPC function.

The 'attach_dma' RPC function adds the given dataspace to the device
PD's I/O page table. It replaces the former heuristics of marking DMA
buffers as uncached RAM on x86.

With this patch, the UNCACHED attribute of RAM dataspaces is no longer
used to distinguish DMA buffers from regular RAM dataspaces.

Issue #2243
2022-02-15 10:16:52 +01:00
..
capability.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
client.h base: Pd_session::dma_addr, Pd_session::attach_dma 2022-02-15 10:16:52 +01:00
connection.h base: Pd_session::dma_addr, Pd_session::attach_dma 2022-02-15 10:16:52 +01:00
pd_session.h base: Pd_session::dma_addr, Pd_session::attach_dma 2022-02-15 10:16:52 +01:00