# # \brief Test for using the Block (Storage) service of usb_drv # \author Christian Prochaska # \date 2011-06-24 # # # Build # set build_components { core init drivers/timer drivers/usb test/block } lappend_if [have_spec acpi] build_components drivers/acpi lappend_if [have_spec pci] build_components drivers/pci lappend_if [have_spec pci] build_components drivers/pci/device_pd lappend_if [have_spec platform_arndale] build_components drivers/platform lappend_if [have_spec gpio] build_components drivers/gpio build $build_components create_boot_directory # # Generate config # set config { } append_if [have_spec acpi] config { } append_if [expr ![have_spec acpi] && [have_spec pci]] config { } append_if [have_spec platform_arndale] config { } append_if [have_spec gpio] config { } append config { } install_config $config # # Boot modules # # generic modules set boot_modules { core init timer usb_drv test-block } lappend_if [have_spec acpi] boot_modules acpi_drv lappend_if [have_spec pci] boot_modules pci_drv lappend_if [have_spec nova] boot_modules pci_device_pd lappend_if [have_spec platform_arndale] boot_modules platform_drv build_boot_image $boot_modules # # Execute test case # set disk_image "bin/test.img" set cmd "dd if=/dev/zero of=$disk_image bs=1024 count=65536" puts "creating disk image:\n$cmd" catch { exec sh -c $cmd } set cmd "mkfs.vfat -F32 $disk_image" puts "formating disk image with vfat file system:\$cmd" catch { exec sh -c $cmd } # # Qemu opts for UHCI # #append qemu_args " -m 64 -nographic -usbdevice disk::$disk_image -boot order=d" # # Qemu opts for EHCI # append qemu_args "-drive if=none,id=disk,file=$disk_image" append qemu_args { \ -m 64 -nographic -M pc \ -device usb-ehci,id=ehci \ -device usb-storage,bus=ehci.0,drive=disk \ -boot order=d } run_genode_until {.*child exited with exit value 0.*} 40 puts "\ntest succeeded\n" # vi: set ft=tcl :