Commit Graph

372 Commits

Author SHA1 Message Date
Christian Helmuth
3208c4f2cb Increase netperf test timeout 2019-02-19 11:12:11 +01:00
Christian Helmuth
abdd1d7715 Adapt network run scripts for recent Qemu (3.1)
-netdev and -device should work with Qemu versions >= 2.5 at least but
3.0 dropped support for legacy -net completely.
2019-02-19 11:12:10 +01:00
Alexander Boettcher
6bb145bdd8 Remove virtualbox 4 vmm
Fixes #3141
2019-02-19 11:08:17 +01:00
Christian Prochaska
87d526968c usb_hid: test both USB host drivers
Fixes #3152
2019-02-19 11:08:17 +01:00
Norman Feske
5d66bfbd19 netperf.run: increase caps of netserver_genode
This is needed for seL4/x86_64.
2019-02-12 10:33:32 +01:00
Christian Helmuth
2b1732bdec Adapt usb_drv RAM quota to 12M
All autopilot scripts use 12 or more MiB for the usb_drv and my personal
tests never succeeded with less on x86 test machines.
2019-02-12 10:33:32 +01:00
Emery Hemingway
f529871162 Add [depot_user] to run tool builtins
Now that the depot_user procedure has found use in the depot_autopilot
it has become a convention.

Fix #3127
2019-01-30 13:49:55 +01:00
Norman Feske
486e534df0 gdb_monitor: remove use of deprecated APIs
Issue #1987
2019-01-30 13:49:54 +01:00
Norman Feske
81fb10daaa Consistently name block components
This patch replaces abbreviations like "blk", "cli", and "srv" by their
full forms "block", "client", and "server".

Fixes #1258
2019-01-14 12:34:39 +01:00
Norman Feske
bf62d6b896 Move timer from os to base repository
Since the timer and timeout handling is part of the base library (the
dynamic linker), it belongs to the base repository.

Besides moving the timer and its related infrastructure (alarm, timeout
libs, tests) to the base repository, this patch also moves the timer
from the 'drivers' subdirectory directly to 'src' and disamibuates the
timer's build locations for the various kernels. Otherwise the different
timer implementations could interfere with each other when using one
build directory with multiple kernels.

Note that this patch changes the include paths for the former os/timer,
os/alarm.h, os/duration.h, and os/timed_semaphore.h to base/.

Issue #3101
2019-01-14 12:33:57 +01:00
Norman Feske
48aed0ea46 Move Dosbox to genode-world
Fixes #3099
2019-01-07 12:43:37 +01:00
Josef Söntgen
c43723abdd ports: update lighttpd to 1.4.52
In addition enable TLS.

Fixes #3069.
2019-01-07 12:33:55 +01:00
Sebastian Sumpf
8015dbe8b7 Move OpenJDK to the Genode world repository
This reverts commit 58fb5ed722.

fixes #3060
2018-11-29 11:54:30 +01:00
Christian Helmuth
af49ec7583 Support custom DEPOT_DIR in noux_tool_chain_auto.run 2018-11-29 11:54:29 +01:00
Emery Hemingway
7a11384177 Merge pthread into libc library
The pthread API is considered a standard feature of libc so better to
simply merge it with the libc. Pthreads are in fact already a part of
the libc in the form of weak symbols. This merger is also a prerequisite
for better integrating pthreads with the libc I/O task.

