genode/repos/base/include
Norman Feske 6f1d3862cd base: introduce Env::try_session
The new 'Env::try_session' method mirrors the existing 'Env::session'
without implicitly handling exceptions of the types 'Out_of_ram',
'Out_of_caps', 'Insufficient_ram_quota', and 'Insufficient_cap_quota'.
It enables runtime environments like init to reflect those exceptions to
their children instead of paying the costs of implicit session-quota
upgrades out of the own pocket.

By changing the 'Parent_service' to use 'try_session', this patch fixes
a resource-exhaustion problem of init in Sculpt OS that occurred when
the GPU multiplexer created a large batch of IO_MEM sessions, with each
session requiring a second attempt with the session quota upgraded by
4 KiB.

Issue #3767
2021-10-14 11:02:12 +02:00
..
base base: introduce Env::try_session 2021-10-14 11:02:12 +02:00
cpu base: extend cache maintainance functionality 2021-06-25 11:43:41 +02:00
cpu_session Remove Cpu_session::Native_cpu definition from API 2021-01-25 13:58:09 +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 riscv: Use Qemu and update to ISA v1.10 2021-02-23 12:02:44 +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/cache.h: rename Cache_attribute to Cache 2021-04-20 12:10:31 +02: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 trace: comment x86 timestamp() implementations 2021-08-30 15:00:38 +02: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 trace: extend for_each_subject_infos return value 2020-07-13 11:33:13 +02:00
util reconstructible: respect alignment of payload 2021-10-13 13:59:57 +02: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.