genode/repos/base-hw/src/core/include
Stefan Kalkowski 60ba210a6b hw: reference count capabilities in UTCBs
When capabilities are delegated to components, they are added to the UTCB of the
target thread. Before the thread is able to take out the capability id out of
the UTCB and adapt the user-level capability reference counter, it might happen
that another thread of the same component deletes the same capability because
its user-level reference counter reached zero. If the kernel then destroys the
capability, before the same capability id is taken out of all UTCBs, an
inconsitent view in the component is the result.  To keep an consistent view in
the multi-threading scenario, the kernel now counts how often it puts a
capability into a UTCB. The threads on the other hand hint the kernel when they
took capabilities out of the UTCB, so the kernel can decrement the counter
again. Only when the counter is zero, capabilities can get destructed.

Fix #1623
2015-12-10 13:16:25 +01:00
..
kernel hw: reference count capabilities in UTCBs 2015-12-10 13:16:25 +01:00
spec hw & imx53: kernel Trustzone config for USB armory 2015-11-29 18:17:04 +01:00
assert.h Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
board.h hw: rename Kernel::Processor Kernel::Cpu 2014-11-28 12:02:35 +01:00
cap_session_component.h hw: kernel backed capabilities (Fix #1443) 2015-05-26 09:40:04 +02:00
core_rm_session.h Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
cpu_thread_allocator.h base: const-correctness of Allocator interface 2015-04-17 16:13:22 +02:00
irq_session_component.h base: extend irq session to support MSIs 2015-05-20 17:39:14 +02:00
map_local.h hw: map a dataspace in core according to its flags 2014-07-24 10:18:06 +02:00
object.h hw: kernel backed capabilities (Fix #1443) 2015-05-26 09:40:04 +02:00
page_flags.h hw: map a dataspace in core according to its flags 2014-07-24 10:18:06 +02:00
pager.h hw: use weak pointer when resolving a page-fault 2015-09-30 12:20:35 +02:00
pd_session_component.h hw: kernel backed capabilities (Fix #1443) 2015-05-26 09:40:04 +02:00
platform_pd.h safeguard the synchronized allocator template 2015-09-30 12:20:39 +02:00
platform_thread.h hw: use weak pointer when resolving a page-fault 2015-09-30 12:20:35 +02:00
platform.h safeguard the synchronized allocator template 2015-09-30 12:20:39 +02:00
signal_root.h Extract numeric string arguments with the correct signedness 2015-04-13 14:18:15 +02:00
signal_session_component.h hw: kernel backed capabilities (Fix #1443) 2015-05-26 09:40:04 +02:00
translation_table_allocator_tpl.h hw: allocate core's page-tables outside of binary 2015-07-01 14:46:17 +02:00
translation_table_allocator.h hw: allocate core's page-tables outside of binary 2015-07-01 14:46:17 +02:00
trustzone.h hw: refactor irq controllers 2015-02-27 11:43:56 +01:00
util.h hw: allocate core's page-tables outside of binary 2015-07-01 14:46:17 +02:00
vm_root.h Extract numeric string arguments with the correct signedness 2015-04-13 14:18:15 +02:00