2013-08-10 13:41:05 +00:00
|
|
|
#
|
2014-05-16 22:57:41 +00:00
|
|
|
# \brief Seoul on Genode - for automated testing
|
2013-08-10 13:41:05 +00:00
|
|
|
# \author Alexander Boettcher
|
|
|
|
# \date 2013-06-11
|
|
|
|
#
|
2014-05-16 22:57:41 +00:00
|
|
|
# This run script starts the Seoul VMM booting from a multiboot image.
|
2013-08-10 13:41:05 +00:00
|
|
|
# It assumes that the module files are present at '<build-dir>/bin/'
|
|
|
|
#
|
|
|
|
|
2018-11-12 19:31:41 +00:00
|
|
|
assert_spec x86
|
2013-08-10 13:41:05 +00:00
|
|
|
|
2019-05-28 09:22:24 +00:00
|
|
|
if { [get_cmd_switch --autopilot] && [have_spec x86_32] } {
|
2017-08-14 08:50:00 +00:00
|
|
|
puts "Run script does not support autopilot mode on 32 bit"
|
|
|
|
exit 0
|
|
|
|
}
|
|
|
|
|
2018-11-12 19:31:41 +00:00
|
|
|
if {[have_spec foc] || [have_spec sel4] || [have_spec nova]} {
|
|
|
|
} else {
|
|
|
|
puts "\n Run script is not supported on this platform. \n";
|
|
|
|
exit 0
|
|
|
|
}
|
|
|
|
|
2013-08-10 13:41:05 +00:00
|
|
|
set use_multiboot 1
|
2014-09-21 08:20:20 +00:00
|
|
|
set use_genode_iso 0
|
2015-09-09 21:38:07 +00:00
|
|
|
set use_model_ahci 0
|
|
|
|
set use_model_ide 0
|
2013-08-10 13:41:05 +00:00
|
|
|
|
2020-03-12 10:38:40 +00:00
|
|
|
set use_block_vdi 0
|
2015-09-06 09:24:42 +00:00
|
|
|
set use_block_ram 0
|
2013-08-10 13:41:05 +00:00
|
|
|
set use_block_sata 0
|
|
|
|
|
2020-03-12 10:38:40 +00:00
|
|
|
set use_part_block 0
|
|
|
|
|
2013-08-10 13:41:05 +00:00
|
|
|
set use_nic_session 1
|
|
|
|
set use_nic_bridge 0
|
|
|
|
|
|
|
|
set use_usb 0
|
|
|
|
|
2013-08-21 10:01:00 +00:00
|
|
|
set use_framebuffer 1
|
2013-08-10 13:41:05 +00:00
|
|
|
set use_fancy_stuff 0
|
2018-03-02 13:52:40 +00:00
|
|
|
set use_top 0
|
2013-08-10 13:41:05 +00:00
|
|
|
|
|
|
|
set memory_vmm_vm "128M"
|
|
|
|
|
2014-07-16 19:43:41 +00:00
|
|
|
set vcpus_to_be_used 2
|
|
|
|
|
2018-11-12 19:31:41 +00:00
|
|
|
if {[have_spec sel4]} {
|
|
|
|
# The seL4 kernel dies with an exception XXX
|
|
|
|
set vcpus_to_be_used 1
|
|
|
|
}
|
|
|
|
|
2013-08-10 13:41:05 +00:00
|
|
|
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
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-05-07 09:48:19 +00:00
|
|
|
source ${genode_dir}/repos/ports/run/seoul.inc
|
2013-08-10 13:41:05 +00:00
|
|
|
|
2019-11-15 10:07:52 +00:00
|
|
|
append qemu_args " -cpu phenom -smp 2 "
|
2013-08-10 13:41:05 +00:00
|
|
|
append qemu_args " -nographic "
|
2020-04-02 19:20:50 +00:00
|
|
|
append_qemu_nic_args
|
2013-08-10 13:41:05 +00:00
|
|
|
|
2018-11-12 19:31:41 +00:00
|
|
|
if { [get_cmd_switch --autopilot] } {
|
|
|
|
run_genode_until {\[init -\> seoul\] VMM: # Hello Genode world!} 300
|
|
|
|
} else {
|
|
|
|
run_genode_until forever
|
|
|
|
}
|
2013-08-10 13:41:05 +00:00
|
|
|
|
2013-08-20 07:58:38 +00:00
|
|
|
foreach binary $guest_os_binaries {
|
|
|
|
exec rm -f bin/$binary
|
|
|
|
}
|