From 9e888df3c9093213a8c54a1641aadd87f7ef581f Mon Sep 17 00:00:00 2001 From: Martin Stein Date: Thu, 19 Oct 2017 20:40:35 +0200 Subject: [PATCH] nic_dump/router.run: share nic_router.inc Move common stuff from both scripts to the new include file. Ref #2543 --- repos/libports/run/nic_dump.run | 145 +++--------------------------- repos/libports/run/nic_router.inc | 120 +++++++++++++++++++++++++ repos/libports/run/nic_router.run | 129 +------------------------- 3 files changed, 133 insertions(+), 261 deletions(-) create mode 100644 repos/libports/run/nic_router.inc diff --git a/repos/libports/run/nic_dump.run b/repos/libports/run/nic_dump.run index 8f3fd1e0b..d0dadbb91 100644 --- a/repos/libports/run/nic_dump.run +++ b/repos/libports/run/nic_dump.run @@ -5,126 +5,14 @@ proc enable_test_1 { } { return 1 } proc enable_test_2 { } { return 1 } -source ${genode_dir}/repos/base/run/platform_drv.inc +source ${genode_dir}/repos/libports/run/nic_router.inc -proc nic_drv { } { - if {[nic_drv_binary] == "usb_drv"} { return usb_drv } - if {[nic_drv_binary] == ""} { return "" } - return nic_drv -} +lappend targets server/nic_dump -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 } - if {[have_spec gpio]} { return gpio_drv } -} - -if {[nic_drv] == ""} { - puts "\n Run script is not supported on this platform. \n"; exit 0 } - -proc nic_drv_build { } { - if {[nic_drv] == "nic_drv"} { return drivers/nic } - if {[nic_drv] == "usb_drv"} { return drivers/usb } -} - -proc gpio_drv_build { } { if {[gpio_drv] != ""} { return drivers/gpio } } - -build "core init drivers/timer server/nic_router server/nic_bridge - test/lwip/http_srv_static test/lwip/http_clnt test/lxip/udp_echo - test/lxip/udp_client server/nic_dump [nic_drv_build] [gpio_drv_build] - [platform_drv_build_components]" +build $targets create_boot_directory -# -# Generate config -# - -proc gpio_drv_config { } { - if {[have_spec gpio]} { - append result { - - - - } - return $result - } -} - -proc nic_drv_config { } { - if {[nic_drv] == "nic_drv"} { - append result { - - - - - } - return $result - } - if {[nic_drv] == "usb_drv"} { - append result { - - - - - - - - - } - return $result - } -} - -proc client_bin { prot } { - if {$prot == "udp"} { return "test-lxip_udp_client" } - if {$prot == "http"} { return "test-http_clnt" } } - -proc server_bin { prot } { - if {$prot == "udp"} { return "test-lxip_udp_echo" } - if {$prot == "http"} { return "test-lwip_httpsrv_static" } } - -proc ram_quota { prot } { - if {$prot == "udp"} { return 29M } - if {$prot == "http"} { return 12M } -} - -proc client_config { prot index ip_addr gateway netmask nic srv_port srv_ip } { - append result { - - - - - - - - - - - - } - return $result -} - -proc server_config { prot index ip_addr gateway netmask nic port } { - append result { - - - - - - - - - - - - } - return $result -} - proc test_1_config { } { if {[enable_test_1]} { return " [client_config udp 2 10.0.2.212 10.0.2.1 255.255.255.0 nic_bridge 1 10.0.2.55] @@ -138,7 +26,7 @@ proc test_2_config { } { } append config { - + @@ -160,12 +48,12 @@ append config { } [nic_drv_config] { } [platform_drv_config] { - + - + @@ -175,7 +63,7 @@ append config { - + @@ -222,7 +110,7 @@ append config { - + @@ -246,21 +134,8 @@ append config { install_config $config -# -# Create single image and execute -# +lappend boot_modules nic_dump - -build_boot_image " - core init timer nic_router nic_bridge ld.lib.so libc.lib.so libm.lib.so - posix.lib.so lwip.lib.so lxip.lib.so test-http_clnt - test-lwip_httpsrv_static nic_dump test-lxip_udp_echo test-lxip_udp_client - [nic_drv_binary] [gpio_drv] [platform_drv_boot_modules]" - -proc nic_qemu_args { } { - if {[have_spec x86]} { return "-net nic,model=e1000" } - if {[have_spec lan9118]} { return "-net nic,model=lan9118" } } - -append qemu_args "-nographic -net user [nic_qemu_args]" +build_boot_image $boot_modules run_genode_until {.*Test done.*\n.*Test done.*\n} 120 diff --git a/repos/libports/run/nic_router.inc b/repos/libports/run/nic_router.inc new file mode 100644 index 000000000..445610ed9 --- /dev/null +++ b/repos/libports/run/nic_router.inc @@ -0,0 +1,120 @@ + +source ${genode_dir}/repos/base/run/platform_drv.inc + +proc nic_drv { } { + if {[nic_drv_binary] == "usb_drv"} { return usb_drv } + if {[nic_drv_binary] == ""} { return "" } + return nic_drv +} + +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 } + if {[have_spec gpio]} { return gpio_drv } +} + +if {[nic_drv] == ""} { + puts "\n Run script is not supported on this platform. \n"; exit 0 } + +proc nic_drv_build { } { + if {[nic_drv] == "nic_drv"} { return drivers/nic } + if {[nic_drv] == "usb_drv"} { return drivers/usb } +} + +proc gpio_drv_build { } { if {[gpio_drv] != ""} { return drivers/gpio } } + +set targets "core init drivers/timer server/nic_router server/nic_bridge + test/lwip/http_srv_static test/lwip/http_clnt test/lwip/udp + [nic_drv_build] [gpio_drv_build] [platform_drv_build_components]" + +proc gpio_drv_config { } { + if {[have_spec gpio]} { + append result { + + + + } + return $result + } +} + +proc nic_drv_config { } { + if {[nic_drv] == "nic_drv"} { + append result { + + + + + } + return $result + } + if {[nic_drv] == "usb_drv"} { + append result { + + + + + + + + + } + return $result + } +} + +proc client_bin { prot } { + if {$prot == "udp"} { return "test-lwip-udp-client" } + if {$prot == "http"} { return "test-http_clnt" } } + +proc server_bin { prot } { + if {$prot == "udp"} { return "test-lwip-udp-server" } + if {$prot == "http"} { return "test-lwip_httpsrv_static" } } + +proc client_config { prot index ip_addr gateway netmask nic srv_port srv_ip } { + append result { + + + + + + + + + + + + } + return $result +} + +proc server_config { prot index ip_addr gateway netmask nic port } { + append result { + + + + + + + + + + + + } + return $result +} + +set boot_modules " + core init timer nic_router nic_bridge ld.lib.so libc.lib.so libm.lib.so + lwip.lib.so posix.lib.so [client_bin udp] [server_bin udp] + [client_bin http] [server_bin http] [nic_drv_binary] [gpio_drv] + [platform_drv_boot_modules]" + +proc nic_qemu_args { } { + if {[have_spec x86]} { return "-net nic,model=e1000" } + if {[have_spec lan9118]} { return "-net nic,model=lan9118" } } + +append qemu_args "-nographic -net user [nic_qemu_args]" diff --git a/repos/libports/run/nic_router.run b/repos/libports/run/nic_router.run index 97a4783a4..ff0d04e26 100644 --- a/repos/libports/run/nic_router.run +++ b/repos/libports/run/nic_router.run @@ -9,120 +9,12 @@ proc enable_test_4 { } { return 1 } proc enable_test_5 { } { return 1 } proc enable_test_6 { } { return 1 } -source ${genode_dir}/repos/base/run/platform_drv.inc +source ${genode_dir}/repos/libports/run/nic_router.inc -proc nic_drv { } { - if {[nic_drv_binary] == "usb_drv"} { return usb_drv } - if {[nic_drv_binary] == ""} { return "" } - return nic_drv -} - -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 } - if {[have_spec gpio]} { return gpio_drv } -} - -if {[nic_drv] == ""} { - puts "\n Run script is not supported on this platform. \n"; exit 0 } - -proc nic_drv_build { } { - if {[nic_drv] == "nic_drv"} { return drivers/nic } - if {[nic_drv] == "usb_drv"} { return drivers/usb } -} - -proc gpio_drv_build { } { if {[gpio_drv] != ""} { return drivers/gpio } } - -build "core init drivers/timer server/nic_router server/nic_bridge - test/lwip/http_srv_static test/lwip/http_clnt test/lwip/udp - [nic_drv_build] [gpio_drv_build] [platform_drv_build_components]" +build $targets create_boot_directory -# -# Generate config -# - -proc gpio_drv_config { } { - if {[have_spec gpio]} { - append result { - - - - } - return $result - } -} - -proc nic_drv_config { } { - if {[nic_drv] == "nic_drv"} { - append result { - - - - - } - return $result - } - if {[nic_drv] == "usb_drv"} { - append result { - - - - - - - - - } - return $result - } -} - -proc client_bin { prot } { - if {$prot == "udp"} { return "test-lwip-udp-client" } - if {$prot == "http"} { return "test-http_clnt" } } - -proc server_bin { prot } { - if {$prot == "udp"} { return "test-lwip-udp-server" } - if {$prot == "http"} { return "test-lwip_httpsrv_static" } } - -proc client_config { prot index ip_addr gateway netmask nic srv_port srv_ip } { - append result { - - - - - - - - - - - - } - return $result -} - -proc server_config { prot index ip_addr gateway netmask nic port } { - append result { - - - - - - - - - - - - } - return $result -} - proc test_1_config { } { if {[enable_test_1]} { return " [client_config udp 1 10.0.98.55 10.0.98.33 255.255.255.0 nic_router 1337 10.0.98.33] @@ -263,21 +155,6 @@ append config { install_config $config -# -# Create single image and execute -# - - -build_boot_image " - core init timer nic_router nic_bridge ld.lib.so libc.lib.so libm.lib.so - lwip.lib.so posix.lib.so test-http_clnt test-lwip_httpsrv_static - test-lwip-udp-client test-lwip-udp-server [nic_drv_binary] [gpio_drv] - [platform_drv_boot_modules]" - -proc nic_qemu_args { } { - if {[have_spec x86]} { return "-net nic,model=e1000" } - if {[have_spec lan9118]} { return "-net nic,model=lan9118" } } - -append qemu_args "-nographic -net user [nic_qemu_args]" +build_boot_image $boot_modules run_genode_until {.*Test done.*\n.*Test done.*\n.*Test done.*\n.*Test done.*\n.*Test done.*\n.*Test done.*\n} 120