genode/repos/ports/run/seoul-auto.run
Alexander Boettcher 9812799b24 seoul: reduce CPU load in graphic mode
- Stop refreshing if all CPUs go to sleep, also in text mode.
- Any input resets update rate to 100Hz in graphic mode, which gets
  decreased step by step down to 25Hz if no input is available (looking video
  without input by user).

Fixes #3576
2019-12-19 17:01:42 +01:00

87 lines
2.0 KiB
Plaintext

#
# \brief Seoul on Genode - for automated testing
# \author Alexander Boettcher
# \date 2013-06-11
#
# This run script starts the Seoul VMM booting from a multiboot image.
# It assumes that the module files are present at '<build-dir>/bin/'
#
assert_spec x86
if { [get_cmd_switch --autopilot] && [have_spec x86_32] } {
puts "Run script does not support autopilot mode on 32 bit"
exit 0
}
if {[have_spec foc] || [have_spec sel4] || [have_spec nova]} {
} else {
puts "\n Run script is not supported on this platform. \n";
exit 0
}
set use_multiboot 1
set use_genode_iso 0
set use_model_ahci 0
set use_model_ide 0
set use_block_ram 0
set use_block_sata 0
set use_nic_session 1
set use_nic_bridge 0
set use_usb 0
set use_framebuffer 1
set use_fancy_stuff 0
set use_top 0
set memory_vmm_vm "128M"
set vcpus_to_be_used 2
if {[have_spec sel4]} {
# The seL4 kernel dies with an exception XXX
set vcpus_to_be_used 1
}
set multiboot_files {
<rom name="munich"/>
<rom name="bzImage-3.1" cmdline="root=/dev/ram0 earlyprintk=ttyS0 console=ttyS0 text"/>
<rom name="seoul-auto.gz"/>
}
set guest_os_binaries { munich bzImage-3.1 seoul-auto.gz}
set sha1_os_binaries { 7ecb4ba634a0ecfa6429418ea73490d6f65afead 6b2ef2c5bf16db3ebcbe33ce134e4e0a96944f82 bb6384fe58ab0c945b231f6cc107bcdff1bdacbe}
#
# Download demo kernel, image and
# munich (part of Oslo framework http://os.inf.tu-dresden.de/~kauer/oslo)
#
set uri "http://genode.org/files/seoul"
foreach binary $guest_os_binaries {
if {![file exists bin/$binary]} {
exec mkdir -p bin
puts "Download file bin/$binary"
exec >& /dev/null wget -c -O bin/$binary $uri/$binary
}
}
source ${genode_dir}/repos/ports/run/seoul.inc
append qemu_args " -cpu phenom -smp 2 "
append qemu_args " -net nic,model=e1000 "
append qemu_args " -nographic "
if { [get_cmd_switch --autopilot] } {
run_genode_until {\[init -\> seoul\] VMM: # Hello Genode world!} 300
} else {
run_genode_until forever
}
foreach binary $guest_os_binaries {
exec rm -f bin/$binary
}