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 } append config { } install_config $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