# # Build # if {![have_include power_on/qemu] || [have_spec foc] || [have_spec odroid_xu] || [expr [have_spec imx53] && [have_spec trustzone]]} { puts "Run script is not supported on this platform." exit 0 } set build_components { core init drivers/timer drivers/nic server/nic_router test/net_flood app/ping } 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 } proc good_dst_ip { } { return "10.0.2.2" } proc bad_dst_ip { } { return "10.0.0.123" } 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_platform_drv_config append_if [have_spec gpio] config " " append config { } [nic_drv_config] { } install_config $config # # Boot modules # # generic modules append boot_modules { core init timer } [nic_drv_binary] { test-net_flood ld.lib.so nic_router ping } # platform-specific modules lappend_if [have_spec linux] boot_modules fb_sdl lappend_if [have_spec gpio] boot_modules [gpio_drv] append_platform_drv_boot_modules build_boot_image $boot_modules append_if [have_spec x86] qemu_args " -net nic,model=e1000 " append_if [have_spec lan9118] qemu_args " -net nic,model=lan9118 " append qemu_args " -net user -nographic " set done_string "" for {set i 0} {$i < 2} {incr i 1} { append done_string {.*nic_router\] \[flood_links\] drop packet \(RAM quota exhausted.*\n} append done_string {.*ping\] 64 bytes from 10\.0\.2\.2.*\n} } run_genode_until $done_string 120