build "core init test/bomb timer" set timeout 240 set rounds 20 set generations 6 set children 2 set sleep 1500 set demand [expr 1*1024*1024] if {[have_include "power_on/qemu"]} { append qemu_args "-nographic " } else { # foc is really slow on native hardware executing this test - limit rounds if {[have_spec foc]} { if {[have_spec x86_32]} { set rounds 6 } if {[have_spec x86_64]} { set rounds 6 } } } if {[have_spec pistachio]} { # The bomb test triggers a kernel assertion at kernel/src/api/v4/tcb.h, # line 727, which remains unfixed since the kernel is no longer developed. puts "Run script does not support Pistachio" exit 0 } # prevent hitting the socket-descriptor limit on Linux if {[have_spec linux]} { set generations 4 } set config { <config prio_levels="2"> <parent-provides> <service name="ROM"/> <service name="IRQ"/> <service name="IO_MEM"/> <service name="IO_PORT"/> <service name="PD"/> <service name="RM"/> <service name="CPU"/> <service name="LOG"/> </parent-provides> <default-route> <any-service> <parent/> <any-child/> </any-service> </default-route> <resource name="RAM" preserve="2M"/> <resource name="CAP" preserve="100"/> <start name="timer" caps="100"> <resource name="CPU" quantum="10"/> <resource name="RAM" quantum="1M"/> <provides><service name="Timer"/></provides> </start> <start name="bomb-master" priority="-1" caps="100000"> <binary name="bomb"/> <resource name="CPU" quantum="90"/> <resource name="RAM" quantum="2G"/>} append config " <config rounds=\"$rounds\" generations=\"$generations\" children=\"$children\" sleep=\"$sleep\" demand=\"$demand\"/>" append config { </start> </config>} create_boot_directory install_config $config build_boot_image "core ld.lib.so init bomb timer" run_genode_until {.*Done\. Going to sleep.*} $timeout