2012-11-27 09:40:13 +00:00
|
|
|
build "core init test/bomb drivers/timer"
|
|
|
|
|
2016-11-10 09:16:14 +00:00
|
|
|
set timeout 240
|
|
|
|
set rounds 20
|
|
|
|
set generations 6
|
|
|
|
set children 2
|
|
|
|
set sleep 1500
|
|
|
|
set demand [expr 1*1024*1024]
|
2015-07-15 11:56:31 +00:00
|
|
|
|
|
|
|
if {[have_include "power_on/qemu"]} {
|
2017-05-23 13:05:55 +00:00
|
|
|
append qemu_args "-nographic "
|
2015-07-15 11:56:31 +00:00
|
|
|
} else {
|
|
|
|
# foc is really slow on native hardware executing this test - limit rounds
|
2017-01-03 12:17:41 +00:00
|
|
|
if {[have_spec foc]} {
|
|
|
|
if {[have_spec x86_32]} { set rounds 6 }
|
|
|
|
if {[have_spec x86_64]} { set rounds 6 }
|
|
|
|
}
|
2015-07-15 11:56:31 +00:00
|
|
|
}
|
2012-11-27 09:40:13 +00:00
|
|
|
|
2018-07-02 12:23:07 +00:00
|
|
|
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
|
|
|
|
}
|
|
|
|
|
2016-11-10 09:16:14 +00:00
|
|
|
# prevent hitting the socket-descriptor limit on Linux
|
|
|
|
if {[have_spec linux]} { set generations 4 }
|
|
|
|
|
2015-07-15 11:56:31 +00:00
|
|
|
set config {
|
2013-02-20 13:49:16 +00:00
|
|
|
<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>
|
2017-06-20 10:29:20 +00:00
|
|
|
<resource name="RAM" preserve="2M"/>
|
|
|
|
<resource name="CAP" preserve="100"/>
|
2017-05-07 20:36:11 +00:00
|
|
|
<start name="timer" caps="100">
|
2015-07-15 11:56:31 +00:00
|
|
|
<resource name="CPU" quantum="10"/>
|
2015-07-02 12:24:51 +00:00
|
|
|
<resource name="RAM" quantum="1M"/>
|
2013-02-20 13:49:16 +00:00
|
|
|
<provides><service name="Timer"/></provides>
|
|
|
|
</start>
|
2017-05-07 20:36:11 +00:00
|
|
|
<start name="bomb-master" priority="-1" caps="100000">
|
2015-07-02 12:24:51 +00:00
|
|
|
<binary name="bomb"/>
|
2015-07-15 11:56:31 +00:00
|
|
|
<resource name="CPU" quantum="90"/>
|
|
|
|
<resource name="RAM" quantum="2G"/>}
|
|
|
|
|
|
|
|
append config "
|
2016-11-10 09:16:14 +00:00
|
|
|
<config rounds=\"$rounds\" generations=\"$generations\"
|
|
|
|
children=\"$children\" sleep=\"$sleep\" demand=\"$demand\"/>"
|
2015-07-15 11:56:31 +00:00
|
|
|
|
|
|
|
append config {
|
2013-02-20 13:49:16 +00:00
|
|
|
</start>
|
|
|
|
</config>}
|
2012-11-27 09:40:13 +00:00
|
|
|
|
2015-07-15 11:56:31 +00:00
|
|
|
create_boot_directory
|
2012-11-27 09:40:13 +00:00
|
|
|
|
2015-07-15 11:56:31 +00:00
|
|
|
install_config $config
|
|
|
|
|
2016-12-01 18:00:11 +00:00
|
|
|
build_boot_image "core ld.lib.so init bomb timer"
|
2012-11-27 09:40:13 +00:00
|
|
|
|
2016-11-10 09:16:14 +00:00
|
|
|
run_genode_until {.*Done\. Going to sleep.*} $timeout
|