genode/repos/base
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
..
etc Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
include Fix race condition in page fault notification 2014-07-24 10:18:07 +02:00
lib Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
mk Build-system support for creating host tools 2014-05-27 11:14:42 +02:00
run base: test for the pseudo-parallel use of an FPU 2014-06-26 10:57:25 +02:00
src Fix race condition in page fault notification 2014-07-24 10:18:07 +02:00
README Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00

This is generic part of the Genode implementation. It consists of two parts:

:_Core_: is the ultimate root of the Genode application tree
  and provides abstractions for the lowest-level hardware resources
  such as RAM, ROM, CPU, and generic device access. All generic parts of Core
  can be found here - for system-specific implementations refer to the
  appropriate 'base-<system>' directory.

:_Base libraries and protocols_: that are used by each Genode component
  to interact with other components. This is the glue that holds everything
  together.