13961 Commits

Author SHA1 Message Date
Stefan Kalkowski
aa0927b194 pistachio: patch kernel to get rid of python tool
Patch the kernel's build system to not use python tooling
for different configurations, instead we only support one
fixed configuration for x86 (32-bit) only.

Ref genodelabs/genode#5487
2025-04-10 14:14:07 +02:00
Sebastian Sumpf
843f5c32af dde_linux: review license headers
* add "or later" to GPLv2 license header where possible in order to make
  it compatible with GPLv3 based licenses

* add license header to non-trivial files where missing

fixes #5486
2025-04-10 14:14:07 +02:00
Norman Feske
97ea0d15ec sandbox: don't copy Xml_node
Issue #5411
2025-04-10 14:14:07 +02:00
Norman Feske
7aefaff646 os/buffered_xml.h: don't copy Xml_node
The public 'xml' const member replaces 'with_xml_node()' and the 'xml()'
accessor.

Issue #5411
2025-04-10 14:14:07 +02:00
Norman Feske
05d69a0bb3 os: increase mtime resolution to milliseconds
This patch changes the 'Timestamp' type of the VFS and file-system
session to an unsigned 64-bit value holding the number of milliseconds
since the UNIX epoch (beginning of 1970).

The special case of an invalid timestamp has been removed as it was
never consistently handled anyway.

In contrast to the POSIX timespec, which represents tv_sec and tv_nsec
both as signed values, this patch uses an unsigned value because the
interpretation of negative tv_sec and tv_nsec values is muddy.
Hypothetical modification times older that 1970 are capped at 1970.

Fixes #3511
2025-04-10 14:14:07 +02:00
Christian Helmuth
5cfe44ab72 Check stable output in file_vault_client test
Just output the date (not hours and minutes) in ls as RTC is fixed to
2018-01-01 00:01.

Issue #4371
2025-04-10 14:13:26 +02:00
Alexander Boettcher
2c1e25fcf7 nova: use branch with sanitized HIP population
to avoid boot failures as seen with X201 after #5413.

Fixes #5481
2025-04-10 14:13:26 +02:00
Norman Feske
2c2f016501 vfs_rump: retrieve modification time in stat
Issue #4371
2025-04-10 14:13:26 +02:00
Johannes Schlatow
9e2e592283 sculpt_manager: touch control of popup dialog
When trying to control the popup dialog with touch events, the dialog
was immediately closed (on any touch). This was a consequence of
evaluating the dialog's hover state without waiting for the
corresponding hover report. For regular motiong events, the hover report
is updated when the pointer moves. For touch events, however, the
hover report is only updated when the touch occurs. We therefore need to
wait for the hover report that corresponds to the touch event before
deciding about closing the popup dialog.

Since menu_view's hover report is not updated for clicks/touches outside any
dialog, we are now using nitpicker's hover report, which also got
augmented by the sequence number in order to be correlated with the
click/touch event.

Fixes #5485
2025-04-10 14:13:26 +02:00
Norman Feske
1336495858 nitpicker: re-eval pointer on panorama change
Whenever the panorama changes, eagerly re-evaluate the validity of the
current pointer position. Otherwise, the pointer may stay at an invisible
position until the next input motion happens. During this intermediate
phase, the position featured in the hover report cannot reliably be
matched against the panorama report (as needed by the sculpt manager
to let the leitzentrale GUI follow the pointer).

Issue #5370
2025-04-10 14:13:26 +02:00
Norman Feske
38650149b6 nitpicker: report both xpos,ypos for pointer
Don't omit either attribute whenever the value is 0. If the pointer is
defined, both attributes are reported. This way, the presence/absence
of the attribute expresses the validity of the pointer.

Issue #5370
2025-04-10 14:13:26 +02:00
Norman Feske
2e48641c13 nitpicker: don't use fallback if capture present
This patch prevents the use of stale information (bounding box of most
recently closed capture session) unless no capture session is present.
Otherwise, an intermediately but no longer present capture client
(a high-res display at boot positioned at panorama position (0, 0))
would permit the pointer to move at the originally occupied area even
though the current capture client do not capture this whole area.

