2098 Commits

Author SHA1 Message Date
Christian Helmuth
8e0fe39248 libdrm: explicitly convert values to __u64
Prevent errors like follows.

  error: invalid cast from type ‘size_t’ {aka ‘long unsigned int’} to type ‘__u64’ {aka ‘long long unsigned int’}

Issue #5431
2025-01-24 15:39:37 +01:00
Alexander Boettcher
a376ebafa7 libc: add missing header for qemu port 2025-01-24 12:49:16 +01:00
Norman Feske
f9f874d7e4 fixup "libc: unify base types for arm_64 and riscv" (revert unintended __int64_t modification)
Fixes #5431
2025-01-24 11:50:45 +01:00
Stefan Kalkowski
8730657e08 libusb: don't freeze when device vanishs
Instead of freezing, return corresponding libusb error code if the
USB device got disconnected. Therefore, components using the library
can continue to work otherwise.

Fix genodelabs/genode#5434
2025-01-23 16:04:09 +01:00
Christian Helmuth
28ecbbbb71 fixup "hw: calibrate Local APIC via ACPI timer" (final cosmetic touches)
and one bug fix
2025-01-22 14:41:48 +01:00
Benjamin Lamowski
8bdddbd46a hw: calibrate Local APIC via ACPI timer
Upto now, bootstrap used the Programmable Interval Timer to set a
suitable divider and determine the frequency of the Local APIC.
The PIT is not available on recent x86_64 hardware anymore.

Move Local APIC calibration to bootstrap and use the ACPI timer as a
reference. Clean up hw's timer implementation a little and disable the
PIT in bootstrap.

Fixes #5215
2025-01-22 14:41:48 +01:00
Norman Feske
da65626cdd libc: unify base types for arm_64 and riscv
Fixes #5431
2025-01-22 10:12:55 +01:00
Norman Feske
cdbc31add8 fixup "Enable -ffreestanding by default" (libgcov, x86emu) 2025-01-22 10:12:47 +01:00
Norman Feske
b455139e8c Enable -ffreestanding by default
Fixes #5429
2025-01-21 12:30:57 +01:00
Christian Prochaska
b4f4a6db09 qt6: install the SVG image format plugin
Fixes #5427
2025-01-20 17:34:01 +01:00
Christian Prochaska
d3d901886f qt6: fix dangling pointer in QGenodeWindowSurface
Fixes #5426
2025-01-20 17:33:57 +01:00
Christian Prochaska
fa9373cbd3 qt6: use window title as label for GUI session
Fixes #5424
2025-01-17 08:56:22 +01:00
Christian Prochaska
64e0c5413f qt6: add 'i18n' example
Fixes #5421
2025-01-15 08:29:48 +01:00
Christian Prochaska
311c7a8cd0 qt6: add 'SvgWidgets' files
Fixes #5419
2025-01-14 16:54:12 +01:00
Norman Feske
19163e44b4 test-libc_fifo_pipe: adjust cap_quota
The proper accounting of caps consumed for allocation of UTCBs on
base-hw slightly increases the costs per thread.

Issue #5408
2025-01-14 14:46:39 +01:00
Norman Feske
94ece697e1 fixup "core: don't rely on Core_env in platform.cc" (base-hw: account caps for utcb) 2025-01-14 14:39:48 +01:00
Norman Feske
142ddd4d3b libc: remove use of unmanaged_singleton
Issue #5418
2025-01-13 20:58:05 +01:00
Norman Feske
5a2b6ee101 libc: host fd alloc as part of Libc::Kernel
This avoids the need to construct the fd_alloc out of thin air using
unmanaged_singleton.

Issue #5418
2025-01-13 19:56:14 +01:00
Josef Söntgen
4a2aa95099 symbols/libc: add open_memstream function 2025-01-06 16:33:02 +01:00
Norman Feske
4aabe39e36 base: split Pd_account from Pd_session
Core uses an instance of 'Pd_session_component' as a representative
for RAM/cap quota accounts used whenever session resources are
donated to core's services. All other facets of 'Pd_sesson_component'
remain unused. Core's instance of 'Pd_session_component' is hosted
at 'Core_env'. Upon its construction, all unused facets of
'Pd_session_component' are initialized by dummy arguments in 'Core_env'.

To overcome the need for dummy arguments, this patch splits the
accounting part of the PD-session interface into a separate
'Pd_account' interface. This gives us the prospect of narrowing
core's current use of 'Pd_session_component' by 'Pd_account',
alleviating dead code and the need for any dummy arguments.

Issue #5408
2024-12-18 12:41:06 +01:00
Christian Prochaska
dd64164ed6 qt6: split port into modules
Fixes #5402
2024-12-11 12:22:00 +01:00
Stefan Kalkowski
d3002b26ac libusb: warn once and freeze when device vanishs
Instead of repeatedly printing error messages when a device is not
available anymore, print an error once and then sleep forever.
There is no dynamic behaviour with respect to device availability
implemented in the libusb yet. Instead, you can manage libusb
components externally.

Ref genodelabs/genode#5401
2024-12-11 12:20:37 +01:00
Stefan Kalkowski
ebb159d32d usb webcam: turn run-scripts into sculpt tests
Ref genodelabs/genode#5401
2024-12-11 12:20:31 +01:00
Christian Helmuth
cd6701c483 depot: update recipe hashes 2024-12-11 08:35:22 +01:00
Josef Söntgen
96d9f5d317 usb: consider alternate setting in endpoint select
When constructing an Usb::Interface and implicitly corresponding
Usb::Endpoint instances only select endpoints relevant for the
given alternate setting.

