genode/os/run/failsafe.run
Norman Feske ecdbdef8ee Loader: reflect faults to client
With this patch, the loader installs an optional client-provided fault
handler as default CPU exception handler and RM fault handler for all
CPU and RM sessions of the loaded subsystem. This way, loader clients
become able to respond to failures occuring within the subsystem.

The new feature is provided via the added 'Loader::fault_handler' RPC
function.

The 'run/failsafe' test covers two cases related to the loader, which
are faults produced by the immediate child of the loader and faults
produced by indirect children.
2013-01-07 16:31:27 +01:00

61 lines
1.1 KiB
Plaintext

#
# \brief Test reflection of segmentation faults to the user land
# \author Norman Feske
# \date 2012-11-01
#
#
# Build
#
build { core init server/loader test/failsafe test/segfault }
create_boot_directory
#
# Generate config
#
install_config {
<config>
<parent-provides>
<service name="ROM"/>
<service name="LOG"/>
<service name="CAP"/>
<service name="CPU"/>
<service name="RAM"/>
<service name="RM"/>
<service name="PD"/>
<service name="SIGNAL"/>
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<start name="loader">
<resource name="RAM" quantum="10M"/>
<provides> <service name="Loader"/> </provides>
</start>
<start name="test-failsafe">
<resource name="RAM" quantum="10M"/>
</start>
</config>
}
#
# Boot modules
#
# generic modules
set boot_modules { core init loader test-failsafe test-segfault }
build_boot_image $boot_modules
#
# Execute test case
#
append qemu_args "-nographic -m 64"
run_genode_until "--- finished failsafe test ---.*\n" 30