mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-23 07:22:25 +00:00
ecdbdef8ee
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.
61 lines
1.1 KiB
Plaintext
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
|
|
|