mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-20 09:46:20 +00:00
parent
29911cf114
commit
319d2be1af
@ -25,9 +25,12 @@ set use_genode_iso 0
|
||||
set use_model_ahci 0
|
||||
set use_model_ide 0
|
||||
|
||||
set use_block_vdi 0
|
||||
set use_block_ram 0
|
||||
set use_block_sata 0
|
||||
|
||||
set use_part_block 0
|
||||
|
||||
set use_nic_session 1
|
||||
set use_nic_bridge 0
|
||||
|
||||
|
@ -12,9 +12,12 @@ set use_genode_iso 0
|
||||
set use_model_ahci 1
|
||||
set use_model_ide 0
|
||||
|
||||
set use_block_vdi 0
|
||||
set use_block_ram 1
|
||||
set use_block_sata 0
|
||||
|
||||
set use_part_block 0
|
||||
|
||||
set use_nic_session 1
|
||||
set use_nic_bridge 0
|
||||
|
||||
|
@ -15,9 +15,12 @@ set use_genode_iso 0
|
||||
set use_model_ahci 0
|
||||
set use_model_ide 0
|
||||
|
||||
set use_block_vdi 0
|
||||
set use_block_ram 0
|
||||
set use_block_sata 0
|
||||
|
||||
set use_part_block 0
|
||||
|
||||
set use_nic_session 1
|
||||
set use_nic_bridge 1
|
||||
|
||||
|
@ -13,9 +13,12 @@ set use_genode_iso 1
|
||||
set use_model_ahci 1
|
||||
set use_model_ide 0
|
||||
|
||||
set use_block_vdi 0
|
||||
set use_block_ram 0
|
||||
set use_block_sata 0
|
||||
|
||||
set use_part_block 0
|
||||
|
||||
set use_nic_session 1
|
||||
set use_nic_bridge 0
|
||||
|
||||
|
@ -19,9 +19,12 @@ set use_genode_iso 0
|
||||
set use_model_ahci 0
|
||||
set use_model_ide 0
|
||||
|
||||
set use_block_vdi 0
|
||||
set use_block_ram 0
|
||||
set use_block_sata 0
|
||||
|
||||
set use_part_block 0
|
||||
|
||||
set use_nic_session 0
|
||||
set use_nic_bridge 0
|
||||
|
||||
|
@ -12,9 +12,12 @@ set use_genode_iso 0
|
||||
set use_model_ahci 0
|
||||
set use_model_ide 0
|
||||
|
||||
set use_block_vdi 0
|
||||
set use_block_ram 0
|
||||
set use_block_sata 0
|
||||
|
||||
set use_part_block 0
|
||||
|
||||
set use_nic_session 1
|
||||
set use_nic_bridge 0
|
||||
|
||||
|
@ -5,11 +5,24 @@
|
||||
# \author Alexander Boettcher
|
||||
# \date 2011-11-21
|
||||
|
||||
set use_fs_rump $use_block_vdi
|
||||
set use_drv_ahci [expr $use_block_vdi || $use_block_sata]
|
||||
|
||||
create_boot_directory
|
||||
|
||||
import_from_depot [depot_user]/src/[base_src] \
|
||||
[depot_user]/src/init \
|
||||
[depot_user]/src/nitpicker
|
||||
|
||||
if {$use_fs_rump} {
|
||||
import_from_depot [depot_user]/src/vfs \
|
||||
[depot_user]/src/rump
|
||||
}
|
||||
|
||||
if {$use_part_block} {
|
||||
import_from_depot [depot_user]/src/part_block
|
||||
}
|
||||
|
||||
#
|
||||
# Build
|
||||
#
|
||||
@ -54,9 +67,10 @@ set build_components {
|
||||
|
||||
if {$use_fancy_stuff} { set use_framebuffer 1 }
|
||||
|
||||
lappend_if $use_block_vdi build_components server/vdi_block
|
||||
lappend_if $use_usb build_components drivers/usb
|
||||
lappend_if $use_block_ram build_components server/ram_block
|
||||
lappend_if $use_block_sata build_components drivers/ahci
|
||||
lappend_if $use_drv_ahci build_components drivers/ahci
|
||||
lappend_if $use_nic_session build_components drivers/nic
|
||||
lappend_if $use_nic_bridge build_components server/nic_bridge
|
||||
lappend_if $use_framebuffer build_components drivers/framebuffer
|
||||
@ -162,7 +176,7 @@ close $vm_cfg_fd
|
||||
# Generate Genode config
|
||||
#
|
||||
|
||||
append config {
|
||||
set config {
|
||||
<config verbose="yes" prio_levels="4">
|
||||
<parent-provides>
|
||||
<service name="ROM"/>
|
||||
@ -202,12 +216,38 @@ append_if [expr !$use_usb] config {
|
||||
<route> <any-service><parent/> <any-child/> </any-service> </route>
|
||||
</start> }
|
||||
|
||||
append_if $use_block_sata config {
|
||||
append_if $use_drv_ahci config {
|
||||
<start name="ahci_drv" priority="-1">
|
||||
<resource name="RAM" quantum="1M" />
|
||||
<provides><service name="Block"/></provides>
|
||||
<config>}
|
||||
|
||||
append_if [expr $use_block_sata && !$use_part_block] config {
|
||||
<policy label="seoul -> VirtualDisk 0" device="0" writeable="yes"/>}
|
||||
|
||||
append_if [expr $use_block_vdi && !$use_part_block] config {
|
||||
<policy label="rump_fs -> " device="0" writeable="yes"/>}
|
||||
|
||||
append_if [expr $use_block_vdi && $use_part_block] config {
|
||||
<policy label="part_block -> " device="0" writeable="yes"/>}
|
||||
|
||||
append_if [expr $use_block_sata && $use_part_block] config {
|
||||
<policy label="part_block -> " device="0" writeable="yes"/>}
|
||||
|
||||
append_if $use_drv_ahci config {
|
||||
</config>
|
||||
</start>}
|
||||
|
||||
append_if $use_part_block config {
|
||||
<start name="part_block" priority="-1">
|
||||
<resource name="RAM" quantum="10M"/>
|
||||
<provides><service name="Block"/></provides>
|
||||
<route>
|
||||
<any-service><child name="ahci_drv"/> <parent/></any-service>
|
||||
</route>
|
||||
<config>
|
||||
<policy label="seoul -> VirtualDisk 0" device="0" writeable="yes"/>
|
||||
<policy label="seoul -> VirtualDisk 0" partition="5" writeable="yes"/>
|
||||
<policy label="rump_fs -> " partition="4" writeable="yes"/>
|
||||
</config>
|
||||
</start>}
|
||||
|
||||
@ -218,6 +258,44 @@ append_if $use_block_ram config {
|
||||
<config file="seoul-disc.raw" block_size="512"/>
|
||||
</start>}
|
||||
|
||||
append_if $use_fs_rump config {
|
||||
<start name="rump_fs" priority="-1" caps="200">
|
||||
<binary name="vfs"/>
|
||||
<resource name="RAM" quantum="32M"/>
|
||||
<provides><service name="File_system"/></provides>
|
||||
<config ld_verbose="yes">
|
||||
<vfs>
|
||||
<rump fs="ext2fs" ram="28M"/>
|
||||
</vfs>
|
||||
<default-policy root="/" writeable="yes"/>
|
||||
</config>
|
||||
<route>
|
||||
<service name="Timer"><child name="timer"/></service>}
|
||||
|
||||
append_if [expr $use_fs_rump && $use_part_block] config {
|
||||
<service name="Block"><child name="part_block"/></service>}
|
||||
append_if [expr $use_fs_rump && !$use_part_block] config {
|
||||
<service name="Block"><child name="ahci_drv"/></service>}
|
||||
|
||||
append_if $use_fs_rump config {
|
||||
<any-service> <parent/> </any-service>
|
||||
</route>
|
||||
</start>}
|
||||
|
||||
append_if $use_block_vdi config {
|
||||
<start name="vdi_block">
|
||||
<resource name="RAM" quantum="8M"/>
|
||||
<provides> <service name="Block"/> </provides>
|
||||
<config file="/seoul_stress32.vdi" writeable="yes">
|
||||
<vfs> <fs buffer_size="1M"/> </vfs>
|
||||
<policy label="seoul -> VirtualDisk 0" writeable="yes"/>
|
||||
</config>
|
||||
<route>
|
||||
<service name="File_system"><child name="rump_fs"/></service>
|
||||
<any-service> <parent/> <any-child /> </any-service>
|
||||
</route>
|
||||
</start>}
|
||||
|
||||
append_if $use_genode_iso config {
|
||||
<start name="rom_block" priority="-1">
|
||||
<resource name="RAM" quantum="16M" />
|
||||
@ -292,6 +370,10 @@ append_if $use_genode_iso config {
|
||||
<service name="ROM" label="vm_seoul.cfg"> <parent/> </service>
|
||||
<service name="ROM" label="platform_info"> <parent/> </service>
|
||||
<service name="ROM"><child name="iso9660"/></service>}
|
||||
append_if $use_block_vdi config {
|
||||
<service name="Block"><child name="vdi_block"/></service>}
|
||||
append_if [expr $use_block_sata && $use_part_block] config {
|
||||
<service name="Block"><child name="part_block"/></service>}
|
||||
append config {
|
||||
<service name="Rtc"><child name="rtc_drv"/></service>
|
||||
<any-service><parent/><any-child/></any-service>
|
||||
@ -437,10 +519,11 @@ set boot_modules {
|
||||
vm_seoul.cfg
|
||||
}
|
||||
|
||||
lappend_if $use_block_vdi boot_modules vdi_block
|
||||
lappend_if [expr !$use_usb] boot_modules ps2_drv
|
||||
lappend_if $use_usb boot_modules usb_drv
|
||||
lappend_if $use_block_ram boot_modules ram_block
|
||||
lappend_if $use_block_sata boot_modules ahci_drv
|
||||
lappend_if $use_drv_ahci boot_modules ahci_drv
|
||||
lappend_if $use_nic_session boot_modules ipxe_nic_drv
|
||||
lappend_if $use_nic_bridge boot_modules nic_bridge
|
||||
lappend_if $use_framebuffer boot_modules vesa_fb_drv
|
||||
|
138
repos/ports/run/vm_stress_seoul-debian32.run
Normal file
138
repos/ports/run/vm_stress_seoul-debian32.run
Normal file
@ -0,0 +1,138 @@
|
||||
#
|
||||
# \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_nic_bridge 0
|
||||
|
||||
set use_usb 0
|
||||
|
||||
set use_framebuffer 1
|
||||
set use_fancy_stuff 0
|
||||
set use_top 0
|
||||
|
||||
set memory_vmm_vm "512M"
|
||||
|
||||
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 10 35 76
|
||||
lappend boottime_expected 54
|
||||
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 10 38 47
|
||||
lappend boottime_expected 54
|
||||
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 10 39 38
|
||||
lappend boottime_expected 54
|
||||
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 10 36 34
|
||||
lappend boottime_expected 54
|
||||
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
|
@ -9,7 +9,7 @@ if {[get_cmd_switch --autopilot] && $current_date != "Sat" && $current_date != "
|
||||
run_genode_until $match_boot_string 40
|
||||
|
||||
set t_vm_boot_start [clock seconds]
|
||||
run_genode_until "$match_guest_log.*git clone" 70 [output_spawn_id]
|
||||
run_genode_until "$match_guest_log.*git clone" 90 [output_spawn_id]
|
||||
set t_vm_git_clone [clock seconds]
|
||||
run_genode_until "$match_guest_log.*prepare ports" 70 [output_spawn_id]
|
||||
set t_vm_prepare_ports [clock seconds]
|
||||
|
@ -80,6 +80,7 @@ vbox5_win7_64_raw
|
||||
vbox5_win7_64_share
|
||||
vm_stress_vbox5-debian32
|
||||
vm_stress_vbox5-debian64
|
||||
vm_stress_seoul-debian32
|
||||
verify
|
||||
vfs_import
|
||||
vmm_arm
|
||||
|
Loading…
x
Reference in New Issue
Block a user