genode/repos/base/include
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
..
base allocator_avl: use Attempt for size_at 2022-02-15 10:16:51 +01:00
cpu base: extend cache maintainance functionality 2021-06-25 11:43:41 +02:00
cpu_session base: avoid implicit conversions 2021-12-17 15:04:44 +01:00
cpu_thread base: remove deprecated cancel_blocking() support 2020-07-13 11:33:12 +02:00
dataspace Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
deprecated base: remove Cancelable_lock 2020-07-30 08:49:23 +02:00
drivers rpi: remove drivers for platform, fb and sd_card 2022-02-15 10:16:51 +01:00
io_mem_session Annotate io_mem session interface with RAM_QUOTA 2020-05-27 11:56:46 +02:00
io_port_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
irq_session Annotate irq session interface with RAM_QUOTA 2020-05-27 11:56:46 +02:00
log_session Remove return value of Log_session::write 2020-05-05 13:51:05 +02:00
parent base: mark Parent::Close_result with [[nodiscard]] 2020-01-03 14:44:15 +01:00
pd_session base: Pd_session::dma_addr, Pd_session::attach_dma 2022-02-15 10:16:52 +01:00
region_map base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
rm_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
rom_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
root Replace Genode::strncpy by Genode::copy_cstring 2020-05-27 11:56:45 +02:00
session Streamline exception types 2017-05-31 13:16:07 +02:00
spec Fix some signed/unsigned implicit conversions. 2022-01-19 12:35:48 +01:00
timer timeout: rework timeout framework 2020-10-09 13:35:56 +02:00
timer_session timer: restore semantics of periodic timeout 0 2021-04-20 12:03:03 +02:00
trace_session Remove obsolete Trace::Session::subject_info RPC 2021-12-17 15:04:49 +01:00
util base: pass lambdas by reference in util/attempt.h 2022-02-15 10:16:51 +01:00
vm_session base: refactor VM/vCPU API 2021-02-23 12:07:18 +01:00
README Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00

This directory contains include files of interfaces that are exported
by components to be used by other components. Each subdirectory corresponds
to the component exporting the interface.