13933 Commits

Author SHA1 Message Date
Sebastian Sumpf
8375a3fc2f netperf: add support for UDP tests
Add UDP forwarding rules to nic_router

issue #5471
2025-04-10 14:13:25 +02:00
Sebastian Sumpf
fce286fbdd dde_linux: remove test/vfs_lxip
The test is outdated and not working anymore.

issue #5471
2025-04-10 14:13:25 +02:00
Sebastian Sumpf
ed77207963 os: move vfs/lxip to vfs/ip from dde_linux
Because the sources are now used by lwip/lxip, make them accessible in a
public place.

issue #5471
2025-04-10 14:13:25 +02:00
Sebastian Sumpf
9881ba1364 libports: lwip with socket C-API
Implement socket C-API and move lwip specific parts present in vfs_lwip
to the library.

issue #5471
2025-04-10 14:12:38 +02:00
Sebastian Sumpf
e46bc6159d test/ip_raw: add support for lwip
Add lwIP requiremnts to the ip_raw test.

issue #5471
2025-04-10 14:12:38 +02:00
Sebastian Sumpf
836caa299d lxip_raw: split test to support more IP stacks
issue #5471
2025-04-10 14:12:38 +02:00
Sebastian Sumpf
f0a75b75fb lxip: support link_state handling
* (re-)configure address when link state goes up
* propagate link state to Linux code

issue #5471
2025-04-10 14:12:38 +02:00
Sebastian Sumpf
6a0c9f50ea lxip: support wakeup remote and socket_info
* instead of sending packet-stream signals for each possible rx/tx packet
  via genode_nic_client_notify_peers, call the wakeup_remote callback
  which implements the Vfs::Remote_io interface in vfs/ip.
  genode_nic_client_notify_peers will only be called in case the vfs goes idle.

  measured speed up: TX x9.1, RX x1.6

* retrieve genode_socket_info from Linux ipconfig.c

issue #5471
2025-04-10 14:12:38 +02:00
Sebastian Sumpf
14ae2cc846 vfs_lxip: use socket_info for address retrieval
Replace Linux specfic address information (ip, netmask, etc) with
C-API's socket_info

issue #5471
2025-04-10 14:12:38 +02:00
Sebastian Sumpf
6cefd1e16c vfs_lxip: implement Vfs::Remote_io
This is required for NIC-session batching and triggers only when VFS
user goes idle.

issue #5471
2025-04-10 14:12:38 +02:00
Sebastian Sumpf
67c7313f5e genode_c_api/nic_client: add link_state support
Support for the link state signal was missing.

issue #5471
2025-04-10 14:12:38 +02:00
Sebastian Sumpf
488fcfd1a3 genode_c_api/socket: add wakeup_remote + sock_info
* add genode_socket_wakeup_remote and genode_socket_register_wakeup
  which are used to support Vfs::Remote_io on the IP stack side

* add genode_socket_info in order to retrieve the address configuration
  from the IP stack

issue #5471
2025-04-10 14:12:38 +02:00
Sebastian Sumpf
0e48ea08cf os: move genode_c_api/nic_client from lxip to os
The Nic-client C-API is based on the Uplink C-API.

issue #5471
2025-04-10 14:12:37 +02:00
Sebastian Sumpf
a57ebc55fa os: move genode_c_api/socket.h from lxip to os
Move lxip local socket C-API to os/include/genode_c_api

issue #5471
2025-04-10 14:12:37 +02:00
Sebastian Sumpf
503f9fae7a libports: move vfs_lwip to vfs_legacy_lwip
* src/lib/lwip -> legacy_lwip
* src/lib/vfs/lwip -> legacy_lwip
* recipes/src/vfs_lwip -> vfs_legacy_lwip
* recipes/api/lwip -> legacy_lwip

