if {![have_board pc]} {
puts "\nRun script is not supported on this platform.\n";
exit 0
}
if {[get_cmd_switch --autopilot] && ![have_include "power_on/qemu"]} {
puts "\nAutopilot run is not supported on this platform\n"
exit 0
}
proc usb_device_label {} { return "usb-1-2" }
create_boot_directory
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/test_usb_host_drv-[board] \
[depot_user]/src/report_rom \
[depot_user]/src/usb_block_drv \
[depot_user]/src/init
build { app/block_tester }
install_config {
}
#
# Define USB host controller config
#
set fd [open [run_dir]/genode/usb_host_drv.config w]
puts $fd { }
close $fd
build_boot_image [build_artifacts]
#
# Execute test case
#
set disk_image "bin/test.img"
set cmd "dd if=/dev/zero of=$disk_image bs=1M count=16"
if {[have_include "power_on/qemu"]} {
puts "creating disk image:\n$cmd"
catch { exec sh -c $cmd }
}
#
# Qemu opts for EHCI
#
append qemu_args " -nographic -M pc -boot order=d "
append qemu_args " -drive if=none,id=disk,file=$disk_image,format=raw "
append qemu_args " -device usb-ehci,id=ehci -device usb-storage,bus=ehci.0,drive=disk "
run_genode_until {.*child "block_tester" exited with exit value 0.*} 100