genode/repos/base-linux/src/core
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
..
include base: Pd_session::dma_addr, Pd_session::attach_dma 2022-02-15 10:16:52 +01:00
linux base-linux: separate x86-specific code 2021-05-10 11:17:20 +02:00
spec base: avoid implicit conversions 2021-12-17 15:04:44 +01:00
core_log_out.cc base-*: rename core_log.cc to core_log_out.cc 2017-12-21 15:01:46 +01:00
core_rpc_cap_alloc.cc base-linux: socket descriptor caps for RPC 2020-04-17 12:40:13 +02:00
native_cpu_component.cc base-linux: socket descriptor caps for RPC 2020-04-17 12:40:13 +02:00
native_pd_component.cc base: avoid implicit conversions 2021-12-17 15:04:44 +01:00
platform_thread.cc base: remove deprecated cancel_blocking() support 2020-07-13 11:33:12 +02:00
platform.cc base-linux: coding style 2020-11-27 09:19:08 +01:00
ram_dataspace_support.cc base-linux: socket descriptor caps for RPC 2020-04-17 12:40:13 +02:00
rom_session_component.cc base-linux: socket descriptor caps for RPC 2020-04-17 12:40:13 +02:00
rpc_cap_factory_linux.cc base-linux: socket descriptor caps for RPC 2020-04-17 12:40:13 +02:00
stack_area.cc base: introduce Ram_allocator::try_alloc 2021-11-29 15:10:53 +01:00
thread_linux.cc base-linux: simplify clone syscall binding 2021-05-05 11:35:31 +02:00