set usb_raw_device "" # # Check if USB_RAW_DEVICE is set for Qemu # if {[have_include power_on/qemu]} { if {![info exists ::env(USB_RAW_DEVICE)]} { puts "\nPlease define USB_RAW_DEVICE environment variable and set it to your USB device \n" exit 0 } set usb_raw_device $::env(USB_RAW_DEVICE) } proc gpio_drv { } { if {[have_spec rpi] && [have_spec hw]} { return hw_gpio_drv } if {[have_spec rpi] && [have_spec foc]} { return foc_gpio_drv } return gpio_drv } # # Build # set build_components { core init drivers/timer drivers/usb server/usb_terminal test/terminal_echo } lappend_if [have_spec gpio] build_components drivers/gpio source ${genode_dir}/repos/base/run/platform_drv.inc append_platform_drv_build_components build $build_components create_boot_directory # # Generate config # append config { } append_if [have_spec gpio] config " " append_platform_drv_config append config { } install_config $config # # Boot modules # # generic modules set boot_modules { core ld.lib.so init timer usb_drv test-terminal_echo usb_terminal } lappend_if [have_spec gpio] boot_modules [gpio_drv] append_platform_drv_boot_modules build_boot_image $boot_modules append qemu_args " -m 256 -nographic -usb -usbdevice host:$usb_raw_device -nographic" run_genode_until forever