The libusb has to be changed to delegate the correct alternate
setting to the constructor too.

Fix genodelabs/genode#5394
2024-12-10 14:12:24 +01:00
Christian Helmuth
f2c25383af acpi_event: prevent misleading warning about PRESS_RELEASE 2024-12-10 14:11:57 +01:00
Stefan Kalkowski
b529b1eac6 qemu-usb: prevent assertion by eager URB processing
Instead of directly process URBs whenever a USBPacket arrives from
the Qemu ported XHCI layer, send a local signal to the I/O handler,
which will process the requests after leaving certain sensible
code pathes like usb_packet_complete. Otherwise, it might happen
that a packet, which was still marked as being queued gets already
completed, which leads to an assertion and hang of the library.

Fix genodelabs/genode#5389
2024-12-10 14:11:57 +01:00
Christian Prochaska
35a679d861 libc: pthread cond/rwlock improvements
- add a check to detect if a different thread has
  initialized the internal object in the meantime
- remove ENOMEM error since the 'Libc::Allocator'
  is not supposed to throw exceptions
- remove init mutex from 'pthread_condattr_init()'
  since there is no implicit initialization which
  could happen in parallel like with mutex/cond/rwlock

Issue #5386
2024-11-26 01:08:19 +01:00
Christian Prochaska
37842757ac libc: synchronize implicit pthread mutex initialization
Fixes #5386
2024-11-26 01:08:15 +01:00
Christian Helmuth
011b44c282 depot: update recipe hashes 2024-11-20 08:58:39 +01:00
Stefan Kalkowski
f886acdcc6 qemu-usb: limit control transfer to 1 sec timeout
Fix genodelabs/genode#5376
2024-11-05 14:39:10 +01:00
Christian Helmuth
0794d99eff depot: update recipe hashes 2024-11-05 13:41:07 +01:00
Christian Helmuth
30f3ef25ad depot: update recipe hashes 2024-10-30 14:02:44 +01:00
Christian Prochaska
e1909da501 qt: apply a label to the QGenodeScreen Gui session
Fixes #5372
2024-10-30 08:14:56 +01:00
Sebastian Sumpf
db02e04d0c libdrm: move Gpu::Vram into separate namespace
Because the implemantations for Lima and Vivante are linked into a
single library we cannot have two Gpu::Vram classes in the same
namespace. In case this happens any methods using the same signature are
weak symbols and the first one found by ld will be used = undefined
behavior.

issue #5356
issue #5369
2024-10-30 08:14:55 +01:00
Christian Prochaska
8985d8200e mesa: add 'u_format_unpack_neon.c'
Issue #5356
2024-10-30 08:14:54 +01:00
Christian Helmuth
679d68d470 nitpicker: rename 'displays' report to 'panorama'
... and enable report in Sculpt's report_fs.

Issue #5352
2024-10-30 08:14:54 +01:00
Christian Helmuth
986bec20a9 usb_webcam: adapt to changes in capture/GUI
Issue #5356
2024-10-30 08:14:54 +01:00
Alexander Boettcher
700b248749 libc: silent warning for sigaltstack
Issue #5305
2024-10-15 14:00:25 +02:00
Christian Prochaska
7cf39188ef libports: update qt6-host download URL
Issue #5325
2024-10-14 15:15:34 +02:00
Johannes Schlatow
3142554343 mesa_gears: adjust RAM quota (required for x260)
genodelabs/genode#5356
2024-10-14 15:04:19 +02:00
Christian Prochaska
56199240ec qt: destroy view to hide window
Fixes #5359
2024-10-14 14:39:44 +02:00
Christian Prochaska
7b23227e7f qt: generate expose event on resize
Fixes #5358
2024-10-14 14:39:44 +02:00
Christian Helmuth
61c9706353 depot: update recipe hashes 2024-10-08 11:30:26 +02:00
Christian Prochaska
57b10b9611 qt: adapt to 'Gui::Connection' interface changes
Issue #5353
2024-10-08 09:09:24 +02:00
Norman Feske
75b04b38f6 Adjust RAM and cap quotas
The recent changes of the GUI stack (proper accounting of cap and RAM
resources by the window manager and nitpicker, output buffered at the
server side) require quota adjustments at various GUI-related places.

Issue #5356
2024-10-08 09:09:24 +02:00
Norman Feske
318d641266 gui_session: provide mode info as XML
In multi-monitor scenarios, the mode is no longer a single rectangular
area but a panorama with potentially many captured rectangles. This
patch replaces the former 'mode' and 'mode_sigh' RPC by a new 'info'
ROM accessor.

Issue #5353
2024-10-08 09:09:24 +02:00
Christian Helmuth
bfce470690 app/usb_webcam: initialize libc environment
Restores debugging with LIBUSB_DEBUG=<level>.
2024-10-08 09:09:24 +02:00
Christian Prochaska
7579fe5749 qt: adapt to 'Gui::Connection' interface changes
Issue #5351
2024-10-08 09:09:24 +02:00
Christian Prochaska
e528ebc374 qt: increase caps in run scripts
Issue #5340
2024-10-08 09:09:24 +02:00