run: use driver_nic-* pkg where possible (fix #3180)

This commit is contained in:
Stefan Kalkowski 2019-04-24 15:09:49 +02:00 committed by Christian Helmuth
parent b6d14d9960
commit dcc28b65cb
48 changed files with 590 additions and 1371 deletions

View File

@ -44,32 +44,6 @@ proc usb_host_drv_binary { } {
}
##
# Return name of the NIC driver binary
#
proc nic_drv_binary { } {
if {[have_spec linux]} { return linux_nic_drv }
if {[have_spec omap4] || [have_spec arndale] || [have_spec rpi]} { return usb_drv }
if {[have_spec zynq]} { return zynq_nic_drv }
if {!([have_spec riscv] || [have_spec odroid_xu])} { return nic_drv }
return no_nic_drv_available
}
##
# Return configuration for NIC driver
#
proc nic_drv_config { } {
if {[have_spec imx53]} {
return "<config><card type=\"fsl,imx25-fec\" mii=\"rmii\" irq=\"87\" mmio=\"0x63fec000\"/></config>" }
if {[have_spec imx6q_sabrelite]} {
return "<config><card type=\"fsl,imx6q-fec\" mii=\"rgmii\" irq=\"150\" mmio=\"0x2188000\"/></config>" }
if {[have_spec omap4] || [have_spec arndale] || [have_spec rpi]} {
return {<config uhci="yes" ohci="yes" ehci="yes"><nic mac="02:00:00:00:01:01"/></config>} }
return ""
}
##
# Return name of the audio driver binary
#

View File

@ -75,6 +75,7 @@ append config {
</start>
<start name="nic_drv" priority="-1">
<binary name="ipxe_nic_drv"/>
<resource name="RAM" quantum="4M"/>
<provides><service name="Nic"/></provides>
</start>
@ -379,7 +380,7 @@ append boot_modules { libc.lib.so }
append boot_modules { dynamic_rom }
append boot_modules { rtc_drv }
append boot_modules { vfs.lib.so }
append boot_modules { nic_drv }
append boot_modules { ipxe_nic_drv }
append_platform_drv_boot_modules
build_boot_image $boot_modules

View File

@ -1,3 +1,5 @@
assert_spec linux
set build_components {
core init timer
drivers/nic
@ -5,10 +7,6 @@ set build_components {
server/vfs
server/dynamic_rom
}
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
@ -33,8 +31,8 @@ append config {
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
</start>
<start name="nic_drv">
<binary name="} [nic_drv_binary] {"/>
<start name="nic_drv" ld="no">
<binary name="linux_nic_drv"/>
<resource name="RAM" quantum="8M"/>
<provides> <service name="Nic"/> </provides>
</start>
@ -72,23 +70,16 @@ append config {
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
}
append_platform_drv_config
append config {
</config>
}
install_config $config
append boot_modules {
core init timer } [nic_drv_binary] { vfs dynamic_rom
ld.lib.so vfs_lxip.lib.so lxip.lib.so
core init timer linux_nic_drv vfs dynamic_rom
ld.lib.so vfs.lib.so vfs_lxip.lib.so lxip.lib.so
}
append_platform_drv_boot_modules
build_boot_image $boot_modules
puts "#################################################################"
@ -96,8 +87,6 @@ puts "## run simultaneous ping to 10.0.2.55 and <dynamic IP address> ##"
puts "#################################################################"
sleep 1
append qemu_args " -nographic -net nic,model=e1000 -net tap,ifname=tap0,downscript=no,script=no "
run_genode_until forever
# vi: set ft=tcl :

View File

@ -8,10 +8,6 @@ set build_components {
lib/vfs/lxip
test/vfs_lxip
}
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
@ -37,8 +33,8 @@ append config {
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
</start>
<start name="nic_drv">
<binary name="} [nic_drv_binary] {"/>
<start name="nic_drv" ld="no">
<binary name="linux_nic_drv"/>
<resource name="RAM" quantum="8M"/>
<provides> <service name="Nic"/> </provides>
</start>
@ -77,18 +73,13 @@ append config {
<resource name="RAM" quantum="1M"/>
</start>
-->
}
append_platform_drv_config
append config {
</config>
}
install_config $config
append boot_modules {
core init timer } [nic_drv_binary] {
core init timer linux_nic_drv
ld.lib.so libc.lib.so vfs.lib.so libc_pipe.lib.so posix.lib.so
libm.lib.so
vfs_lxip.lib.so lxip.lib.so
@ -97,8 +88,6 @@ append boot_modules {
test-vfs_lxip
}
append_platform_drv_boot_modules
build_boot_image $boot_modules
run_genode_until forever

View File

@ -1,12 +1,12 @@
create_boot_directory
# the test currently is tied to the x86-only iPXE NIC driver
if {![have_spec x86] || [have_spec linux]} {
if {[have_spec linux]} {
puts "Run script does not support this platform."
exit 0
}
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/report_rom \
[depot_user]/src/fs_rom \
[depot_user]/src/vfs \
@ -20,16 +20,11 @@ import_from_depot [depot_user]/src/[base_src] \
[depot_user]/src/curl \
[depot_user]/src/init \
[depot_user]/src/chroot \
[depot_user]/src/acpi_drv \
[depot_user]/src/ipxe_nic_drv \
[depot_user]/src/platform_drv \
[depot_user]/src/extract \
[depot_user]/src/libarchive \
[depot_user]/src/liblzma \
[depot_user]/src/verify
source ${genode_dir}/repos/base/run/platform_drv.inc
set config {
<config>
<parent-provides>
@ -49,8 +44,6 @@ set config {
<default caps="100"/>}
append_platform_drv_config
proc depot_user_download { user } {
return [exec cat [genode_dir]/depot/$user/download] }
@ -63,6 +56,17 @@ append config {
<provides> <service name="Timer"/> </provides>
</start>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides> <service name="Nic"/> </provides>
</start>
<start name="vfs">
<resource name="RAM" quantum="20M"/>
<provides> <service name="File_system"/> </provides>
@ -94,11 +98,6 @@ append config {
</config>
</start>
<start name="nic_drv">
<resource name="RAM" quantum="6M"/>
<provides> <service name="Nic"/> </provides>
</start>
<start name="depot_download" caps="2000">
<binary name="init"/>
<resource name="RAM" quantum="70M"/>
@ -134,7 +133,18 @@ append boot_modules { depot_download_manager depot_query }
build_boot_image $boot_modules
append qemu_args " -nographic -net nic,model=e1000 -net user "
append qemu_args " -nographic "
proc qemu_nic_model {} {
if [have_spec x86] { return e1000 }
if [have_spec lan9118] { return lan9118 }
if [have_spec zynq] { return cadence_gem }
return nic_model_missing
}
append qemu_args " -netdev user,id=net0 "
append qemu_args " -net nic,model=[qemu_nic_model],netdev=net0 "
# watch the state reports generated by the depot-download manager
set expected_pattern {}
@ -143,4 +153,3 @@ append expected_pattern {.*path="nfeske/index/19.02" state="done".*}
append expected_pattern {.*path="nfeske/index/19.03" state="failed".*}
run_genode_until $expected_pattern 150

View File

@ -22,8 +22,9 @@ create_boot_directory
import_from_depot \
[depot_user]/src/[base_src] \
[depot_user]/src/init \
[depot_user]/src/ipxe_nic_drv \
[depot_user]/src/rtc_drv \
[depot_user]/pkg/terminal \
[depot_user]/pkg/terminal
source ${genode_dir}/repos/base/run/platform_drv.inc
@ -31,19 +32,12 @@ set build_components {
app/log_core
drivers/framebuffer
drivers/input/dummy
drivers/nic
drivers/rtc
lib/solo5
server/terminal_log
}
append_platform_drv_build_components
lappend_if [expr {[nic_drv_binary] == "nic_drv"}] build_components drivers/nic
lappend_if [expr {[nic_drv_binary] == "usb_drv"}] build_components drivers/usb
lappend_if [have_spec gpio] build_components drivers/gpio
build $build_components
set fb_drv "fb_drv"
@ -71,20 +65,13 @@ append config {
append_platform_drv_config
append_if [have_spec gpio] config "
<start name=\"[gpio_drv]\" caps=\"140\">
<resource name=\"RAM\" quantum=\"4M\"/>
<provides><service name=\"Gpio\"/></provides>
<config/>
</start>"
append config {
<start name="timer" caps="96">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
</start>
<start name="nic_drv">
<binary name="} [nic_drv_binary] {"/>
<binary name="ipxe_nic_drv"/>
<resource name="RAM" quantum="4M"/>
<provides><service name="Nic"/></provides>
</start>
@ -137,7 +124,6 @@ append boot_modules {
log_core
terminal_log
mirage
rtc_drv
solo5.lib.so
}
@ -146,20 +132,9 @@ append boot_modules " $fb_drv"
# platform-specific modules
append_platform_drv_boot_modules
lappend boot_modules [nic_drv_binary]
lappend_if [have_spec gpio] boot_modules [gpio_drv]
build_boot_image $boot_modules
proc qemu_nic_model {} {
if [have_spec x86] { return e1000 }
if [have_spec lan9118] { return lan9118 }
if [have_spec zynq] { return cadence_gem }
return nic_model_missing
}
append qemu_args " -netdev user,id=net0 "
append qemu_args " -net nic,model=[qemu_nic_model],netdev=net0 "
append qemu_args " -net nic,model=e1000,netdev=net0 "
run_genode_until forever

View File

@ -64,6 +64,7 @@ set config {
<config verbose="yes"/>
</start>
<start name="nic_drv">
<binary name="ipxe_nic_drv"/>
<resource name="RAM" quantum="4M"/>
<provides> <service name="Nic"/> </provides>
</start>
@ -139,7 +140,7 @@ if {![file exists bin/ed25519_key]} {
# generic modules
set boot_modules {
core ld.lib.so init timer nic_drv rtc_drv report_rom
core ld.lib.so init timer ipxe_nic_drv rtc_drv report_rom
noux test-terminal_echo
libc.lib.so libm.lib.so vfs.lib.so

View File

@ -11,30 +11,18 @@
if {[have_spec linux]} {
puts "Run script does not support Linux."; exit 0 }
#
# Build
#
set build_components {
core init timer
drivers/nic
server/tcp_terminal
test/terminal_echo
lib/vfs/lwip
}
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
#
# Generate config
#
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init \
[depot_user]/src/libc \
[depot_user]/src/vfs \
[depot_user]/src/vfs_lwip
set config {
build { server/tcp_terminal test/terminal_echo }
install_config {
<config verbose="yes">
<parent-provides>
<service name="ROM"/>
@ -54,8 +42,14 @@ set config {
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
</start>
<start name="nic_drv">
<resource name="RAM" quantum="4M"/>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides> <service name="Nic"/> </provides>
</start>
<start name="tcp_terminal" caps="200">
@ -72,50 +66,25 @@ set config {
</start>
<start name="test-terminal_echo">
<resource name="RAM" quantum="1M"/>
</start>}
append_platform_drv_config
append config {
</start>
</config>
}
install_config $config
build_boot_image { tcp_terminal test-terminal_echo libc_pipe.lib.so }
#
# Boot modules
#
# generic modules
set boot_modules {
core ld.lib.so init timer
nic_drv
libc.lib.so vfs.lib.so libc_pipe.lib.so
tcp_terminal
test-terminal_echo
vfs_lwip.lib.so
}
# platform-specific modules
append_platform_drv_boot_modules
build_boot_image $boot_modules
#
# Execute test
#
# qemu config
append qemu_args " -nographic "
proc qemu_nic_model {} {
if [have_spec x86] { return e1000 }
if [have_spec lan9118] { return lan9118 }
if [have_spec zynq] { return cadence_gem }
return nic_model_missing
}
append qemu_args " -net nic,model=[qemu_nic_model],netdev=net0 "
append qemu_args " -nographic "
append qemu_args " -netdev user,id=net0,hostfwd=tcp::5555-:8888 "
append qemu_args " -net nic,model=[qemu_nic_model],netdev=net0 "
run_genode_until forever

View File

@ -4,34 +4,35 @@
# \date 2016-06-05
#
if {[have_spec odroid_xu] || [have_spec linux] ||
if {[have_spec linux] ||
[expr [have_spec imx53] && [have_spec trustzone]]} {
puts "Run script does not support this platform."
exit 0
}
set build_components {
app/fetchurl
core init timer
drivers/nic
server/report_rom
proc socket_fs_plugin {} {
global use_lxip
if { $use_lxip } { return lxip }
return lwip
}
lappend_if [have_spec gpio] build_components drivers/gpio
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
append_socket_fs_build_components
lappend_if [expr {[nic_drv_binary] == "nic_drv"}] build_components drivers/nic
lappend_if [expr {[nic_drv_binary] == "usb_drv"}] build_components drivers/usb
build $build_components
create_boot_directory
append config {
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/curl \
[depot_user]/src/fetchurl \
[depot_user]/src/init \
[depot_user]/src/libc \
[depot_user]/src/libcrypto \
[depot_user]/src/libssh \
[depot_user]/src/libssl \
[depot_user]/src/report_rom \
[depot_user]/src/vfs \
[depot_user]/src/vfs_[socket_fs_plugin] \
[depot_user]/src/zlib
install_config {
<config>
<parent-provides>
<service name="CPU"/>
@ -48,28 +49,24 @@ append config {
<default-route>
<service name="Report"> <child name="report_rom"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</default-route>}
</default-route>
append_platform_drv_config
append_if [have_spec gpio] config "
<start name=\"[gpio_drv]\" caps=\"140\">
<resource name=\"RAM\" quantum=\"4M\"/>
<provides><service name=\"Gpio\"/></provides>
<config/>
</start>"
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
</start>
<start name="nic_drv" caps="120">
<binary name="} [nic_drv_binary] {"/>
<resource name="RAM" quantum="16M"/>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides> <service name="Nic"/> </provides>
} [nic_drv_config] {
</start>
<start name="report_rom">
<resource name="RAM" quantum="4M"/>
<provides> <service name="ROM"/> <service name="Report"/> </provides>
@ -94,35 +91,7 @@ append config {
</config>
}
install_config $config
# generic modules
set boot_modules {
core init ld.lib.so
curl.lib.so
fetchurl
libc.lib.so vfs.lib.so
libcrypto.lib.so
libssh.lib.so
libssl.lib.so
timer
zlib.lib.so
report_rom
}
# platform-specific modules
append_platform_drv_boot_modules
# vfs plugin modules
append_socket_fs_boot_modules
lappend boot_modules [nic_drv_binary]
lappend_if [have_spec gpio] boot_modules [gpio_drv]
build_boot_image $boot_modules
append qemu_args " -nographic "
build_boot_image {}
proc qemu_nic_model {} {
if [have_spec x86] { return e1000 }
@ -131,6 +100,7 @@ proc qemu_nic_model {} {
return nic_model_missing
}
append qemu_args " -nographic "
append qemu_args " -netdev user,id=net0 "
append qemu_args " -net nic,model=[qemu_nic_model],netdev=net0 "

View File

@ -1,2 +1,2 @@
source ${genode_dir}/repos/libports/run/vfs_lwip.inc
set use_lxip 0
source ${genode_dir}/repos/libports/run/fetchurl.inc

View File

@ -1,2 +1,2 @@
source ${genode_dir}/repos/dde_linux/run/vfs_lxip.inc
set use_lxip 1
source ${genode_dir}/repos/libports/run/fetchurl.inc

View File

@ -1,23 +1,22 @@
source ${genode_dir}/repos/base/run/platform_drv.inc
if {[have_spec linux]} {
puts "The [run_name] scenario requires QEMU networking."
exit 1
}
set build_components {
core init timer
lib/vfs/lwip
test/libc_getaddrinfo
}
append_platform_drv_build_components
build $build_components
create_boot_directory
append config {
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init \
[depot_user]/src/libc \
[depot_user]/src/posix \
[depot_user]/src/vfs \
[depot_user]/src/vfs_lwip \
[depot_user]/src/zlib
build { test/libc_getaddrinfo }
install_config {
<config>
<parent-provides>
<service name="CPU"/>
@ -32,18 +31,21 @@ append config {
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="128"/>}
<default caps="128"/>
append_platform_drv_config
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
</start>
<start name="nic_drv">
<binary name="} [nic_drv_binary] {"/>
<resource name="RAM" quantum="4M"/>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides> <service name="Nic"/> </provides>
</start>
@ -64,23 +66,15 @@ append config {
</config>
}
install_config $config
build_boot_image { test-libc_getaddrinfo }
set boot_modules {
core init ld.lib.so
libc.lib.so libm.lib.so posix.lib.so
vfs_lwip.lib.so
test-libc_getaddrinfo
vfs.lib.so
timer
proc qemu_nic_model {} {
if [have_spec x86] { return e1000 }
if [have_spec lan9118] { return lan9118 }
if [have_spec zynq] { return cadence_gem }
return nic_model_missing
}
# platform-specific modules
append_platform_drv_boot_modules
lappend boot_modules [nic_drv_binary]
build_boot_image $boot_modules
append qemu_args " -nographic -net nic,model=e1000 -net user"
append qemu_args " -nographic -net nic,model=[qemu_nic_model] -net user"
run_genode_until "child .* exited with exit value 0.*\n" 20

View File

@ -20,41 +20,25 @@
# tun/tap proxy driver at os/src/drivers/nic/linux)
#
set use_usb_driver [expr [have_spec omap4] || [have_spec arndale] || [have_spec rpi]]
set use_nic_driver [expr !$use_usb_driver && ![have_spec odroid_xu] && ![have_spec linux]]
if {[expr !$use_usb_driver && !$use_nic_driver] ||
[expr [have_spec imx53] && [have_spec trustzone]]} {
if {[expr [have_spec linux]] ||
[expr [have_spec imx53] && [have_spec trustzone]] ||
[expr [have_spec riscv]]} {
puts "\n Run script is not supported on this platform. \n"; exit 0 }
set lynx [installed_command lynx]
#
# Build
#
set build_components {
core init timer
drivers/nic
test/lwip/http_srv
lib/vfs/lwip
}
lappend_if $use_usb_driver build_components drivers/usb
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
#
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init \
[depot_user]/src/libc \
[depot_user]/src/vfs_lwip \
[depot_user]/src/vfs
set config {
build { test/lwip/http_srv }
install_config {
<config verbose="yes">
<parent-provides>
<service name="ROM"/>
@ -70,10 +54,23 @@ set config {
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
</start>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides> <service name="Nic"/> </provides>
</start>
<start name="test-lwip_httpsrv" caps="120">
<resource name="RAM" quantum="4M"/>
<config>
@ -83,75 +80,22 @@ set config {
</vfs>
<libc stdout="/dev/log" stderr="/dev/log" socket="/socket"/>
</config>
</start>}
append_if [have_spec gpio] config "
<start name=\"[gpio_drv]\" caps=\"140\">
<resource name=\"RAM\" quantum=\"4M\"/>
<provides><service name=\"Gpio\"/></provides>
<config/>
</start>"
append_if $use_usb_driver config {
<start name="usb_drv" caps="120">
<resource name="RAM" quantum="14M"/>
<provides>
<service name="Nic"/>
</provides>
<config ehci="yes">
<nic mac="02:00:00:00:01:01" />
</config>
</start>}
append_platform_drv_config
append_if $use_nic_driver config {
<start name="nic_drv" caps="130">
<binary name="} [nic_drv_binary] {"/>
<resource name="RAM" quantum="20M"/>
<provides><service name="Nic"/></provides>
} [nic_drv_config] {
</start>}
append config {
</start>
</config>
}
install_config $config
build_boot_image { test-lwip_httpsrv }
#
# Boot modules
# Qemu config
#
# generic modules
set boot_modules {
core init timer
ld.lib.so libc.lib.so vfs.lib.so vfs_lwip.lib.so test-lwip_httpsrv
}
# platform-specific modules
lappend_if $use_usb_driver boot_modules usb_drv
lappend_if $use_nic_driver boot_modules [nic_drv_binary]
lappend_if [have_spec gpio] boot_modules [gpio_drv]
append_platform_drv_boot_modules
build_boot_image $boot_modules
#
# Execute test case
#
# qemu config
append qemu_args " -nographic "
proc qemu_nic_model {} {
if [have_spec x86] { return e1000 }
if [have_spec lan9118] { return lan9118 }
if [have_spec zynq] { return cadence_gem }
return nic_model_missing
}
append qemu_args " -nographic "
append qemu_args " -netdev user,id=net0,hostfwd=tcp::5555-:80 "
append qemu_args " -net nic,model=[qemu_nic_model],netdev=net0 "

View File

@ -34,11 +34,6 @@ set build_components {
append_platform_drv_build_components
lappend_if [expr {[nic_drv_binary] == "nic_drv"}] build_components drivers/nic
lappend_if [expr {[nic_drv_binary] == "usb_drv"}] build_components drivers/usb
lappend_if [have_spec gpio] build_components drivers/gpio
build $build_components
append config {
@ -60,20 +55,13 @@ append config {
append_platform_drv_config
append_if [have_spec gpio] config "
<start name=\"[gpio_drv]\" caps=\"140\">
<resource name=\"RAM\" quantum=\"4M\"/>
<provides><service name=\"Gpio\"/></provides>
<config/>
</start>"
append config {
<start name="timer" caps="96">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
</start>
<start name="nic_drv">
<binary name="} [nic_drv_binary] {"/>
<binary name="ipxe_nic_drv"/>
<resource name="RAM" quantum="4M"/>
<provides><service name="Nic"/></provides>
</start>
@ -93,16 +81,13 @@ install_config $config
set boot_modules {
mirage
rtc_drv
ipxe_nic_drv
solo5.lib.so
}
# platform-specific modules
append_platform_drv_boot_modules
lappend boot_modules [nic_drv_binary]
lappend_if [have_spec gpio] boot_modules [gpio_drv]
build_boot_image $boot_modules
append qemu_args " -nographic "

View File

@ -1,16 +1,14 @@
assert_spec x86
proc use_dynamic_rom { } { return true }
set build_components {
core init timer drivers/nic server/vfs
lib/vfs/lxip
}
lappend_if [use_dynamic_rom] build_components server/dynamic_rom
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
create_boot_directory
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/dynamic_rom \
[depot_user]/src/init \
[depot_user]/src/libc \
[depot_user]/src/vfs_audit \
[depot_user]/src/vfs_lxip \
[depot_user]/src/vfs
append config {
<config verbose="yes">
@ -33,16 +31,17 @@ append config {
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
</start>
}
append_platform_drv_config
append config {
<start name="nic_drv">
<binary name="} [nic_drv_binary] {"/>
<resource name="RAM" quantum="4M"/>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides> <service name="Nic"/> </provides>
</start>}
</start> }
append_if [use_dynamic_rom] config {
<start name="dynamic_rom">
@ -102,15 +101,14 @@ append config {
</start>
}
append boot_modules {
core init timer } [nic_drv_binary] { vfs
ld.lib.so libc.lib.so vfs.lib.so vfs_lxip.lib.so lxip.lib.so
proc qemu_nic_model {} {
if [have_spec x86] { return e1000 }
if [have_spec lan9118] { return lan9118 }
if [have_spec zynq] { return cadence_gem }
return nic_model_missing
}
lappend_if [use_dynamic_rom] boot_modules dynamic_rom
append_platform_drv_boot_modules
append qemu_args " -nographic -net nic,model=e1000 -net tap,ifname=tap0,downscript=no,script=no "
append qemu_args " -nographic "
append qemu_args " -net nic,model=[qemu_nic_model] "
append qemu_args " -net tap,ifname=tap0,downscript=no,script=no "
# vi: set ft=tcl :

View File

@ -1,19 +1,11 @@
assert_spec x86
proc use_dynamic_rom { } { return false }
set build_components {
core init timer
drivers/nic
server/vfs
lib/vfs/lwip
lib/vfs/audit
}
lappend_if [use_dynamic_rom] build_components server/dynamic_rom
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
create_boot_directory
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init \
[depot_user]/src/libc \
[depot_user]/src/vfs_audit \
[depot_user]/src/vfs_lwip \
[depot_user]/src/vfs
append config {
<config verbose="yes">
@ -36,17 +28,16 @@ append config {
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
</start>
}
append_platform_drv_config
append config {
<start name="nic_drv">
<binary name="} [nic_drv_binary] {"/>
<resource name="RAM" quantum="4M"/>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides> <service name="Nic"/> </provides>
</start>
<start name="socket_fs" caps="200">
<binary name="vfs"/>
<resource name="RAM" quantum="32M"/>
@ -70,20 +61,14 @@ append config {
</start>
}
append boot_modules {
core init timer } [nic_drv_binary] {
ld.lib.so
libc.lib.so
vfs
vfs_audit.lib.so
vfs.lib.so
vfs_lwip.lib.so
proc qemu_nic_model {} {
if [have_spec x86] { return e1000 }
if [have_spec lan9118] { return lan9118 }
if [have_spec zynq] { return cadence_gem }
return nic_model_missing
}
lappend_if [use_dynamic_rom] boot_modules dynamic_rom
append_platform_drv_boot_modules
append qemu_args " -nographic -net nic,model=e1000 -net tap,ifname=tap0,downscript=no,script=no "
append qemu_args " -nographic "
append qemu_args " -net nic,model=[qemu_nic_model] "
append qemu_args " -net tap,ifname=tap0,downscript=no,script=no "
# vi: set ft=tcl :

View File

@ -1,10 +1,6 @@
source ${genode_dir}/repos/libports/run/netty_lwip.inc
append build_components { test/netty/tcp }
build $build_components
create_boot_directory
build { test/netty/tcp }
append config {
<start name="netty-server-80">
@ -62,11 +58,7 @@ append config {
}
install_config $config
append boot_modules { test-netty_tcp }
build_boot_image $boot_modules
build_boot_image { test-netty_tcp }
run_genode_until forever
# vi: set ft=tcl :

View File

@ -1,10 +1,6 @@
source ${genode_dir}/repos/libports/run/netty_lwip.inc
append build_components { test/netty/udp }
build $build_components
create_boot_directory
build { test/netty/udp }
append config {
<start name="netty-server-7">
@ -35,11 +31,7 @@ append config {
}
install_config $config
append boot_modules { test-netty_udp }
build_boot_image $boot_modules
build_boot_image { test-netty_udp }
run_genode_until forever
# vi: set ft=tcl :

View File

@ -1,10 +1,6 @@
source ${genode_dir}/repos/libports/run/netty.inc
append build_components { test/netty/tcp }
build $build_components
create_boot_directory
build { test/netty/tcp }
append config {
<start name="netty-server-80">
@ -62,11 +58,7 @@ append config {
}
install_config $config
append boot_modules { test-netty_tcp }
build_boot_image $boot_modules
build_boot_image { test-netty_tcp }
run_genode_until forever
# vi: set ft=tcl :

View File

@ -1,10 +1,6 @@
source ${genode_dir}/repos/libports/run/netty.inc
append build_components { test/netty/udp }
build $build_components
create_boot_directory
build { test/netty/udp }
append config {
<start name="netty-server-7">
@ -35,11 +31,7 @@ append config {
}
install_config $config
append boot_modules { test-netty_udp }
build_boot_image $boot_modules
build_boot_image { test-netty_udp }
run_genode_until forever
# vi: set ft=tcl :

View File

@ -1,33 +1,21 @@
#
# Build
#
if {![have_include power_on/qemu]} {
puts "Run script is only supported on Qemu"
exit 0
}
set build_components {
core init timer
drivers/nic
server/nic_bridge
test/lwip/http_srv
test/lwip/http_clnt
lib/vfs/lwip
}
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
#
# Generate config
#
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init \
[depot_user]/src/libc \
[depot_user]/src/nic_bridge \
[depot_user]/src/vfs_lwip \
[depot_user]/src/vfs
append config {
build { test/lwip }
install_config {
<config>
<parent-provides>
<service name="ROM"/>
@ -42,20 +30,22 @@ append config {
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>}
<default caps="100"/>
append_platform_drv_config
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="nic_drv">
<binary name="} [nic_drv_binary] {"/>
<resource name="RAM" quantum="4M"/>
<provides><service name="Nic"/></provides>
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides> <service name="Nic"/> </provides>
</start>
<start name="nic_bridge" caps="200">
@ -68,7 +58,7 @@ append config {
<policy label_prefix="client_2" mac="02:02:02:02:79:00"/>
</config>
<route>
<service name="Nic"> <child name="nic_drv"/> </service>
<service name="Nic"> <child name="drivers"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
@ -158,34 +148,11 @@ append config {
</start>
</config>}
install_config $config
#
# Boot modules
#
# generic modules
append boot_modules {
core init
timer } [nic_drv_binary] {
nic_bridge
ld.lib.so
libc.lib.so vfs.lib.so
build_boot_image {
test-http_clnt
test-lwip_httpsrv
vfs_lwip.lib.so
}
# platform-specific modules
lappend_if [have_spec linux] boot_modules fb_sdl
append_platform_drv_boot_modules
build_boot_image $boot_modules
append qemu_args " -nographic "
proc qemu_nic_model {} {
if [have_spec x86] { return e1000 }
if [have_spec lan9118] { return lan9118 }
@ -193,6 +160,7 @@ proc qemu_nic_model {} {
return nic_model_missing
}
append qemu_args " -nographic "
append qemu_args " -netdev user,id=net0 "
append qemu_args " -net nic,model=[qemu_nic_model],netdev=net0 "

View File

@ -1,170 +0,0 @@
#
# Build
#
set build_components {
core init timer
drivers/input drivers/nic
server/nic_bridge
app/lighttpd
test/lwip/http_clnt
}
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
#
# Generate config
#
append config {
<config>
<parent-provides>
<service name="ROM"/>
<service name="IRQ"/>
<service name="IO_MEM"/>
<service name="IO_PORT"/>
<service name="PD"/>
<service name="RM"/>
<service name="CPU"/>
<service name="LOG"/>
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>}
append_platform_drv_config
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="nic_drv">
<binary name="} [nic_drv_binary] {"/>
<resource name="RAM" quantum="4M"/>
<provides><service name="Nic"/></provides>
</start>
<start name="nic_bridge">
<resource name="RAM" quantum="24M"/>
<provides><service name="Nic"/></provides>
<config>
<policy label_prefix="lighttpd" ip_addr="10.0.2.55"/>
</config>
<route>
<service name="Nic"> <child name="nic_drv"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
<start name="lighttpd">
<resource name="RAM" quantum="128M" />
<config>
<arg value="lighttpd" />
<arg value="-f" />
<arg value="/etc/lighttpd/lighttpd.conf" />
<arg value="-D" />
<vfs>
<dir name="dev">
<log/>
<null/>
</dir>
<dir name="etc">
<dir name="lighttpd">
<inline name="lighttpd.conf">
# lighttpd configuration
server.port = 80
server.document-root = "/website"
server.event-handler = "select"
server.network-backend = "write"
index-file.names = (
"index.xhtml", "index.html", "index.htm"
)
mimetype.assign = (
".html" => "text/html",
".htm" => "text/html"
)
</inline>
</dir>
</dir>
<dir name="website">
<inline name="index.html">
<html>
<head>
<title>Hello</title>
</head>
<body>
<p>Hello Genode!</p>
<b>I am bold ;-)</b>
</body>
</html>
</inline>
</dir>
</vfs>
<libc stdin="/dev/null" stdout="/dev/log" stderr="/dev/log"
ip_addr="10.0.2.55" netmask="255.255.255.0" gateway="10.0.2.1"/>
</config>
<route>
<service name="Nic"> <child name="nic_bridge"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
<start name="test-http_clnt">
<resource name="RAM" quantum="32M"/>
<route>
<service name="Nic"> <child name="nic_bridge"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
<config server_ip="10.0.2.55" server_port="80">
<vfs> <dir name="dev"> <log/> </dir> </vfs>
<libc stdout="/dev/log" stderr="/dev/log"/>
</config>
</start>
</config>}
install_config $config
#
# Boot modules
#
# generic modules
append boot_modules {
core init
timer } [nic_drv_binary] {
nic_bridge
ld.lib.so
libc.lib.so vfs.lib.so
posix.lib.so
lwip_legacy.lib.so
test-http_clnt
libm.lib.so
zlib.lib.so
lighttpd
}
# platform-specific modules
lappend_if [have_spec linux] boot_modules fb_sdl
append_platform_drv_boot_modules
build_boot_image $boot_modules
append qemu_args " -nographic -serial mon:stdio "
proc qemu_nic_model {} {
if [have_spec x86] { return e1000 }
if [have_spec lan9118] { return lan9118 }
if [have_spec zynq] { return cadence_gem }
return nic_model_missing
}
append qemu_args " -netdev user,id=net0 "
append qemu_args " -net nic,model=[qemu_nic_model],netdev=net0 "
run_genode_until forever

View File

@ -43,10 +43,22 @@ proc use_nic_drv { feature_arg } {
return [expr {[info exists feature(Nic)] &&
([have_spec zynq] ||
[have_spec lan9118] ||
[have_spec imx53] ||
[have_spec imx6] ||
[have_spec linux] ||
[have_spec x86])}]
}
proc nic_drv_binary { } {
if {[have_spec linux]} { return linux_nic_drv }
if {[have_spec zynq]} { return zynq_nic_drv }
if {[have_spec lan9118]} { return lan9118_nic_drv }
if {[have_spec x86]} { return ipxe_nic_drv }
if {[have_spec imx53]} { return fec_nic_drv }
if {[have_spec imx6]} { return fec_nic_drv }
return no_nic_drv_available
}
proc use_ps2_drv { feature_arg } {
upvar $feature_arg feature
return [have_spec ps2]

View File

@ -49,10 +49,9 @@ append config {
</start>
<start name="nic_drv" caps="150">
<binary name="} [nic_drv_binary] {"/>
<binary name="ipxe_nic_drv"/>
<resource name="RAM" quantum="20M"/>
<provides><service name="Nic"/></provides>
} [nic_drv_config] {
</start>
<start name="nic_bridge" caps="200">
@ -110,7 +109,7 @@ build $build_components
append boot_modules {
nic_bridge
ping
} [nic_drv_binary] {
ipxe_nic_drv
solo5-test_ping_serve
solo5.lib.so
}

View File

@ -1,9 +1,5 @@
#
# Build
#
if {![have_include power_on/qemu] ||
[have_spec foc] || [have_spec odroid_xu] ||
[have_spec foc] ||
[expr [have_spec imx53] && [have_spec trustzone]]} {
puts "Run script is not supported on this platform."
@ -15,30 +11,18 @@ proc pause_sec { } { return 5 }
proc good_dst_ip { } { return "10.0.2.2" }
proc bad_dst_ip { } { return "10.0.0.123" }
set build_components {
core init timer
drivers/nic
server/nic_router
test/net_flood
app/ping
server/report_rom
server/dynamic_rom
}
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
#
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/dynamic_rom \
[depot_user]/src/init \
[depot_user]/src/nic_router \
[depot_user]/src/report_rom
append config {
build { app/ping test/net_flood }
install_config {
<config>
<parent-provides>
<service name="ROM"/>
@ -54,30 +38,22 @@ append config {
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>}
append_platform_drv_config
append_if [have_spec gpio] config "
<start name=\"[gpio_drv]\" caps=\"150\">
<resource name=\"RAM\" quantum=\"4M\"/>
<provides><service name=\"Gpio\"/></provides>
<config/>
</start>"
append config {
<default caps="100"/>
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="nic_drv" caps="150">
<binary name="} [nic_drv_binary] {"/>
<resource name="RAM" quantum="20M"/>
<provides><service name="Nic"/></provides>
} [nic_drv_config] {
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides> <service name="Nic"/> </provides>
</start>
<start name="report_rom">
@ -119,7 +95,7 @@ append config {
</config>
<route>
<service name="Nic"> <child name="nic_drv"/> </service>
<service name="Nic"> <child name="drivers"/> </service>
<service name="Report"> <child name="report_rom"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
@ -213,34 +189,7 @@ append config {
</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
report_rom
dynamic_rom
}
# 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 qemu_args " -nographic "
build_boot_image { test-net_flood ping }
proc qemu_nic_model {} {
if [have_spec x86] { return e1000 }
@ -249,6 +198,7 @@ proc qemu_nic_model {} {
return nic_model_missing
}
append qemu_args " -nographic "
append qemu_args " -netdev user,id=net0 "
append qemu_args " -net nic,model=[qemu_nic_model],netdev=net0 "

View File

@ -1,24 +1,20 @@
#
# Build
#
set on_hardware [expr ![have_include power_on/qemu]]
set build_components {
core init timer
drivers/nic
server/nic_bridge
app/ping
}
lappend_if [have_spec gpio] build_components drivers/gpio
if {[have_spec foc] || [have_spec odroid_xu] || [have_spec linux] ||
if {[have_spec foc] || [have_spec linux] ||
[expr [have_spec imx53] && [have_spec trustzone]]} {
puts "Run script is not supported on this platform."
exit 0
}
set on_hardware [expr ![have_include power_on/qemu]]
create_boot_directory
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init \
[depot_user]/src/nic_bridge
build { app/ping }
proc dst_ip { } {
if {![have_include power_on/qemu]} {
return "10.0.0.2"
@ -27,17 +23,6 @@ proc dst_ip { } {
}
}
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
#
# Generate config
#
append config {
<config>
<parent-provides>
@ -53,28 +38,22 @@ append config {
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>}
<default caps="100"/>
append_platform_drv_config
append_if [have_spec gpio] config "
<start name=\"[gpio_drv]\" caps=\"150\">
<resource name=\"RAM\" quantum=\"4M\"/>
<provides><service name=\"Gpio\"/></provides>
<config/>
</start>"
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="nic_drv" caps="150">
<binary name="} [nic_drv_binary] {"/>
<resource name="RAM" quantum="20M"/>
<provides><service name="Nic"/></provides>
} [nic_drv_config] {
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides> <service name="Nic"/> </provides>
</start>
<start name="nic_bridge" caps="200">
@ -85,7 +64,7 @@ append config {
<policy label_prefix="ping_2"/>
</config>
<route>
<service name="Nic"> <child name="nic_drv"/> </service>
<service name="Nic"> <child name="drivers"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>}
@ -122,30 +101,7 @@ append config {
</config>}
install_config $config
#
# Boot modules
#
# generic modules
append boot_modules {
core init
timer
} [nic_drv_binary] {
ping
ld.lib.so
nic_bridge
}
# 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 qemu_args " -nographic "
build_boot_image { ping }
proc qemu_nic_model {} {
if [have_spec x86] { return e1000 }
@ -154,6 +110,7 @@ proc qemu_nic_model {} {
return nic_model_missing
}
append qemu_args " -nographic "
append qemu_args " -netdev user,id=net0 "
append qemu_args " -net nic,model=[qemu_nic_model],netdev=net0 "

View File

@ -1,25 +1,21 @@
#
# Build
#
set on_hardware [expr ![have_include power_on/qemu]]
set build_components {
core init timer
drivers/nic
server/nic_router
server/nic_bridge
app/ping
}
lappend_if [have_spec gpio] build_components drivers/gpio
if {[have_spec foc] || [have_spec odroid_xu] || [have_spec linux] ||
[expr [have_spec imx53] && [have_spec trustzone]]} {
puts "Run script is not supported on this platform."
exit 0
}
set on_hardware [expr ![have_include power_on/qemu]]
create_boot_directory
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init \
[depot_user]/src/nic_bridge \
[depot_user]/src/nic_router
build { app/ping }
proc good_dst_ip { } {
if {![have_include power_on/qemu]} {
return "10.0.0.2"
@ -30,18 +26,6 @@ proc good_dst_ip { } {
proc bad_dst_port { } { return "12345" }
proc bad_dst_ip { } { return "10.0.1.2" }
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
#
# Generate config
#
append config {
<config>
<parent-provides>
@ -57,28 +41,22 @@ append config {
<default-route>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>}
<default caps="100"/>
append_platform_drv_config
append_if [have_spec gpio] config "
<start name=\"[gpio_drv]\" caps=\"150\">
<resource name=\"RAM\" quantum=\"4M\"/>
<provides><service name=\"Gpio\"/></provides>
<config/>
</start>"
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>
<start name="nic_drv" caps="150">
<binary name="} [nic_drv_binary] {"/>
<resource name="RAM" quantum="20M"/>
<provides><service name="Nic"/></provides>
} [nic_drv_config] {
<start name="drivers" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides> <service name="Nic"/> </provides>
</start>
<start name="nic_router" caps="200">
@ -111,7 +89,7 @@ append config {
</config>
<route>
<service name="Nic"> <child name="nic_drv"/> </service>
<service name="Nic"> <child name="drivers"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
@ -237,31 +215,7 @@ append config {
</config>}
install_config $config
#
# Boot modules
#
# generic modules
append boot_modules {
core init
timer
} [nic_drv_binary] {
ping
ld.lib.so
nic_router
nic_bridge
}
# 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 qemu_args " -nographic "
build_boot_image { ping }
proc qemu_nic_model {} {
if [have_spec x86] { return e1000 }
@ -270,6 +224,7 @@ proc qemu_nic_model {} {
return nic_model_missing
}
append qemu_args " -nographic "
append qemu_args " -netdev user,id=net0 "
append qemu_args " -net nic,model=[qemu_nic_model],netdev=net0 "

View File

@ -9,35 +9,21 @@
# browser to http://localhost:5555
#
if {[have_spec odroid_xu]} {
puts "Run script does not support this platform."
exit 0
}
set build_components {
core init timer
app/lighttpd
lib/vfs/lwip
}
set use_usb_driver [expr [have_spec omap4] || [have_spec arndale] || [have_spec rpi]]
set use_nic_driver [expr !$use_usb_driver]
if {$use_usb_driver} { set network_driver "usb_drv" }
if {$use_nic_driver} { set network_driver "nic_drv" }
lappend_if $use_usb_driver build_components drivers/usb
lappend_if $use_nic_driver build_components drivers/nic
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
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init \
[depot_user]/src/libc \
[depot_user]/src/libcrypto \
[depot_user]/src/libssh \
[depot_user]/src/libssl \
[depot_user]/src/lighttpd \
[depot_user]/src/posix \
[depot_user]/src/vfs \
[depot_user]/src/vfs_lwip \
[depot_user]/src/zlib
append config {
install_config {
<config>
<parent-provides>
<service name="ROM"/>
@ -53,39 +39,23 @@ append config {
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>}
</start>
append_if [have_spec gpio] config "
<start name=\"[gpio_drv]\">
<resource name=\"RAM\" quantum=\"4M\"/>
<provides><service name=\"Gpio\"/></provides>
<config/>
</start>"
<start name="nic_drv" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides> <service name="Nic"/> </provides>
</start>
append_if $use_usb_driver config {
<start name="usb_drv">
<resource name="RAM" quantum="12M"/>
<provides>
<service name="Nic"/>
</provides>
<config ehci="yes">
<nic mac="02:00:00:00:01:01" />
</config>
</start>}
append_if $use_nic_driver config {
<start name="nic_drv">
<binary name="} [nic_drv_binary] {"/>
<resource name="RAM" quantum="4M"/>
<provides><service name="Nic"/></provides>
</start>}
append_platform_drv_config
append config {
<start name="lighttpd" caps="1000">
<resource name="RAM" quantum="1G" />
<config>
@ -105,13 +75,9 @@ append config {
<libc stdin="/dev/null" stdout="/dev/log" stderr="/dev/log"
socket="/socket" />
</config>
</start>}
append config {
</start>
</config>}
install_config $config
#
# Create TAR archive containting the web-server configuration and the
# website content.
@ -152,31 +118,12 @@ if {![file exists bin/genode_org/website/index]} {
exec tar cfv bin/genode_org.tar -h -C bin/genode_org .
#
# Boot modules
#
# generic modules
set boot_modules {
core init timer ld.lib.so
libc.lib.so libm.lib.so posix.lib.so
vfs.lib.so vfs_lwip.lib.so zlib.lib.so
libcrypto.lib.so libssl.lib.so
lighttpd genode_org.tar
}
# platform-specific modules
lappend_if $use_usb_driver boot_modules usb_drv
lappend_if $use_nic_driver boot_modules [nic_drv_binary]
lappend_if [have_spec gpio] boot_modules [gpio_drv]
append_platform_drv_boot_modules
build_boot_image $boot_modules
build_boot_image { genode_org.tar }
proc qemu_nic_model {} {
if [have_spec x86] { return e1000 }
if [have_spec lan9118] { return lan9118 }
if [have_spec zynq] { return cadence_gem }
return nic_model_missing
}

View File

@ -4,20 +4,21 @@
# \date 2012-08-16
#
set build_components {
core init timer
drivers/nic
app/lighttpd
}
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/init \
[depot_user]/src/libc \
[depot_user]/src/libcrypto \
[depot_user]/src/libssh \
[depot_user]/src/libssl \
[depot_user]/src/lighttpd \
[depot_user]/src/posix \
[depot_user]/src/vfs \
[depot_user]/src/vfs_lwip \
[depot_user]/src/zlib
append config {
install_config {
<config>
<parent-provides>
<service name="ROM"/>
@ -33,19 +34,23 @@ append config {
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
</start>}
append_platform_drv_config
append config {
<start name="nic_drv">
<binary name="} [nic_drv_binary] {"/>
<resource name="RAM" quantum="4M"/>
<provides><service name="Nic"/></provides>
</start>
<start name="nic_drv" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides> <service name="Nic"/> </provides>
</start>
<start name="lighttpd" caps="200">
<resource name="RAM" quantum="1G" />
<config>
@ -95,35 +100,15 @@ mimetype.assign = (
<libc stdin="/dev/null" stdout="/dev/log" stderr="/dev/log"
socket="/socket" />
</config>
</start>}
append config {
</start>
</config>}
install_config $config
#
# Boot modules
#
# generic modules
append boot_modules {
core init timer ld.lib.so } [nic_drv_binary] {
libc.lib.so libm.lib.so posix.lib.so
vfs.lib.so vfs_lwip.lib.so zlib.lib.so
libcrypto.lib.so libssl.lib.so
lighttpd
}
# platform-specific modules
append_platform_drv_boot_modules
build_boot_image $boot_modules
build_boot_image {}
proc qemu_nic_model {} {
if [have_spec x86] { return e1000 }
if [have_spec lan9118] { return lan9118 }
if [have_spec zynq] { return cadence_gem }
return nic_model_missing
}

View File

@ -15,22 +15,15 @@ if {[get_cmd_switch --autopilot] && [have_include "power_on/qemu"]} {
exit
}
if {![info exists use_usb_driver]} {
set use_usb_driver [expr [have_spec omap4] || [have_spec arndale] || [have_spec rpi]]
}
set use_nic_driver [expr !$use_usb_driver && !$use_wifi_driver]
if {[expr !$use_usb_driver && !$use_nic_driver && !$use_wifi_driver] ||
[have_spec odroid_xu] ||
[expr [have_spec imx53] && [have_spec trustzone]]} {
puts "Run script is not supported on this platform."
if {[have_include "power_on/qemu"] &&
[expr $use_nic_bridge || $use_nic_router || $use_usb_driver || $use_wifi_driver]} {
puts "Cannot test this configuration on qemu.";
exit 0
}
# provide wifi related variables in case we do not use the wifi driver
if {!$use_wifi_driver} {
set wifi_ssid ""
set wifi_psk ""
if {[expr [have_spec imx53] && [have_spec trustzone]]} {
puts "Run script is not supported on this platform."
exit 0
}
set bridge_mac "02:02:02:02:02:00"
@ -41,10 +34,6 @@ if {[get_cmd_switch --autopilot]} {
if {[have_spec x86_64]} { set bridge_mac "02:02:02:02:64:00" }
}
#
# Build
#
set version "2.6.0"
# sanity check that the right version is used
@ -70,46 +59,56 @@ if {$wrong_version} {
set packet_size 1024
set netperf_tests "TCP_STREAM TCP_MAERTS"
# start run script generation
if {$use_usb_driver} { set network_driver "usb_drv" }
if {$use_nic_driver} { set network_driver "nic_drv" }
if {$use_wifi_driver} { set network_driver "wifi_drv" }
append build_components {
core init timer
app/netperf
proc socket_fs_plugin {} {
global use_lxip
if { $use_lxip } { return lxip }
return lwip
}
append_socket_fs_build_components
lappend_if $use_nic_driver build_components drivers/nic
lappend_if $use_usb_driver build_components drivers/usb
lappend_if $use_nic_bridge build_components server/nic_bridge
lappend_if $use_nic_router build_components server/nic_router
lappend_if [have_spec gpio] build_components drivers/gpio
append_if $use_wifi_driver build_components {
drivers/wifi
server/fs_rom
server/ram_fs
server/report_rom
lib/vfs/jitterentropy
}
source ${genode_dir}/repos/base/run/platform_drv.inc
append_platform_drv_build_components
build $build_components
create_boot_directory
set packages "
[depot_user]/src/[base_src]
[depot_user]/pkg/[drivers_nic_pkg]
[depot_user]/src/init
[depot_user]/src/libc
[depot_user]/src/posix
[depot_user]/src/vfs
"
append_if [expr !$use_lxip] packages " [depot_user]/src/vfs_lwip "
append_if $use_lxip packages " [depot_user]/src/vfs_lxip "
append_if $use_nic_bridge packages " [depot_user]/src/nic_bridge "
append_if $use_nic_router packages " [depot_user]/src/nic_router "
append_if $use_usb_driver packages " [depot_user]/src/platform_drv "
append_if $use_usb_driver packages " [depot_user]/src/usb_drv "
append_if $use_wifi_driver packages " [depot_user]/src/ram_fs "
append_if $use_wifi_driver packages " [depot_user]/src/fs_rom "
append_if $use_wifi_driver packages " [depot_user]/src/report_rom "
append_if $use_wifi_driver packages " [depot_user]/src/wifi_drv "
append_if $use_wifi_driver packages " [depot_user]/src/libcrypto "
append_if $use_wifi_driver packages " [depot_user]/src/libssl "
append_if $use_wifi_driver packages " [depot_user]/src/vfs_jitterentropy "
append_if $use_wifi_driver packages " [depot_user]/raw/wifi_firmware "
import_from_depot $packages
build { app/netperf }
#
# Generate config
#
set lx_ip_addr "10.0.2.55"
source ${genode_dir}/repos/base/run/platform_drv.inc
proc platform_drv_policy {} {
global use_wifi_driver
if { $use_wifi_driver } {
return {<policy label_prefix="nic_drv"> <pci class="WIFI"/> </policy>}}
return {<policy label_prefix="nic_drv"> <pci class="USB"/> </policy>}
}
set config {
<config verbose="yes" prio_levels="2">
<parent-provides>
@ -132,12 +131,89 @@ set config {
<provides> <service name="Timer"/> </provides>
</start> }
append_if [have_spec gpio] config "
<start name=\"[gpio_drv]\" caps=\"140\">
<resource name=\"RAM\" quantum=\"4M\"/>
<provides><service name=\"Gpio\"/></provides>
<config/>
</start>"
if { $use_wifi_driver } {
append_platform_drv_config
append config {
<start name="report_rom">
<resource name="RAM" quantum="2M"/>
<provides> <service name="Report" /> <service name="ROM" /> </provides>
<config> <rom/> </config>
</start>
<start name="config_fs">
<binary name="ram_fs"/>
<resource name="RAM" quantum="4M"/>
<provides> <service name="File_system"/> </provides>
<config>
<policy label_prefix="config_rom" root="/"/>
<content>
<inline name="wifi_config">
<wifi_config connected_scan_interval="0" scan_interval="10" rfkill="no" verbose="no" verbose_state="no">}
append config "<network ssid=\"$wifi_ssid\" protection=\"WPA2\" passphrase=\"$wifi_psk\"/>"
append config { </wifi_config>
</inline>
</content>
</config>
</start>
<start name="config_rom">
<binary name="fs_rom"/>
<resource name="RAM" quantum="4M"/>
<provides><service name="ROM"/></provides>
<route>
<service name="File_system"> <child name="config_fs" /> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
<start name="nic_drv" caps="300">
<binary name="wifi_drv"/>
<resource name="RAM" quantum="24M"/>
<provides> <service name="Nic"/> </provides>
<config>
<libc stdout="/dev/null" stderr="/dev/log" rtc="/dev/rtc"/>
<vfs>
<dir name="dev">
<log/> <null/>
<jitterentropy name="random"/>
<jitterentropy name="urandom"/>
<inline name="rtc">2018-01-01 00:01</inline>
</dir>
</vfs>
</config>
<route>
<service name="Rtc"> <any-child/> </service>
<service name="File_system"> <child name="config_fs"/> </service>
<service name="ROM" label="wifi_config"> <child name="config_rom" /> </service>
<service name="Report"> <child name="report_rom"/> </service>
<any-service> <parent/> <any-child /> </any-service>
</route>
</start>}
} elseif { $use_usb_driver } {
append_platform_drv_config
append config {
<start name="nic_drv" caps="120">
<binary name="usb_drv"/>
<resource name="RAM" quantum="18M"/>
<provides><service name="Nic"/></provides>
<config uhci="no" ehci="no" xhci="yes">
<nic mac="02:00:00:00:01:01" />
</config>
</start> }
} else {
append config {
<start name="nic_drv" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides> <service name="Nic"/> </provides>
</start> }
}
append_if $use_nic_router config {
<start name="nic_router">
@ -166,11 +242,7 @@ append_if $use_nic_router config {
</config>
<route>
<service name="Nic"> }
append_if $use_nic_router config "
<child name=\"$network_driver\"/>"
append_if $use_nic_router config {
</service>
<service name="Nic"> <child name="nic_drv"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
@ -187,104 +259,11 @@ append_if $use_nic_bridge config {
<default-policy/>
</config>
<route>
<service name="Nic"> }
append_if $use_nic_bridge config "
<child name=\"$network_driver\"/>"
append_if $use_nic_bridge config {
</service>
<service name="Nic"> <child name="nic_drv"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start> }
proc usb_drv_ram_quota {} {
if {[have_spec x86]} { return 18M }
return 14M
}
append_if $use_usb_driver config {
<start name="usb_drv" caps="120">
<resource name="RAM" quantum="} [usb_drv_ram_quota] {"/>
<provides>
<service name="Nic"/>
</provides>}
append_if $use_usb_driver config "
<config uhci=\"$use_usb_11\" ehci=\"$use_usb_20\" xhci=\"$use_usb_30\">"
append_if $use_usb_driver config {
<nic mac="02:00:00:00:01:01" />
</config>
</start>}
# don't use the dynamic linker for loading the lx_hybrid nic_drv on Linux
proc nic_drv_ld_attr {} {
if {[have_spec linux]} { return {ld="no"} }
return ""
}
append_if $use_nic_driver config {
<start name="nic_drv" caps="130" } [nic_drv_ld_attr] {>
<binary name="} [nic_drv_binary] {"/>
<resource name="RAM" quantum="20M"/>
<provides><service name="Nic"/></provides>
} [nic_drv_config] {
</start>}
append_if $use_wifi_driver config {
<start name="report_rom">
<resource name="RAM" quantum="2M"/>
<provides> <service name="Report" /> <service name="ROM" /> </provides>
<config> <rom/> </config>
</start>
<start name="config_fs">
<binary name="ram_fs"/>
<resource name="RAM" quantum="4M"/>
<provides> <service name="File_system"/> </provides>
<config>
<policy label_prefix="config_rom" root="/"/>
<content>
<inline name="wifi_config">
<wifi_config connected_scan_interval="0" scan_interval="10" rfkill="no" verbose="no" verbose_state="no">}
append_if $use_wifi_driver config "
<network ssid=\"$wifi_ssid\" protection=\"WPA2\" passphrase=\"$wifi_psk\"/>"
append_if $use_wifi_driver config {
</wifi_config>
</inline>
</content>
</config>
</start>
<start name="config_rom">
<binary name="fs_rom"/>
<resource name="RAM" quantum="4M"/>
<provides><service name="ROM"/></provides>
<route>
<service name="File_system"> <child name="config_fs" /> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
<start name="wifi_drv" caps="300">
<resource name="RAM" quantum="24M"/>
<provides> <service name="Nic"/> </provides>
<config>
<libc stdout="/dev/null" stderr="/dev/log" rtc="/dev/rtc"/>
<vfs>
<dir name="dev">
<log/> <null/>
<jitterentropy name="random"/>
<jitterentropy name="urandom"/>
<inline name="rtc">2018-01-01 00:01</inline>
</dir>
</vfs>
</config>
<route>
<service name="Rtc"> <any-child/> </service>
<service name="File_system"> <child name="config_fs"/> </service>
<service name="ROM" label="wifi_config"> <child name="config_rom" /> </service>
<service name="Report"> <child name="report_rom"/> </service>
<any-service> <parent/> <any-child /> </any-service>
</route>
</start>}
append_platform_drv_config
append config {
<start name="netserver_genode" caps="320" priority="-1">
<binary name="netserver"/>
@ -327,48 +306,7 @@ append config {
install_config $config
#
# Boot modules
#
# generic modules
append boot_modules {
core init timer
ld.lib.so libc.lib.so vfs.lib.so libm.lib.so posix.lib.so
netserver
}
append_socket_fs_boot_modules
lappend_if $use_nic_bridge boot_modules nic_bridge
lappend_if $use_nic_router boot_modules nic_router
# platform-specific modules
lappend_if [have_spec gpio] boot_modules [gpio_drv]
lappend_if $use_usb_driver boot_modules usb_drv
lappend_if $use_nic_driver boot_modules [nic_drv_binary]
append_if $use_wifi_driver boot_modules {
ram_fs fs_rom report_rom
libcrypto.lib.so libssl.lib.so
wpa_driver_nl80211.lib.so wpa_supplicant.lib.so
vfs_jitterentropy.lib.so
wifi.lib.so wifi_drv
iwlwifi-6000-4.ucode
iwlwifi-6000g2a-6.ucode
iwlwifi-6000g2b-6.ucode
iwlwifi-7260-17.ucode
iwlwifi-7265-17.ucode
iwlwifi-7265D-29.ucode
iwlwifi-8000C-36.ucode
iwlwifi-8265-36.ucode
regulatory.db
}
append_platform_drv_boot_modules
build_boot_image $boot_modules
build_boot_image { netserver }
#
# Execute test case
@ -386,7 +324,13 @@ proc qemu_nic_model {} {
append qemu_args " -netdev user,id=net0,hostfwd=tcp::12865-:12865,hostfwd=tcp::49153-:49153 "
append qemu_args " -net nic,model=[qemu_nic_model],netdev=net0 "
set ip_match_string ""
set force_ports ""
if $use_lxip {
set ip_match_string "ipaddr=(\[0-9\]+\.\[0-9\]+\.\[0-9\]+\.\[0-9\]+).*\n"
} else {
set ip_match_string "address=(\[0-9\]+\.\[0-9\]+\.\[0-9\]+\.\[0-9\]+).*\n"
}
if $use_nic_router {
set ip_match_string "nic_router\\\] \\\[uplink\\\] dynamic IP config: interface (\[0-9]{1,3}.\[0-9]{1,3}.\[0-9]{1,3}.\[0-9]{1,3}).*\n"
set force_ports "-P 12864,12864"
@ -446,10 +390,6 @@ foreach netperf_test $netperf_tests {
puts -nonewline "! PERF: $netperf_test"
if {$use_nic_bridge} { puts -nonewline "_bridge" }
if {$use_nic_router} { puts -nonewline "_router" }
if {$use_usb_driver} {
if {![string compare $use_usb_11 "yes"]} { puts -nonewline "_uhci" }
if {![string compare $use_usb_20 "yes"]} { puts -nonewline "_ohci" }
if {![string compare $use_usb_30 "yes"]} { puts -nonewline "_xhci" }
}
if {$use_usb_driver} { puts -nonewline "_xhci" }
puts " [lindex $throughput 1] MBit/s ok"
}

View File

@ -9,11 +9,7 @@
set use_nic_bridge 0
set use_nic_router 0
set use_wifi_driver 0
set use_usb_11 "no"
set use_usb_20 "yes"
set use_usb_30 "no"
set use_usb_driver 0
set use_lxip 0
set ip_match_string "address=(\[0-9\]+\.\[0-9\]+\.\[0-9\]+\.\[0-9\]+).*\n"
source ${genode_dir}/repos/libports/run/vfs_lwip.inc
source ${genode_dir}/repos/ports/run/netperf.inc

View File

@ -5,25 +5,11 @@
# \date 2013-07-08
#
if {[have_include "power_on/qemu"]} {
puts "\nNetperf running on Qemu with a bridge is not supported.\n"
exit
}
if {[have_spec omap4]} {
puts stderr "\nTest requires 1 Gbit network interface - not supported for omap4\n"
exit 0
}
# network configuration
set use_nic_bridge 1
set use_nic_router 0
set use_wifi_driver 0
set use_usb_11 "no"
set use_usb_20 "no"
set use_usb_30 "yes"
set use_usb_driver 0
set use_lxip 0
set ip_match_string "address=(\[0-9\]+\.\[0-9\]+\.\[0-9\]+\.\[0-9\]+).*\n"
source ${genode_dir}/repos/libports/run/vfs_lwip.inc
source ${genode_dir}/repos/ports/run/netperf.inc

View File

@ -5,25 +5,11 @@
# \date 2017-12-19
#
if {[have_include "power_on/qemu"]} {
puts "\nNetperf running on Qemu with a router is not supported.\n"
exit
}
if {[have_spec omap4]} {
puts stderr "\nTest requires 1 Gbit network interface - not supported for omap4\n"
exit 0
}
# network configuration
set use_nic_bridge 0
set use_nic_router 1
set use_wifi_driver 0
set use_usb_11 "no"
set use_usb_20 "no"
set use_usb_30 "yes"
set use_usb_driver 0
set use_lxip 0
set ip_match_string "address=(\[0-9\]+\.\[0-9\]+\.\[0-9\]+\.\[0-9\]+).*\n"
source ${genode_dir}/repos/libports/run/vfs_lwip.inc
source ${genode_dir}/repos/ports/run/netperf.inc

View File

@ -5,8 +5,11 @@
# \date 2013-07-08
#
if {[have_spec omap4]} {
puts stderr "\nTest requires 1 Gbit network interface - not supported for omap4\n"
# our nightly test infrastructure currently support usb 3.0 on our x86 64bit machine only
assert_spec x86_64
if {[have_include "power_on/qemu"] || [have_include "power_on/linux"]} {
puts stderr "\nNetperf USB3.0 running on Qemu/Linux is not supported.\n"
exit 0
}
@ -14,15 +17,7 @@ if {[have_spec omap4]} {
set use_nic_bridge 0
set use_nic_router 0
set use_wifi_driver 0
set use_usb_driver 1
set use_lxip 0
# force usage of usb for nova, known to work with usb30 network adapter
if {[have_spec nova] && [have_spec x86_64]} { set use_usb_driver 1 }
set use_usb_11 "no"
set use_usb_20 "no"
set use_usb_30 "yes"
set ip_match_string "address=(\[0-9\]+\.\[0-9\]+\.\[0-9\]+\.\[0-9\]+).*\n"
source ${genode_dir}/repos/libports/run/vfs_lwip.inc
source ${genode_dir}/repos/ports/run/netperf.inc

View File

@ -25,17 +25,10 @@ if {[get_cmd_switch --autopilot] && [have_spec x86_32] && ![have_spec acpi]} {
set use_nic_bridge 0
set use_nic_router 0
set use_wifi_driver 1
set use_usb_11 "no"
set use_usb_20 "no"
set use_usb_30 "no"
set use_usb_driver 0
set use_lxip 0
set wifi_ssid $::env(GENODE_WIFI_SSID)
set wifi_psk $::env(GENODE_WIFI_PSK)
set ip_match_string "address=(\[0-9\]+\.\[0-9\]+\.\[0-9\]+\.\[0-9\]+).*\n"
source ${genode_dir}/repos/libports/run/vfs_lwip.inc
source ${genode_dir}/repos/ports/run/netperf.inc
# remove firmware images
exec sh -c "rm bin/*.ucode"

View File

@ -9,11 +9,7 @@
set use_nic_bridge 0
set use_nic_router 0
set use_wifi_driver 0
set use_usb_11 "no"
set use_usb_20 "yes"
set use_usb_30 "no"
set use_usb_driver 0
set use_lxip 1
set ip_match_string "ipaddr=(\[0-9\]+\.\[0-9\]+\.\[0-9\]+\.\[0-9\]+).*\n"
source ${genode_dir}/repos/dde_linux/run/vfs_lxip.inc
source ${genode_dir}/repos/ports/run/netperf.inc

View File

@ -5,25 +5,11 @@
# \date 2013-07-08
#
if {[have_include "power_on/qemu"]} {
puts "\nNetperf running on Qemu with a bridge is not supported.\n"
exit
}
if {[have_spec omap4]} {
puts stderr "\nTest requires 1 Gbit network interface - not supported for omap4\n"
exit 0
}
# network configuration
set use_nic_bridge 1
set use_nic_router 0
set use_wifi_driver 0
set use_usb_11 "no"
set use_usb_20 "no"
set use_usb_30 "yes"
set use_usb_driver 0
set use_lxip 1
set ip_match_string "ipaddr=(\[0-9\]+\.\[0-9\]+\.\[0-9\]+\.\[0-9\]+).*\n"
source ${genode_dir}/repos/dde_linux/run/vfs_lxip.inc
source ${genode_dir}/repos/ports/run/netperf.inc

View File

@ -5,25 +5,11 @@
# \date 2017-12-19
#
if {[have_include "power_on/qemu"]} {
puts "\nNetperf running on Qemu with a router is not supported.\n"
exit
}
if {[have_spec omap4]} {
puts stderr "\nTest requires 1 Gbit network interface - not supported for omap4\n"
exit 0
}
# network configuration
set use_nic_bridge 0
set use_nic_router 1
set use_wifi_driver 0
set use_usb_11 "no"
set use_usb_20 "no"
set use_usb_30 "yes"
set use_usb_driver 0
set use_lxip 1
set ip_match_string "ipaddr=(\[0-9\]+\.\[0-9\]+\.\[0-9\]+\.\[0-9\]+).*\n"
source ${genode_dir}/repos/dde_linux/run/vfs_lxip.inc
source ${genode_dir}/repos/ports/run/netperf.inc

View File

@ -5,8 +5,11 @@
# \date 2013-07-08
#
if {[have_spec omap4]} {
puts stderr "\nTest requires 1 Gbit network interface - not supported for omap4\n"
# our nightly test infrastructure currently support usb 3.0 on our x86 64bit machine only
assert_spec x86_64
if {[have_include "power_on/qemu"] || [have_include "power_on/linux"]} {
puts stderr "\nNetperf USB3.0 running on Qemu/Linux is not supported.\n"
exit 0
}
@ -14,15 +17,7 @@ if {[have_spec omap4]} {
set use_nic_bridge 0
set use_nic_router 0
set use_wifi_driver 0
set use_usb_driver 1
set use_lxip 1
# force usage of usb for nova, known to work with usb30 network adapter
if {[have_spec nova] && [have_spec x86_64]} { set use_usb_driver 1 }
set use_usb_11 "no"
set use_usb_20 "no"
set use_usb_30 "yes"
set ip_match_string "ipaddr=(\[0-9\]+\.\[0-9\]+\.\[0-9\]+\.\[0-9\]+).*\n"
source ${genode_dir}/repos/dde_linux/run/vfs_lxip.inc
source ${genode_dir}/repos/ports/run/netperf.inc

View File

@ -25,17 +25,10 @@ if {[get_cmd_switch --autopilot] && [have_spec x86_32] && ![have_spec acpi]} {
set use_nic_bridge 0
set use_nic_router 0
set use_wifi_driver 1
set use_usb_11 "no"
set use_usb_20 "no"
set use_usb_30 "no"
set use_usb_driver 0
set use_lxip 1
set wifi_ssid $::env(GENODE_WIFI_SSID)
set wifi_psk $::env(GENODE_WIFI_PSK)
set ip_match_string "ipaddr=(\[0-9\]+\.\[0-9\]+\.\[0-9\]+\.\[0-9\]+).*\n"
source ${genode_dir}/repos/dde_linux/run/vfs_lxip.inc
source ${genode_dir}/repos/ports/run/netperf.inc
# remove firmware images
exec sh -c "rm bin/*.ucode"

View File

@ -237,6 +237,7 @@ append_platform_drv_config
append_if $use_nic_session config {
<start name="nic_drv" priority="-2">
<binary name="ipxe_nic_drv"/>
<resource name="RAM" quantum="8M"/>
<provides><service name="Nic"/></provides>
</start>
@ -438,7 +439,7 @@ lappend_if [expr !$use_usb] boot_modules ps2_drv
lappend_if $use_usb boot_modules usb_drv
lappend_if $use_block_ram boot_modules ram_block
lappend_if $use_block_sata boot_modules ahci_drv
lappend_if $use_nic_session boot_modules nic_drv
lappend_if $use_nic_session boot_modules ipxe_nic_drv
lappend_if $use_nic_bridge boot_modules nic_bridge
lappend_if $use_framebuffer boot_modules fb_drv

View File

@ -1,3 +1,5 @@
assert_spec x86
if {[have_spec linux]} {
puts "The [run_name] scenario requires QEMU networking."
exit 1
@ -55,7 +57,7 @@ append config {
<provides> <service name="Rtc"/> </provides>
</start>
<start name="nic_drv">
<binary name="} [nic_drv_binary] {"/>
<binary name="ipxe_nic_drv"/>
<resource name="RAM" quantum="4M"/>
<provides> <service name="Nic"/> </provides>
</start>
@ -174,6 +176,7 @@ set boot_modules {
libssl.lib.so
lxip.lib.so vfs_lxip.lib.so
nic_router
ipxe_nic_drv
rtc_drv
sequence
stubby
@ -185,7 +188,6 @@ set boot_modules {
# platform-specific modules
append_platform_drv_boot_modules
lappend boot_modules [nic_drv_binary]
build_boot_image $boot_modules

View File

@ -1,18 +1,16 @@
source ${genode_dir}/repos/base/run/platform_drv.inc
assert_spec x86
create_boot_directory
proc current_pkg { pkg } { return $pkg/[_current_depot_archive_version pkg $pkg] }
import_from_depot [depot_user]/src/[base_src] \
[depot_user]/pkg/[drivers_nic_pkg] \
[depot_user]/src/report_rom \
[depot_user]/src/fs_rom \
[depot_user]/src/ram_fs \
[depot_user]/src/vfs \
[depot_user]/src/init \
[depot_user]/src/ipxe_nic_drv \
[depot_user]/src/acpi_drv \
[depot_user]/src/platform_drv \
[depot_user]/src/rtc_drv \
[depot_user]/src/posix \
[depot_user]/src/libc \
@ -21,7 +19,7 @@ import_from_depot [depot_user]/src/[base_src] \
create_tar_from_depot_binaries [run_dir]/genode/depot.tar \
[depot_user]/pkg/nic_router-nat-dns \
append config {
install_config {
<config>
<parent-provides>
<service name="ROM"/>
@ -39,26 +37,29 @@ append config {
<service name="Report"> <child name="report_rom"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</default-route>
<default caps="100"/>}
<default caps="100"/>
append_platform_drv_config
append config {
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides> <service name="Timer"/> </provides>
</start>
<start name="nic_drv" caps="1000">
<resource name="RAM" quantum="32M" constrain_phys="yes"/>
<binary name="init"/>
<route>
<service name="ROM" label="config"> <parent label="drivers.config"/> </service>
<service name="Timer"> <child name="timer"/> </service>
<any-service> <parent/> </any-service>
</route>
<provides> <service name="Nic"/> </provides>
</start>
<start name="rtc_drv">
<resource name="RAM" quantum="6M"/>
<provides> <service name="Rtc"/> </provides>
</start>
<start name="nic_drv">
<resource name="RAM" quantum="6M"/>
<provides> <service name="Nic"/> </provides>
</start>
<start name="report_rom">
<binary name="report_rom"/>
<resource name="RAM" quantum="1M"/>
@ -187,8 +188,6 @@ append config {
</config>}
install_config $config
append qemu_args -nographic
build { app/depot_query app/depot_deploy test/libc_getaddrinfo }

View File

@ -119,7 +119,7 @@ foreach pkg {bash coreutils} {
set boot_modules {
ram_fs
noux libc_noux.lib.so posix.lib.so bash.tar coreutils.tar
tcp_terminal vfs_lwip.lib.so nic_drv report_rom
tcp_terminal vfs_lwip.lib.so ipxe_nic_drv report_rom
input_merger
test.bin template.bat
}
@ -128,6 +128,7 @@ append boot_modules $vbox_file
set config_of_app {
<start name="nic_drv" priority="-1">
<binary name="ipxe_nic_drv"/>
<resource name="RAM" quantum="4M"/>
<provides> <service name="Nic"/> </provides>
</start>

View File

@ -33,7 +33,7 @@ set build_components {
set boot_modules {
input_merger
nic_drv
ipxe_nic_drv
audio_drv
report_rom
dynamic_rom
@ -74,6 +74,7 @@ append config_of_app {
needs to be enabled in the .vbox file (disabled by default)
-->
<start name="nic_drv" priority="-1">
<binary name="ipxe_nic_drv"/>
<resource name="RAM" quantum="8M" />
<provides>
<service name="Nic" />

View File

@ -119,6 +119,7 @@ append_if [have_spec x86] config {
append_if [expr $use_net] config {
<start name="nic_drv" priority="-1">
<binary name="ipxe_nic_drv"/>
<resource name="RAM" quantum="4M"/>
<provides><service name="Nic"/></provides>
</start>
@ -276,7 +277,7 @@ append boot_modules {
qemu-usb.lib.so
}
append_if [expr $use_net] boot_modules { nic_drv }
append_if [expr $use_net] boot_modules { ipxe_nic_drv }
append_if [expr $use_bridge] boot_modules { nic_bridge }
append_if [expr $use_serial] boot_modules { log_terminal }

View File

@ -83,6 +83,7 @@ append config {
</start>
<start name="nic_drv" priority="-1">
<binary name="ipxe_nic_drv"/>
<resource name="RAM" quantum="4M"/>
<provides><service name="Nic"/></provides>
</start>
@ -387,7 +388,7 @@ append boot_modules { fb_drv }
append boot_modules { rtc_drv }
append boot_modules { usb_drv }
append boot_modules { vfs.lib.so }
append boot_modules { nic_drv }
append boot_modules { ipxe_nic_drv }
append boot_modules { input_merger }
append boot_modules { log_terminal }
append_platform_drv_boot_modules

View File

@ -468,7 +468,14 @@ proc drivers_interactive_pkg { } {
proc drivers_nic_pkg { } {
if {[have_spec x86] && ![have_spec linux]} { return drivers_nic-pc }
if {[have_spec x86] &&
![have_spec linux]} { return drivers_nic-pc }
if {[have_spec linux]} { return drivers_nic-linux }
if {[have_spec pbxa9]} { return drivers_nic-pbxa9 }
if {[have_spec rpi]} { return drivers_nic-rpi }
if {[have_spec zynq_qemu]} { return drivers_nic-zynq }
if {[have_spec imx53_qsb]} { return drivers_nic-imx53_qsb }
if {[have_spec imx6q_sabrelite]} { return drivers_nic-imx6q_sabrelite }
puts stderr "drivers_nic package undefined for this build configuration"
exit 1