genode/repos/base-nova
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
..
doc Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +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/mk base: interface for D- and I-cache synchronization 2014-05-27 11:14:45 +02:00
mk Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
patches Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
ports nova: update to r6 nova kernel branch 2014-07-24 10:18:06 +02:00
run nova: update to r6 nova kernel branch 2014-07-24 10:18:06 +02:00
src Fix race condition in page fault notification 2014-07-24 10:18:07 +02:00
Makefile Enable hash checks for ports mechanism 2014-05-27 13:45:03 +02:00
README Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00

This repository contains the port of Genode to the NOVA microhypervisor.

For more information on this base platform, please refer to the official
website.

:[http://hypervisor.org]: Official website for the NOVA microhypervisor.

For information on using Genode on NOVA, please revisit the documentation at
'base-nova/doc/nova.txt':