issue #5471
2025-04-10 14:12:37 +02:00
Christian Helmuth
720488c49b test-pthread: add pseudo rtc to prevent warning 2025-04-10 14:12:37 +02:00
Sebastian Sumpf
5240de481f libc: use monitor for blocking in read_sockaddr_in
The suspend mechanism is obsolete, use monitor call to wait for data for
blocking sockets. The old implementation using 'suspend' will not block for
pthreads because the 'suspend' functor issues a 'monitor' call itself.

issue #5471
2025-04-10 14:12:37 +02:00
Josef Söntgen
8b5b5cda76 vfs/xoroshiro: add PRNG plugin using Xoroshiro128+
This plugin provides a PRNG based on the Xoroshiro128+ algorithm
that reseeds itself after a specific amount of state was consumed.

For more detailed information please take a look at its README in
'repos/os/src/lib/vfs/xoroshiro/README'.

Fixes #5407
2025-04-10 14:12:37 +02:00
Stefan Kalkowski
c053c46fae libusb: avoid active polling of control URBs
Some control URBs have to be handled synchronously within the
libusb, to meet the semantics of get_device_descriptor, set_interface,
etc., but this was using the VFS libusb plugin in a way that it
polled actively during the control URB being active. This commit
removes the not desired polling behaviour.

Fix genodelabs/genode#5469
2025-04-10 14:12:21 +02:00
Roman Iten
f4d5e480e3 gems: use 'assert'-proc in run scripts
Issue #5432
2025-04-10 14:12:21 +02:00
Roman Iten
d5ff0877d3 dde_rump: use 'assert'-proc in run scripts
Issue #5432
2025-04-10 14:12:21 +02:00
Roman Iten
1e518cb606 dde_linux: use 'assert'-proc in run scripts
Issue #5432
2025-04-10 14:12:20 +02:00
Roman Iten
4f23c797e1 dde_bsd: use 'assert'-proc in run scripts
Issue #5432
2025-02-28 14:41:46 +01:00
Roman Iten
1a7c1d69b8 base-okl4: use 'assert'-proc in run scripts
Issue #5432
2025-02-28 14:41:46 +01:00
Norman Feske
150c8609f8 News item for version 25.02 2025-02-28 12:48:42 +01:00
Christian Helmuth
910e8993c5 version: 25.02 25.02 2025-02-28 12:02:46 +01:00
Norman Feske
9bb57ec7e4 Release notes for version 25.02 2025-02-28 11:54:15 +01:00
Christian Helmuth
2d89b53b0c depot: update recipe hashes 2025-02-27 12:53:40 +01:00
Benjamin Lamowski
56cb822c86 base-hw: don't call Hw_vcpu::run() from the constructor
On x86_64, calling Hw_vcpu::run() will cause a startup exit that is
signaled to the VMM. The VMM will subsequently call with_state().
When Hw_vcpu::run() is called from the Hw_vcpu constructor, this can
lead to a situation where the VMM calls with_state() on a vCPU that
isn't fully constructed yet.

The VMM library API requires that the vCPU starts up in order to emit a
startup exit at construction. Call Hw_vcpu::run() from the
Vm_connection::Vcpu constructor instead of calling run() from the
Hw_vcpu constructor to avoid running a native vCPU that isn't fully
constructed yet.

Fixes #5442
2025-02-27 12:53:40 +01:00
Christian Helmuth
cd40a5be96 tool: have_cmd_arg -> have_cmd_switch (run, autopilot, dts)
Issue #5432
2025-02-27 12:53:40 +01:00
Stefan Kalkowski
62b44f2fbf genode_c_api/usb: correct interface setting
Remove regression in Session_component::set_interface by always iterating
over all interfaces to potentially change each alternate setting (from
passive to active and vice versa).

Ref genodelabs/genode#5349
Fix genodelabs/genode#5467
2025-02-27 12:53:40 +01:00
Christian Prochaska
472112fe0d qt6_declarative: install libqtqmlcoreplugin.lib.so
Fixes #5466
2025-02-27 12:53:40 +01:00
Stefan Kalkowski
1bfa53876f usb: correct client-quota tracking of DMA buffers
Fix genodelabs/genode#5465
2025-02-27 12:53:40 +01:00
Josef Söntgen
f081306eeb lighttpd: use pcre library
Needed for pattern matching in the configuration file.

