genode/repos/base/include
Christian Prochaska a46de84f89 Fix race condition in page fault notification
When a page fault cannot be resolved, the GDB monitor can get a hint about
which thread faulted by evaluating the thread state object returned by
'Cpu_session::state()'. Unfortunately, with the current implementation,
the signal which informs GDB monitor about the page fault is sent before
the thread state object of the faulted thread has been updated, so it
can happen that the faulted thread cannot be determined immediately
after receiving the signal.

With this commit, the thread state gets updated before the signal is sent.

At least on base-nova it can also happen that the thread state is not
accessible yet after receiving the page fault notification. For this
reason, GDB monitor needs to retry its query until the state is
accessible.

Fixes #1206.
2014-07-24 10:18:07 +02:00
..
32bit/base Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
64bit/base Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
arm Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
base Fix race condition in page fault notification 2014-07-24 10:18:07 +02:00
cap_session Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
cpu base: interface for D- and I-cache synchronization 2014-05-27 11:14:45 +02:00
cpu_session Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
dataspace Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
drivers Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
io_mem_session Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
io_port_session Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
irq_session Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
log_session Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
pager Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
parent Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
pd_session Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
platform hw: clean cache lines of altered translation table 2014-07-09 16:26:06 +02:00
ram_session base: introduce caching attributes (fix #1184) 2014-06-26 10:57:26 +02:00
rm_session Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
rom_session Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
root Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
session Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
signal_session Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
thread Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
trace_session Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
util Configurable clearing of array in Bit_array_base 2014-07-09 16:26:04 +02:00
x86/cpu Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
x86_32/cpu Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
x86_64/cpu Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02: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.