Fix #3054
2018-11-29 11:46:01 +01:00
Josef Söntgen
ecccbb46cb wifi_drv: add hidden network support
Fixes #2988.
2018-09-20 09:06:17 +02:00
Christian Helmuth
cc61227f93 Adapt vbox5_genode_usb_hid to current log messages 2018-09-13 15:21:12 +02:00
Christian Prochaska
1d1942f48a arora.run: use VFS server for socket file system
Using the lxip VFS plugin locally can cause a deadlock in the browser
(see issue #2635).

Fixes #2977
2018-09-13 15:21:12 +02:00
Christian Prochaska
2300feaf9d arora.run: honor --depot-user
Fixes #2976
2018-09-13 15:21:12 +02:00
Christian Prochaska
7e7cb15bd1 arora.run: mount socket fs at '/socket'
Fixes #2975
2018-09-13 15:21:12 +02:00
Emery Hemingway
fcbe060096 Remove legacy lwIP plugins
Now that the lwIP VFS plugin has become a first class IP stack it is
time to remove the lwIP 1.x library and the associated libc plugins.

Fix #2958
2018-09-05 11:04:22 +02:00
Emery Hemingway
1370fa7631 Remove Noux networking support
Noux networking is not well tested and not in practical use. It also
uses a number of deprecated libraries.

Ref #2535
Fix #2955
2018-09-05 11:04:21 +02:00
Alexander Boettcher
a149131dc2 run: add microcode chain bootloader to nova
Fixes #2762
2018-08-28 16:48:43 +02:00
Alexander Boettcher
237f6a6a62 nova: provide microcode data via platform_info
Issue #2762
2018-08-28 16:46:05 +02:00
Josef Söntgen
ae50bf84c6 netperf.inc: adapt to new wifi_drv front end 2018-08-28 16:18:34 +02:00
Martin Stein
9b31aac1de LwIP tests: use VFS LwIP plugin
Issue #2335
2018-08-02 14:36:48 +02:00
Emery Hemingway
d9a4773194 LwIP VFS plugin
This patch reintroduces the LwIP stack to libc as a VFS plugin
implementing the socket_fs interface. Rather than use LwIP's socket
emulation layer this plugin interfaces directly to LwIP raw API and is
single threaded.

The internal TCP parameters of the stack are untuned.

Fix #2050
Fix #2335
2018-08-02 14:36:48 +02:00
Norman Feske
4b46abf813 base: rm first-class support for static binaries
This patch removes the detection of statically linked executables from
the base framework. It thereby fixes the corner cases encountered with
Sculpt when obtaining the binaries of the runtime from the depot_rom
service that is hosted within the runtime.

Statically linked binaries and hybrid Linux/Genode (lx_hybrid) binaries
can still be started by relabeling the ROM-session route of "ld.lib.so"
to the binary name, pretending that the binary is the dynamic linker.
This can be achieved via init's label rewriting mechanism:

  <route>
    <service name="ROM" unscoped_label="ld.lib.so">
      <parent label="test-platform"/> </service>
  </route>

However, as this is quite cryptic and would need to be applied for all
lx_hybrid components, the patch adds a shortcut to init's configuration.
One can simply add the 'ld="no"' attribute to the <start> node of the
corresponding component:

  <start name="test-platform" ld="no"/>

Fixes #2866
2018-08-02 14:36:38 +02:00
Martin Stein
4ca69b6d6d netperf tests & router: update IP match string
Issue #2899
2018-07-03 09:39:36 +02:00
Christian Helmuth
8d1d57fbdf Tweak run scripts for sel4 (caps, timeout) 2018-07-03 09:39:32 +02:00
Sebastian Sumpf
10485b0d39 run: rename 'check_installed' to 'installed_command'
Also remove 'requires_installation_of', while also checking sbin
directories in 'have_installed'. The run scripts have been adjusted
accordingly.

Fixes #2853
2018-07-03 09:39:31 +02:00
Josef Söntgen
74dcc7a3d5 libc: use socket fs for DNS information
The libc will now use the file given by the 'nameserver_file' attribute
to get the DNS nameserver address instead of reading '/etc/resolv.conf'.
It defaults to '/socket/nameserver' which is the common location when
using the lxip VFS plugin. As a constraint the libc will read the first
line and expects the nameserver address without any keywords in front of
it.

Fixes #2861.
2018-06-29 10:44:55 +02:00
Martin Stein
49a3a0e0d0 nic_router: multiple uplinks
Introduce the uplink tag:

! <config>
!    <uplink label="wifi"  domain="uplink">
!    <uplink label="wired" domain="wired_bridge">
!    <uplink               domain="wired_bridge">
! <config/>

For each uplink tag, the NIC router requests a NIC session with the
corresponding label or an empty label if there is no label attribute.
These NIC sessions get attached to the domain that is set in their
uplink tag as soon as the domain appears. This means their lifetime is
not bound to the domain. Uplink NIC sessions can be safely moved from
one domain to another without being closed by reconfiguring the
corresponding domain attribute.

Attention: This may render previously valid NIC router configurations
useless. A domain named "uplink" doesn't automatically request a NIC
session anymore. To fix these configurations, just add

! <uplink domain="uplink"/>

or

! <uplink label="[LABEL]" domain="uplink"/>

as direct subtag of the <config> tag.

Issue #2840
2018-06-29 10:44:53 +02:00
Alexander Boettcher
fd7357d9d5 vbox5: add log_core to test scripts
Issue #2207
2018-06-12 12:11:37 +02:00
Martin Stein
14482146c5 virtualbox_nic_router.run: test uplink reconnect
* Enable USB input
* Get rid of variables that adapted runscript to other platforms than x86_64
  hardware with nova and instead restrict the run script to this platform
* Use a dynamic config for routers
* Switch label of the uplink of router 1 so it connects to Wifi and NIC driver
  alternately
* Let uplink domain tag appear and dissapear

Issue #2815
2018-05-30 13:36:35 +02:00
Emery Hemingway
e36ddaf659 Rename lwip library to lwip_legacy
Rename LwIP library in preparation for removal of LwIP libc plugin. The
current LwIP library will be replaced with a new version stripped of its
synchronous socket support. The next version will be incompatible with
the current, so removing 'lwip.lib.so' completely for a period makes it
easy to identify legacy users.

Fix #2797
2018-05-30 13:36:22 +02:00
Christian Prochaska
6080f4fb56 Fix 'vbox5_genode_usb_hid.run' / add to autopilot
Fixes #2802
2018-05-30 13:36:08 +02:00
Sebastian Sumpf
58fb5ed722 jdk: OpenJDK for Genode
OpenJDK version 9 for Genode, contains the interpreter version of the
HotSpot virtual machine.

fixes #2791
2018-05-30 13:36:07 +02:00
Christian Prochaska
f347cb90f1 depot: qt5 recipes
Fixes #2792
2018-05-30 12:26:19 +02:00
Emery Hemingway
e2661c58dc Convert static VFS library to dynamic library
Fix #2759
2018-05-30 12:26:19 +02:00
Christian Helmuth
5657375c9f Disable network tests on imx53_qsb_tz 2018-05-03 15:32:01 +02:00
Christian Helmuth
674b0ba947 Depot: nic_router-nat-dns
A runtime package that provides a Nic session with NAT via the
nic_router and a DNS service via Stubby.

Ref #2682
2018-05-03 15:31:59 +02:00
Emery Hemingway
3faf7aab8f Port of getdns and Stubby DNS resolver
Stubby is an application that acts as a local DNS stub resolver.

https://getdnsapi.net/
https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Daemon+-+Stubby

Ref #2682
2018-05-03 15:31:58 +02:00
Josef Söntgen
1d6d6966a1 rump: add knob to set memlimit
By now, rump would query its available RAM quota to determine the
memory limit minus some RAM reserved for Genode meta-data. This
does not work when the VFS rump plugin is used as the available
quota belongs to the VFS server. In this case the memlimit should
be set by specifing the RAM in the plugin's config, e.g.:

! <vfs>
!   <rump fs="ext2fs" ram="64M" writeabl="yes"/>
! </vfs>

Fixes #2783.
2018-05-03 15:31:23 +02:00
Norman Feske
a75413a21b Remove noux_shell_script.run
This functionality is covered by noux_tool_chain.
2018-05-03 15:31:17 +02:00
Norman Feske
1f1302e185 terminal: use VFS-based font handling
This patch replaces the terminal's formerly built-in fonts with the new
VFS-based font handling.

To avoid the copying of the terminal's font configuration across run
scripts, this patch adds the new terminal/pkg runtime package, which
includes everything needed for instantiating a terminal: the actual
terminal component, the library dependencies (vfs_ttf, which in turn
depends on the libc), a font (bitstream-vera), and a reasonable default
configuration.

Fixes #2758
2018-05-03 15:31:17 +02:00
Norman Feske
20f7d0aed0 Simplify noux_tool_chain_auto.run
This patch make the scenario independent from device drivers, which were
solely needed to display a graphical terminal. The output of the
scenario is now printed via the log_terminal component, which makes the
logging output of nightly tests more useful.
2018-04-19 13:38:33 +02:00
Norman Feske
e834624bfa Remove noux_two_terminal_fs.run
This interactive run script is largely a duplication of
noux_terminal_fs.
2018-04-19 13:38:33 +02:00
Stefan Kalkowski
ad99688853 imx53_qsb: enable automated network tests
Fix #2749
2018-04-19 12:38:24 +02:00
Norman Feske
97317b0c95 terminal: change term caps from linux to screen
Fixes #2743
2018-04-10 11:20:43 +02:00
Alexander Boettcher
fce15b4f13 sel4: adjust network scenarios for wandboard
Issue #2665
2018-04-10 11:09:16 +02:00
Alexander Boettcher
5d1f08d512 seoul: update seoul-genode.run
Issue #2715
2018-03-29 14:59:06 +02:00
Alexander Boettcher
57fcd5e0c4 seoul: adjust vga model to framebuffer host size
Configure the available vga/vesa memory based on the given Genode framebuffer
size and not the way around.

Issue #2715
2018-03-27 13:44:26 +02:00
Alexander Boettcher
ed320f6f03 seoul: support rtl8029 network model
Issue #2715
2018-03-27 13:43:10 +02:00
Alexander Boettcher
8e8878f187 seoul: show vga messages during early disc boot
Issue #2715
2018-03-27 13:43:10 +02:00
Alexander Boettcher
2403c32d4f seoul: add top utility to seoul*.run scenarios
Issue #2715
2018-03-27 13:43:10 +02:00
Alexander Boettcher
80e1dce1b0 nova: abandon hypervisor_info_page ROM
replace by platform_info ROM supposed to exist on all supported
kernels.

Fixes #2710
2018-03-08 14:24:05 +01:00
Alexander Boettcher
033e333691 depot: recipe for Seoul VMM 2018-03-08 12:05:07 +01:00
Josef Söntgen
97c2699392 netperf_wifi: disable 11n (batching) temporarily 2018-02-28 11:04:57 +01:00
Stefan Kalkowski
9f945a782f run: enable Wandquad board for network tests
Ref #2665
2018-02-28 11:04:57 +01:00
Alexander Boettcher
8287abf63f virtualbox.run: switch to vbox5
Issue #2658
2018-02-14 20:41:05 +01:00
Christian Prochaska
3c3c86bdba noux_tool_chain_auto.run: use '[depot_dir]' instead of '$genode_dir/depot'
Fixes #2663
2018-02-09 13:34:21 +01:00
Christian Prochaska
c7d1a9e270 noux_tool_chain_auto.run: add tclsh
Issue #2648
2018-02-09 13:34:20 +01:00
Emery Hemingway
abd536d5d3 Libc: zero sysctl buffer before strncpy
The uname utility from coreutils needs its read buffer zero-terminated,
regardless of read length.

Fix #2657
2018-02-09 13:34:18 +01:00
Norman Feske
5b6bd8459f Signature checking tool based on GnuPG
The new 'verify' component facilitates the code of GnuPG to verify
detached OpenPGP signatures against public keys.

Since GnuPG depends on libgcrypt and libgpg-error, the patch adds these
libraries to the libports repository.

Fixes #2640
2018-02-09 13:34:13 +01:00
Martin Stein
fe46d50ab3 netperf tests: test nic_router throughput
Adds two new netperf tests, netperf_lxip_router and netperf_lwip_router
who test the TCP throughput of the NIC router when routed with a tcp-forward
rule and NAT.

Issue #2624
2018-02-09 13:26:03 +01:00
Christian Helmuth
ce44dcf9c1 netperf: explicitly test IPv4 only 2018-01-17 12:14:44 +01:00
Stefan Kalkowski
bac3d620c6 vfs/rump_fs: test for ext2 file deletion
Ref #2621
2018-01-17 12:14:34 +01:00
Norman Feske
1be4a0aeaf libc: prevent timer session if rtc not configured
This patch makes the creation of the libc's timer session depend on
whether or not the 'rtc' attribute of the <libc> configuration is
defined. If not configured, 'clock_gettime' returns 0.

Fixes #2625
2018-01-17 12:14:33 +01:00
Sebastian Sumpf
9e93ea3e1c noux_tool_chain_auto: compile zlib instead of core
fixes issue #2601
2017-12-21 15:01:44 +01:00
Martin Stein
88be272113 noux_tool_chain.inc: don't use '&' in XML values
Was used in bash commands in the <inline> tag of the RAM FS.
Now we use an extra file and a <rom> tag instead.

Fixes #2605
2017-12-21 15:01:41 +01:00
Martin Stein
3cdcb528ff nic_router: advanced timeout configuration
Replace former rtt_sec attribute of the <config> tag by more specific
(and still optional) attributes for timeouts used in the NIC router
(these are also the default values):

<config dhcp_discover_timeout_sec="10"
        dhcp_request_timeout_sec="10"
        dhcp_offer_timeout_sec="10"
        udp_idle_timeout_sec="30"
        tcp_idle_timeout_sec="600"
        tcp_max_segm_lifetime_sec="30">

Details about the new attributes can be found in the README of the router.

Issue #2590
2017-12-21 15:01:32 +01:00
Christian Prochaska
a0a54df74c qt5: pointer shape support
Fixes #2586
2017-11-30 11:23:22 +01:00
Christian Prochaska
425d18e866 pointer: strip the last label element when matching labels
Issue #2585
2017-11-30 11:23:22 +01:00
Christian Prochaska
dd98bd67a0 pointer: custom pointer shape support
Make the revised 'vbox_pointer' component the new 'pointer' component.

Fixes #2585
2017-11-30 11:23:22 +01:00
Christian Prochaska
18993b5ede vbox_pointer: make shape support configurable
Have the 'Report' session announcement and "hover" and "xray" ROM requests
only when needed when 'vbox_pointer' becomes the new 'pointer'.

Issue #2585
2017-11-30 11:23:21 +01:00
Christian Prochaska
78b38cd65b vbox_pointer: provide a 'Report' service for shape reports
Issue #2585
2017-11-30 11:23:21 +01:00
Alexander Boettcher
154c16753c vbox*.run: apply win81 test heuristic to win10 2017-11-30 11:23:20 +01:00
Alexander Boettcher
dbf7588a76 netperf: increase caps for sel4 x86_64 2017-11-30 11:23:20 +01:00
Christian Prochaska
e6a638e78c gdb_monitor: increase RAM quota in run scripts 2017-11-30 11:23:19 +01:00
Alexander Boettcher
c63fe241f4 run: disable wifi netperf on non-ACPI 32bit kernel 2017-11-30 11:23:17 +01:00
Josef Söntgen
6ca8f4c174 sdl: remove deprecated API usage
In addition framebuffer resizing is now also supported.

Fixes #2583.
2017-11-30 11:23:16 +01:00
Christian Prochaska
365bec38a0 gdb_monitor: handle session requests for child services
Fixes #2574
2017-11-30 11:23:05 +01:00
Alexander Boettcher
e54ad5c73a vbox: support capslock state provided by ROM
Fixes #2568
2017-11-24 09:07:31 +01:00
Alexander Boettcher
804fb4e10d update recipe drivers_interactive-pc for hardware
fails on native hardware because of missing caps and missing configuration
of the drivers subinit
2017-11-09 12:18:41 +01:00
Martin Stein
42b1eefe73 virtualbox_nic_router: two routers, all dynamic
Two nested NIC routers between virtualbox and the NIC driver.
Both routers are DHCP clients at the uplink and DHCP servers at the
downlink.

Ref #2534
2017-11-06 13:57:22 +01:00
Alexander Boettcher
db0589727a seoul: attach executable memory as such
Issue #1723
2017-10-19 13:46:25 +02:00
Alexander Boettcher
ddb2805f3a run: disable non-working tests for x86_32 machine
to due limited capabilities of the native hardware
2017-10-19 13:31:18 +02:00
Martin Stein
30a96706cb nic_router: dhcp server functionality
One can configure the NIC router to act as DHCP server at interfaces of a
domain by adding the <dhcp> tag to the configuration of the domain like
this:

<domain name="vbox" interface="10.0.1.1/24">
    <dhcp-server ip_first="10.0.1.80"
                 ip_last="10.0.1.100"
                 ip_lease_time_sec="3600"
                 dns_server="10.0.0.2"/>
    ...
</domain>

The attributes ip_first and ip_last define the available IPv4 address
range while ip_lease_time_sec defines the lifetime of an IPv4 address
assignment in seconds. The IPv4 address range must be in the subnet
defined by the interface attribute of the domain tag and must not cover
the IPv4 address in this attribute. The dns_server attribute gives the
IPv4 address of the DNS server that might also be in another subnet.
The lifetime of an offered assignment is the configured round trip time of
the router while the ip_lease_time_sec is applied only if the offer is
requested by the client in time.

The ports/run/virtualbox_nic_router.run script is an example of how to
use the new DHCP server functionality.

Ref #2490
2017-10-19 13:31:15 +02:00
Emery Hemingway
8ca63d4a6e libc: reintegrate libc_resolv library
Remove getaddrinfo and freeaddrinfo from the Libc::Plugin and get rid of
the extra libc_resolv library. Remove getaddrinfo/freeaddrinfo symbol
hiding patch for FreeBSD sources. Remove libc_resolv from Makefiles and
run scenarios.

Fix #2273
2017-10-05 17:40:04 +02:00
Alexander Boettcher
be753ee863 tool: add genode xml schema to xmllint check
Fixes #2513
2017-10-05 17:40:03 +02:00
Norman Feske
26d4d227ea ports: define cap quota in vbox_pointer.run 2017-10-05 17:40:01 +02:00
Norman Feske
c6690ea447 ports: use depot in noux_vim.run, noux_bash.run 2017-10-05 17:39:59 +02:00
Christian Helmuth
28764e2332 Increase cap quota for wifi_drv 2017-08-30 10:01:35 +02:00
Alexander Boettcher
903cd8d719 noux_net_netcat: use disjoint mac addresses for platforms 2017-08-30 10:00:01 +02:00
Christian Helmuth
fd344eb273 netperf: use disjoint mac addresses for platforms 2017-08-30 10:00:00 +02:00
Christian Helmuth
3bc93d1242 vbox: fine-tune automatic test runs on Muen
Currently, only win7 32-bit tests run successfully and are whitelisted.
We may extent the list in future with other supported guests.
2017-08-30 10:00:00 +02:00
Christian Helmuth
ae0c9e7692 Increase cap quota for usb_drv 2017-08-30 10:00:00 +02:00
Christian Helmuth
2f38f50b1e Revert "vbox4: disable muen run targets due to issue #2399"
This reverts commit 523b317fe6.
2017-08-30 09:59:59 +02:00
Emery Hemingway
1fce8d0d74 default ahci_drv and part_blk Block sessions to read-only
Add a "writeable" policy option to the ahci_drv and part_blk Block
servers and default from writeable to ready-only. Should a policy
permit write acesss the session request argument "writeable" may still
downgrade a session to ready-only.

Fix #2469
2017-08-28 16:49:51 +02:00