Issue genodelabs/genodians.org#37.
2025-02-27 12:53:40 +01:00
Christian Helmuth
f0b1c77617 lighttpd: enable mod_auth/authn_file modules
Issue genodelabs/genodians.org#37.
2025-02-24 17:20:25 +01:00
Norman Feske
e14fab0873 Road map for 2025 2025-02-24 16:47:11 +01:00
Josef Söntgen
48f37b4a46 libc: use original 'gai_strerror()' implementation
This commit removes the dummy 'gai_strerror()' implementation in
favor of the one provided in the contrib sources to allow for better
diagnosing of DNS related problems.

As long as NLS is not set the implementation looks up the error string
via the error-code directly.

Fixes #5464.
2025-02-24 16:39:56 +01:00
Christian Prochaska
9cebdeb1a9 qt6_base: no mmap for sqlite3 files, reduce warnings
Fixes #5463
2025-02-24 16:39:56 +01:00
Josef Söntgen
89c63604ba api/openssl: add pkg-config files
Issue genodelabs/goa#81
2025-02-24 16:39:56 +01:00
Josef Söntgen
581ee3eda6 api/curl: add pkg-config file
Issue genodelabs/goa#81
2025-02-24 16:39:56 +01:00
Alexander Boettcher
c6e8acc037 sel4: avoid unsynchronized vm state tracking
Remove _extra_dispatch_up which is not required and racy which may lead
to hangs between ep and vcpu thread.

Issue #5461
2025-02-24 16:39:56 +01:00
Alexander Boettcher
ea97d1943a foc: avoid unsynchronized vm state tracking
_extra_dispatch_up is used by the ep and the vcpu
thread unsynchronized, which leads under sufficient load to race situations,
where both wait for each other and no one ever will continue. Remove
_extra_dispatch_up completely, which is not required, as the kernel interface
handles this specific state already.

Fixes #5461
2025-02-24 16:39:56 +01:00
Christian Prochaska
c0f82a0048 qt6: set CMAKE_PLATFORM_NO_VERSIONED_SONAME variable
Fixes #5462
2025-02-24 16:39:56 +01:00
Johannes Schlatow
adcad2118f api/zlib: add pkg-config file
genodelabs/goa#81
2025-02-24 16:39:56 +01:00
Johannes Schlatow
889fe955aa depot/openssl: mirror opensslconf.h at include/
Since Goa expects include files to reside at include/ or
include/spec/{x86,x86_64,arm_64,64bit}, the src/lib/.../opensslconf.h is
missed by Goa. This commit adds Goa compatibility for the openssl api
archive.

genodelabs/goa#81
2025-02-24 16:39:56 +01:00
Johannes Schlatow
9d7f8cfa9b platform: fix device-PD support
When executed on NOVA, the platform driver will use the kernel IOMMU
(device PD) if the devices ROM either does not name any IOMMU or support
for the named IOMMU is not available (e.g. because the generic platform
driver is used). In the latter case, reserved-memory ranges were not
correctly added to the device PD.

genodelabs/genode#5066
2025-02-24 16:39:56 +01:00
Stefan Kalkowski
b1d53fd4c8 sculpt: add F&S i.MX 8MP Armstone 2025-02-24 16:39:56 +01:00
Stefan Kalkowski
0393965d5a usb: clear URB's payload after finishing
Fix genodelabs/genode#5457
2025-02-24 16:39:55 +01:00
Christian Prochaska
a7422e316d base: increase linker area size
Fixes #5460
2025-02-24 16:39:55 +01:00
Christian Prochaska
b0f0e63b9f qt6: add qtwebchannel and qtwebengine APIs
Fixes #5459
2025-02-24 16:39:55 +01:00