genode/repos/os/run/bomb.run
2023-05-30 12:03:26 +02:00

66 lines
1.8 KiB
Plaintext

build { core init lib/ld 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 }
create_boot_directory
install_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"/>
<config rounds="} $rounds {" generations="} $generations {"
children="} $children {" sleep="} $sleep {" demand="} $demand {"/>
</start>
</config>}
build_boot_image [build_artifacts]
run_genode_until {.*Done\. Going to sleep.*} $timeout