Issue #5370
2025-04-10 14:13:26 +02:00
Norman Feske
5b9a9f4d9e sculpt: update panel width on screen-size change
As the panel dialog's min width is propagated via the menu-view config,
we need to re-generate the runtime config whenever the leitzentrale's
size changes. Otherwise the update merely happens as a side effect of
dynamically adjusting the font size, which does not happen with the
fixed config/fonts file.

Issue #5370
2025-04-10 14:13:26 +02:00
Norman Feske
a6ae7c7c58 sculpt: consider screen pos for pointer tracking
When inferring the global pointer position from input events referring
to the leitzentrale, we must take the leitzentrale's panorama position
into account. Otherwise, the hovered display cannot always be reliably
determined.

Issue #5370
2025-04-10 14:13:26 +02:00
Benjamin Lamowski
8561f7724d fb_sdl: don't treat host warning as error
The sdl2-compat library from version 2.30.54 will issue the warning
"#warning SDL_config.h might be incomplete, good luck"
on unrecognized platforms, introduced with commit f4abaea[1].

Add -Wno-error=cpp for fb_sdl to prevent this warning to be treated as
an error.

Fixes #5476

[1] f4abaea268u
2025-04-10 14:13:26 +02:00
Alexander Boettcher
eb443e751f sculpt: support disabling connector manually
via config/fb

Fix #5478
2025-04-10 14:13:26 +02:00
Alice Domage
7d60b1f5e7 tool/run/image/uboot: do not tag FIT image
Do not tag FIT image with arch and OS type when creating
FIT image.

Issue genodelabs#5482
2025-04-10 14:13:26 +02:00
Josef Söntgen
8b9d173202 Remove unused 'cbe_autopilot' script
This script was intended to test drive the CBE that was replaced with
the tresor by now.

Issue #5480.
2025-04-10 14:13:26 +02:00
Josef Söntgen
f7412c0df0 Remove unused 'create_iso' script
This script was formerly used to create .iso images but by now the
'image/iso' calls the iso generating program directly.

Issue #5480.
2025-04-10 14:13:26 +02:00
Josef Söntgen
a44e2eed27 Remove obsolete 'rump_cgdconf' script
Using the rumpkernel's CGD device has been unsupported for a while
by now.

Issue #5480.
2025-04-10 14:13:26 +02:00
Alexander Boettcher
56dca5eea5 ports: fix assert in libc_integration
Issue #5432
2025-04-10 14:13:26 +02:00
Alexander Boettcher
1c342e1bec ports: fix assert in vmm_vm_stress
Issue #5432
2025-04-10 14:13:26 +02:00
Alexander Boettcher
60b3619a1b intel/display: handle configuration with no merge
node at all. Fixes a regression. W/o the commit, discrete only
configurations may not work properly, e.g. not showing content on
any display.

Issue #5415
2025-04-10 14:13:26 +02:00
Sebastian Sumpf
f9eea846fa ldso: check e_machine of ELF binaries
Check if e_machine matches architecture the linker was build for.
2025-04-10 14:13:26 +02:00
Sebastian Sumpf
f88a61a6a0 wg_fetchurl.run: remove lwip labels from nic_router
lwIP does not provide default Nic::Connection labels anymore.

issue #5471
2025-04-10 14:13:26 +02:00
Sebastian Sumpf
e985e1c7b1 nic_bridge.run: use lxip and lwip
* use both IP-stacks with and without labels
* adjust matching rules

issue #5471
2025-04-10 14:13:26 +02:00
Sebastian Sumpf
92086cce68 genode_c_api/socket: add label to socket init
Add label argument to genode_socket_init that can be/is used to label
possible connecions.

issue #5471
2025-04-10 14:13:26 +02:00
Christian Prochaska
a7bd01bd4a stdcxx: define _GTHREAD_USE_MUTEX_INIT_FUNC
Fixes #5473
2025-04-10 14:13:25 +02:00
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