mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-18 15:18:20 +00:00
core: Introduce default CPU exception handler
The CPU session interfaces comes with the ability to install an exception handler per thread. This patch enhances the feature with the provision of a default signal handler that is used if no thread-specific handler is installed. The default signal handler can be set by specifying an invalid thread capability and a valid signal context capability. Furthermore, this patch relaxes the requirement of the order of the calls of 'exception_handler' and 'set_pager'. Originally, the exception handler could be installed not before setting a pager. Now, we remember the installed exception handler in the 'Cpu_thread' and propagate to to the platform thread at a later time.
This commit is contained in:
@ -166,6 +166,11 @@ namespace Genode {
|
||||
|
||||
/**
|
||||
* Register signal handler for region-manager faults
|
||||
*
|
||||
* On Linux, this signal is never delivered because page-fault handling
|
||||
* is performed by the Linux kernel. On microkernel platforms,
|
||||
* unresolvable page faults (traditionally called segmentation fault)
|
||||
* will result in the delivery of the signal.
|
||||
*/
|
||||
virtual void fault_handler(Signal_context_capability handler) = 0;
|
||||
|
||||
|
Reference in New Issue
Block a user