diff --git a/repos/ports/run/seoul-auto.run b/repos/ports/run/seoul-auto.run index d4d0b71e68..ced00bf191 100644 --- a/repos/ports/run/seoul-auto.run +++ b/repos/ports/run/seoul-auto.run @@ -33,8 +33,6 @@ set use_part_block 0 set use_nic_session 1 -set use_usb 0 - set use_framebuffer 1 set use_fancy_stuff 0 set use_top 0 diff --git a/repos/ports/run/seoul-disc.run b/repos/ports/run/seoul-disc.run index c6e8c428a9..dfaa0b179d 100644 --- a/repos/ports/run/seoul-disc.run +++ b/repos/ports/run/seoul-disc.run @@ -20,8 +20,6 @@ set use_part_block 0 set use_nic_session 1 -set use_usb 0 - set use_framebuffer 1 set use_fancy_stuff 0 set use_top 0 diff --git a/repos/ports/run/seoul-fancy.run b/repos/ports/run/seoul-fancy.run index f78a4468c3..87dbdc0b5d 100644 --- a/repos/ports/run/seoul-fancy.run +++ b/repos/ports/run/seoul-fancy.run @@ -23,8 +23,6 @@ set use_part_block 0 set use_nic_session 1 -set use_usb 0 - set use_framebuffer 1 set use_fancy_stuff 1 set use_top 0 diff --git a/repos/ports/run/seoul-genode.run b/repos/ports/run/seoul-genode.run index ec18a875bf..2f66ba2925 100644 --- a/repos/ports/run/seoul-genode.run +++ b/repos/ports/run/seoul-genode.run @@ -21,8 +21,6 @@ set use_part_block 0 set use_nic_session 1 -set use_usb 0 - set use_framebuffer 1 set use_fancy_stuff 0 set use_top 1 @@ -65,11 +63,21 @@ foreach line $vm { } set file_type [exec file $run_script_path$label_file] + if {[regexp "gzip" $file_type]} { + exec gunzip --keep $run_script_path$label_file -c >file.tmp + set file_type [exec file file.tmp] + exec rm file.tmp + } + if {[regexp "ELF 64-bit" $file_type]} { puts "Seoul supports only 32bit guests - choose a 32bit Genode platform" puts "Exit reason: $file_type" exit 2 } + if {[regexp "No such" $file_type]} { + puts "$file_type" + exit 3 + } if {$binary_cmdline eq ""} { append multiboot_files "\n" diff --git a/repos/ports/run/seoul-kernelbuild.run b/repos/ports/run/seoul-kernelbuild.run index a874fa22ca..31a6da07c7 100644 --- a/repos/ports/run/seoul-kernelbuild.run +++ b/repos/ports/run/seoul-kernelbuild.run @@ -27,8 +27,6 @@ set use_part_block 0 set use_nic_session 0 -set use_usb 0 - set use_framebuffer 1 set use_fancy_stuff 0 set use_top 0 diff --git a/repos/ports/run/seoul-net.run b/repos/ports/run/seoul-net.run index 6f3061f045..347d07ccf3 100644 --- a/repos/ports/run/seoul-net.run +++ b/repos/ports/run/seoul-net.run @@ -20,8 +20,6 @@ set use_part_block 0 set use_nic_session 1 -set use_usb 0 - set use_framebuffer 1 set use_fancy_stuff 0 set use_top 0 diff --git a/repos/ports/run/seoul.inc b/repos/ports/run/seoul.inc index 0803b6b2b2..4bcbb7569b 100644 --- a/repos/ports/run/seoul.inc +++ b/repos/ports/run/seoul.inc @@ -12,9 +12,14 @@ set use_vfs_block [expr $use_block_ram || $use_genode_iso] create_boot_directory import_from_depot [depot_user]/src/[base_src] \ + [depot_user]/src/event_filter \ [depot_user]/src/init \ [depot_user]/src/nitpicker \ - [depot_user]/src/vfs_import + [depot_user]/src/usb_host_drv \ + [depot_user]/src/usb_hid_drv \ + [depot_user]/src/vfs_import \ + [depot_user]/src/ps2_drv \ + [depot_user]/raw/drivers_interactive-pc if {$use_fs_rump} { import_from_depot [depot_user]/src/vfs \ @@ -63,14 +68,12 @@ proc platform_drv_priority {} { return { priority="-1"} } set build_components { drivers/rtc - drivers/ps2 app/seoul } 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_vfs_block build_components server/vfs_block lappend_if $use_drv_ahci build_components drivers/ahci lappend_if $use_nic_session build_components drivers/nic @@ -208,14 +211,52 @@ append config { - } + -append_if [expr !$use_usb] config { - - } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } + append_if $use_drv_ahci config { @@ -341,7 +382,7 @@ append_if $use_nic_session config { - + @@ -387,15 +428,15 @@ append_if $use_framebuffer config { } append_if [expr $use_framebuffer && [have_include "power_on/qemu"]] config { - } + } append_if [expr $use_framebuffer && ![have_include "power_on/qemu"]] config { - } + } append_if $use_framebuffer config { } if {!$use_fancy_stuff} { append config { - + } append config " " @@ -422,14 +463,6 @@ append config { } } -append_if $use_usb config { - - - - - - } - append config { @@ -475,6 +508,7 @@ append config { + } @@ -492,7 +526,7 @@ append_if $use_fancy_stuff config { - + @@ -512,7 +546,7 @@ if {$use_fancy_stuff} { set launchpad_cfg_fd [open "bin/launchpad-config" w] puts $launchpad_cfg_fd " - " + " puts $launchpad_cfg_fd { @@ -533,7 +567,7 @@ if {$use_fancy_stuff} { - + @@ -564,8 +598,6 @@ set boot_modules { } 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_vfs_block boot_modules vfs_block lappend_if $use_vfs_block boot_modules vfs.lib.so lappend_if $use_drv_ahci boot_modules ahci_drv @@ -615,10 +647,6 @@ if {$use_multiboot} { append boot_modules $guest_os_binaries } -if {$use_usb} { - append qemu_args " -usb -usbdevice mouse -usbdevice keyboard " -} - append_platform_drv_boot_modules build_boot_image $boot_modules diff --git a/repos/ports/run/vbox5_genode_usb_hid.run b/repos/ports/run/vbox5_genode_usb_hid.run deleted file mode 100644 index 6e067d3f5a..0000000000 --- a/repos/ports/run/vbox5_genode_usb_hid.run +++ /dev/null @@ -1,320 +0,0 @@ -# -# This run script tests the VirtualBox USB device pass-through feature -# by running the 'usb_hid' test in a VM. -# -# See 'usb_hid.run' for more information about the setup of the 'Pro Micro' USB -# device for automated testing. -# -# Note: the USB device(s) to be passed through must be included in the whitelist. -# - -if { [have_include "power_on/qemu"] || ![have_spec nova] || ![have_spec x86_64]} { - puts "Run script is only supported on 64-bit NOVA on real hardware" - exit 0 -} - -set build_components { - drivers/framebuffer - drivers/ps2 - drivers/usb - server/log_terminal - server/fs_rom - server/vfs lib/vfs/import - server/report_rom - app/usb_report_filter - virtualbox5 -} - -source ${genode_dir}/repos/base/run/platform_drv.inc - -# override defaults of platform_drv.inc -proc platform_drv_priority {} { return { priority="-1"} } - -append_platform_drv_build_components - -build $build_components - -create_boot_directory - -import_from_depot [depot_user]/src/[base_src] \ - [depot_user]/src/init \ - [depot_user]/src/nitpicker \ - [depot_user]/src/vfs_pipe \ - [depot_user]/src/jpeg - - -set config { - - - - - - - - - - - - - - - } - -append_platform_drv_config - -append config { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -} - -install_config $config - -puts "--- executing the 'usb_hid' run script to generate the 'usb_hid.iso' image ---" - -global specs -global repositories - -exec -ignorestderr \ - $::argv0 \ - --genode-dir [genode_dir] \ - --name usb_hid \ - --specs "$specs" \ - --board "$board_var" \ - --repositories "$repositories" \ - --cross-dev-prefix "[cross_dev_prefix]" \ - --include boot_dir/nova \ - --include image/iso \ - --include [repository_contains /run/usb_hid.run]/run/usb_hid.run - -exec ln -sf ${genode_dir}/repos/ports/run/vm_genode_usb_hid.vbox bin/ -exec ln -sf ../../usb_hid.iso bin/ - -set boot_modules { - core - init - timer - vesa_fb_drv - ps2_drv - log_terminal - usb_drv - usb_report_filter - fs_rom - vfs vfs.lib.so vfs_import.lib.so - report_rom - virtualbox5-nova - usb_hid.iso - vm_genode_usb_hid.vbox - ld.lib.so libc.lib.so libm.lib.so - libiconv.lib.so stdcxx.lib.so - qemu-usb.lib.so -} - -append_platform_drv_boot_modules - -build_boot_image $boot_modules - -if { ![get_cmd_switch --autopilot] } { run_genode_until forever } - -# autopilot test - -run_genode_until {\[init -\> log_terminal\] \[init -\> event_dump\] Input event #0\t} 90 - -# remove everything before the first interesting line -regexp {(\[init -\> log_terminal\] \[init -\> event_dump\] Input event #0\t.*)} $output all output - -run_genode_until {.*\[init -\> event_dump\] Input event #11.*\n} 60 [output_spawn_id] - -unify_output { number [0-9]+} "" -unify_output {(?n)on usb-dummy.*$} "" -unify_output {(?n)using .*$} "" -unify_output {(?n)^.*__wait_event.*$} "" -unify_output {(?n)^.*Failed to submit URB.*$} "" -unify_output {(?n)^.*dev_warn.*$} "" -unify_output {(?n)^.*dangling allocation.*$} "" -unify_output {(?n)^.*Warning:.*$} "" -unify_output { [0-9][0-9][0-9][0-9]:[0-9][0-9][0-9][0-9] } " " -filter_out_color_escape_sequences -trim_lines - -compare_output_to { -[init -> log_terminal] [init -> event_dump] Input event #0 PRESS KEY_X 65534 key count: 1 -[init -> log_terminal] [init -> event_dump] Input event #1 RELEASE KEY_X key count: 0 -[init -> log_terminal] [init -> event_dump] Input event #2 PRESS BTN_LEFT 65534 key count: 1 -[init -> log_terminal] [init -> event_dump] Input event #3 REL_MOTION -1+0 key count: 1 -[init -> log_terminal] [init -> event_dump] Input event #4 REL_MOTION +0+1 key count: 1 -[init -> log_terminal] [init -> event_dump] Input event #5 RELEASE BTN_LEFT key count: 0 -[init -> usb_drv] dev_info: USB disconnect, device -[init -> log_terminal] [init -> usb_drv] dev_info: USB disconnect, device -[init -> usb_drv] dev_info: new full-speed USB device -[init -> virtualbox] Attach USB device (vendor=3eb, product=204d) -[init -> log_terminal] [init -> usb_drv] dev_info: new full-speed USB device -[init -> log_terminal] [init -> usb_drv] dev_info: D L -[init -> log_terminal] [init -> usb_drv] dev_info: input: USB HID v1.11 Keyboard [D L] -[init -> log_terminal] [init -> usb_drv] dev_info: D L -[init -> log_terminal] [init -> usb_drv] dev_info: input: USB HID v1.11 Mouse [D L] -[init -> log_terminal] [init -> event_dump] Input event #6 PRESS KEY_X 65534 key count: 1 -[init -> log_terminal] [init -> event_dump] Input event #7 RELEASE KEY_X key count: 0 -[init -> log_terminal] [init -> event_dump] Input event #8 PRESS BTN_LEFT 65534 key count: 1 -[init -> log_terminal] [init -> event_dump] Input event #9 REL_MOTION -1+0 key count: 1 -[init -> log_terminal] [init -> event_dump] Input event #10 REL_MOTION +0+1 key count: 1 -[init -> log_terminal] [init -> event_dump] Input event #11 RELEASE BTN_LEFT key count: 0 -} diff --git a/repos/ports/run/vbox_share.inc b/repos/ports/run/vbox_share.inc index 0d547aa211..0247c17da5 100644 --- a/repos/ports/run/vbox_share.inc +++ b/repos/ports/run/vbox_share.inc @@ -284,6 +284,7 @@ set config_of_app { + diff --git a/repos/ports/run/vbox_win.inc b/repos/ports/run/vbox_win.inc index a76bb1a569..81c359af7e 100644 --- a/repos/ports/run/vbox_win.inc +++ b/repos/ports/run/vbox_win.inc @@ -152,6 +152,7 @@ set config_of_app { } append config_of_app { + } diff --git a/repos/ports/run/virtualbox.run b/repos/ports/run/virtualbox.run index f6898f29dd..a5e997ce36 100644 --- a/repos/ports/run/virtualbox.run +++ b/repos/ports/run/virtualbox.run @@ -1,6 +1,5 @@ set use_net 0 -set use_ps2 1 -set use_usb 0 +set use_usb_qemu 0 set use_serial 1 set use_top 1 @@ -26,25 +25,22 @@ create_boot_directory import_from_depot [depot_user]/src/[base_src] \ [depot_user]/src/init \ + [depot_user]/src/jpeg \ + [depot_user]/src/libc \ [depot_user]/src/nitpicker \ + [depot_user]/src/stdcxx \ + [depot_user]/src/vfs \ [depot_user]/src/vfs_pipe \ - [depot_user]/src/jpeg - -source ${genode_dir}/repos/base/run/platform_drv.inc -# override defaults of platform_drv.inc -proc platform_drv_priority {} { return { priority="-1"} } + [depot_user]/pkg/[drivers_interactive_pkg] \ + [depot_user]/pkg/themed_wm lappend_if [expr $use_top] build_components app/top -lappend_if [expr $use_ps2] build_components drivers/ps2 -lappend_if [expr $use_usb] build_components drivers/usb lappend_if [expr $use_serial] build_components server/log_terminal lappend_if [have_spec x86] build_components drivers/rtc lappend_if [expr $use_net] build_components drivers/nic lappend_if [expr $use_net] build_components server/nic_router -append_platform_drv_build_components - build $build_components set config { @@ -80,39 +76,19 @@ append_if [expr $use_top] config { } -append_platform_drv_config +append config { + + + + + + + + + + + -append_if [expr $use_ps2] config { - - - - } - -append_if [expr $use_usb] config { - - } - -append_if [expr $use_usb] config { - - - - } - -append_if [have_board pc] config { - - - } -append_if [expr [have_board pc] && [have_include power_on/qemu]] config { - } -append_if [have_board pc] config { - } - -append_if [have_board linux] config { - - - } - -append_if [have_spec x86] config { @@ -220,6 +196,22 @@ append config { + + + + + + + + + + + + + + + + } append_if [expr $use_gui] config { @@ -230,7 +222,12 @@ append_if [expr $use_gui] config { - + } + +append_if [expr $use_gui && $use_serial] config { + } + +append_if [expr $use_gui] config { @@ -239,7 +236,11 @@ append_if [expr $use_gui] config { - + + + + + @@ -267,7 +268,11 @@ append config { - + + + + + @@ -284,17 +289,12 @@ set boot_modules { test.iso test.vbox } append boot_modules $virtualbox_binary # platform-specific modules -lappend_if [expr $use_usb] boot_modules usb_drv -lappend_if [expr $use_ps2] boot_modules ps2_drv -lappend_if [have_board pc] boot_modules vesa_fb_drv -lappend_if [have_board linux] boot_modules fb_sdl lappend_if [have_spec x86] boot_modules rtc_drv lappend_if [expr $use_top] boot_modules top lappend_if [expr $use_gui] boot_modules report_rom append boot_modules { - libc.lib.so vfs.lib.so libm.lib.so - libiconv.lib.so stdcxx.lib.so + libiconv.lib.so qemu-usb.lib.so } @@ -302,8 +302,6 @@ append_if [expr $use_net] boot_modules { ipxe_nic_drv } append_if [expr $use_net] boot_modules { nic_router } append_if [expr $use_serial] boot_modules { log_terminal } -append_platform_drv_boot_modules - build_boot_image $boot_modules if {[have_include "power_on/qemu"]} { @@ -314,7 +312,7 @@ if {[have_include "power_on/qemu"]} { } append qemu_args " -cpu phenom " - if {[expr $use_usb]} { + if {[expr $use_usb_qemu]} { append qemu_args " -usbdevice mouse -usbdevice keyboard" } } diff --git a/repos/ports/run/virtualbox_auto.inc b/repos/ports/run/virtualbox_auto.inc index 3de6ef4c9a..6d92ef7881 100644 --- a/repos/ports/run/virtualbox_auto.inc +++ b/repos/ports/run/virtualbox_auto.inc @@ -22,28 +22,39 @@ if {[have_spec nova]} { create_boot_directory import_from_depot [depot_user]/src/[base_src] \ + [depot_user]/src/fs_rom \ [depot_user]/src/init \ + [depot_user]/src/libc \ + [depot_user]/src/libiconv \ [depot_user]/src/nitpicker \ + [depot_user]/src/part_block \ + [depot_user]/src/stdcxx \ + [depot_user]/src/vfs \ [depot_user]/src/vfs_pipe \ + [depot_user]/src/vfs_import \ [depot_user]/src/jpeg if {$use_vms > 1} { import_from_depot [depot_user]/pkg/themed_wm } +if {$use_usb} { + import_from_depot [depot_user]/src/usb_host_drv \ + [depot_user]/src/usb_hid_drv +} + +if {$use_rumpfs} { + import_from_depot [depot_user]/src/rump +} + append build_components { - server/part_block - server/fs_rom drivers/ahci drivers/framebuffer } lappend_if [expr $use_serial] build_components server/log_terminal -lappend_if [expr $use_rumpfs] build_components lib/vfs/rump -lappend_if [expr $use_rumpfs] build_components server/vfs lappend_if [expr $use_vbox5] build_components virtualbox5 lappend_if [expr $use_ps2] build_components drivers/ps2 -lappend_if [expr $use_usb] build_components drivers/usb lappend_if [expr $use_usb] build_components app/usb_report_filter lappend_if [have_spec x86] build_components drivers/rtc lappend_if [expr $use_ram_fs || $use_usb] build_components lib/vfs/import @@ -270,10 +281,8 @@ append_if [expr $use_usb] config { - - - - + + @@ -338,18 +347,29 @@ append_if [expr $use_usb] config { - + + - -} + + + + + + + + + + + + } append_if [have_board pc] config { @@ -383,18 +403,12 @@ append config { install_config $config append boot_modules { - part_block ahci_drv fs_rom vfs - libc.lib.so vfs.lib.so libm.lib.so - libiconv.lib.so stdcxx.lib.so + ahci_drv qemu-usb.lib.so } -lappend_if [expr $use_rumpfs] boot_modules rump.lib.so -lappend_if [expr $use_rumpfs] boot_modules rump_fs.lib.so -lappend_if [expr $use_rumpfs] boot_modules vfs_rump.lib.so lappend_if [expr $use_serial] boot_modules log_terminal lappend_if [expr $use_vbox5] boot_modules $virtualbox5_binary -lappend_if [expr $use_ram_fs || $use_usb] boot_modules vfs_import.lib.so lappend_if [expr $use_ram_fs && !$use_overlay_from_disk] boot_modules $overlay_image lappend_if [expr $use_cpu_load] boot_modules trace_subject_reporter lappend_if [expr $use_cpu_load] boot_modules cpu_load_display @@ -403,7 +417,6 @@ lappend_if [have_spec nova] boot_modules log_core # platform-specific modules lappend_if [expr $use_ps2] boot_modules ps2_drv -lappend_if [expr $use_usb] boot_modules usb_drv lappend_if [expr $use_usb] boot_modules usb_report_filter lappend_if [have_board pc] boot_modules vesa_fb_drv lappend_if [have_spec x86] boot_modules rtc_drv diff --git a/tool/autopilot.list b/tool/autopilot.list index 176ebf5def..6e0f37f47e 100644 --- a/tool/autopilot.list +++ b/tool/autopilot.list @@ -70,7 +70,6 @@ timer_accuracy tz_vmm usb_hid usb_hid_raw -vbox5_genode_usb_hid vbox5_genode_usb_hid_raw vbox5_ubuntu_16_04_32 vbox5_ubuntu_16_04_64