mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-29 10:08:53 +00:00
691be92046
Issue #3961
138 lines
3.7 KiB
Plaintext
138 lines
3.7 KiB
Plaintext
#
|
|
# \brief Seoul on Genode - boot from a vdi or raw
|
|
# \author Alexander Boettcher
|
|
# \date 2020-03-12
|
|
#
|
|
|
|
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 { [get_cmd_switch --autopilot] && [have_include power_on/qemu] } {
|
|
puts "\n Run script is not supported on this platform. \n";
|
|
exit 0
|
|
}
|
|
|
|
#if {[have_spec foc] || [have_spec sel4] || [have_spec nova]} {
|
|
if {[have_spec nova]} {
|
|
} else {
|
|
puts "\n Run script is not supported on this platform. \n";
|
|
exit 0
|
|
}
|
|
|
|
set use_multiboot 0
|
|
set use_genode_iso 0
|
|
set use_model_ahci 1
|
|
set use_model_ide 0
|
|
|
|
set use_block_vdi 0
|
|
set use_block_ram 0
|
|
set use_block_sata 1
|
|
|
|
set use_part_block [expr ![have_include power_on/qemu]]
|
|
|
|
set use_nic_session 1
|
|
|
|
set use_usb 0
|
|
|
|
set use_framebuffer 1
|
|
set use_fancy_stuff 0
|
|
set use_top 0
|
|
|
|
set memory_vmm_vm "1280M"
|
|
|
|
set vcpus_to_be_used 2
|
|
|
|
if {[have_include power_on/qemu]} {
|
|
|
|
if {![file exists bin/seoul-disc.raw]} {
|
|
if {![file exists bin/seoul_stress32.vdi]} {
|
|
puts "Please provide a disk image file to bin/seoul_stress32.vdi"
|
|
exit 1
|
|
}
|
|
|
|
# if {![file exists bin/seoul_stress32.raw]} {
|
|
# puts "Please provide a disk image file to bin/seoul_stress32.raw"
|
|
# exit 1
|
|
# }
|
|
|
|
set mke2fs [installed_command mke2fs]
|
|
set dd [installed_command dd]
|
|
|
|
# catch { exec $dd if=/dev/zero of=bin/seoul-disc.raw bs=1M count=12000 }
|
|
catch { exec $dd if=/dev/zero of=bin/seoul-disc.raw bs=1M count=6000 }
|
|
catch { exec $mke2fs -F bin/seoul-disc.raw }
|
|
|
|
exec [installed_command e2cp] bin/seoul_stress32.vdi bin/seoul-disc.raw:seoul_stress32.vdi
|
|
# exec [installed_command e2cp] bin/seoul_stress32.raw bin/seoul-disc.raw:seoul_stress32.raw
|
|
}
|
|
|
|
append qemu_args " -m 2536 "
|
|
append qemu_args " -cpu phenom"
|
|
|
|
append qemu_args " -drive id=disk,file=bin/seoul-disc.raw,format=raw,if=none"
|
|
append qemu_args " -device ahci,id=ahci -device ide-drive,drive=disk,bus=ahci.0"
|
|
|
|
run_genode_until forever
|
|
exit
|
|
}
|
|
|
|
set match_guest_log "\[init -\> seoul\].*VMM: #"
|
|
set match_guest_down "\[init -\> seoul\].*VMM: STANDBY IMMEDIATE"
|
|
set match_boot_string "--- Seoul VMM starting ---"
|
|
set vmm_name "seoul"
|
|
|
|
set vcpus_to_be_used 1
|
|
set use_vcpus $vcpus_to_be_used
|
|
lappend results_expected 1 2 20 75
|
|
lappend boottime_expected 51
|
|
source ${genode_dir}/repos/ports/run/seoul.inc
|
|
source ${genode_dir}/repos/ports/run/vmm_vm_stress.inc
|
|
run_genode_until $match_guest_down 20 [output_spawn_id]
|
|
kill_spawned [output_spawn_id]
|
|
|
|
set vcpus_to_be_used 2
|
|
set use_vcpus $vcpus_to_be_used
|
|
lappend results_expected 2 2 21 46
|
|
lappend boottime_expected 51
|
|
source ${genode_dir}/repos/ports/run/seoul.inc
|
|
source ${genode_dir}/repos/ports/run/vmm_vm_stress.inc
|
|
run_genode_until $match_guest_down 20 [output_spawn_id]
|
|
kill_spawned [output_spawn_id]
|
|
|
|
set vcpus_to_be_used 3
|
|
set use_vcpus $vcpus_to_be_used
|
|
lappend results_expected 3 2 21 37
|
|
lappend boottime_expected 52
|
|
source ${genode_dir}/repos/ports/run/seoul.inc
|
|
source ${genode_dir}/repos/ports/run/vmm_vm_stress.inc
|
|
run_genode_until $match_guest_down 20 [output_spawn_id]
|
|
kill_spawned [output_spawn_id]
|
|
|
|
set vcpus_to_be_used 4
|
|
set use_vcpus $vcpus_to_be_used
|
|
lappend results_expected 4 2 23 33
|
|
lappend boottime_expected 53
|
|
source ${genode_dir}/repos/ports/run/seoul.inc
|
|
source ${genode_dir}/repos/ports/run/vmm_vm_stress.inc
|
|
run_genode_until $match_guest_down 20 [output_spawn_id]
|
|
kill_spawned [output_spawn_id]
|
|
|
|
#
|
|
# Dump aggregated output of the several runs above
|
|
#
|
|
grep_output "$match_guest_log.*cpus="
|
|
|
|
puts $output
|
|
|
|
set merge_host_output [split $output_host "\n"]
|
|
set merge_host_extra [split $output_host_extra "\n"]
|
|
for { set i 0 } { $i < [llength $merge_host_output] } { incr i} {
|
|
puts "[lindex $merge_host_output $i] [lindex $merge_host_extra $i]"
|
|
}
|
|
|
|
evaluate_stress
|