Commit Graph

10491 Commits

Author SHA1 Message Date
Norman Feske
7928597249 doc: remove docs covered by the Genode books
Foster the Genode books as a single point of reference for Genode's
documentation. E.g., the Getting-Started section of the "Genode
Foundations" book has long obsoleted doc/getting_started.txt. This
patch also remove long orphaned texts like gsoc_2012.txt. The approach
described in the porting guide has now been replaced by the Goa SDK.

The Genode books can be downloaded at the genode.org website. Like
Genode, they are open source. All text is licensed as CC-BY-SA and
can be found at https://github.com/nfeske/genode-manual

Fixes #5393
2024-12-10 14:11:57 +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
Benjamin Lamowski
b21c8729ea base: provide core_ram_allocator via platform_add_local_services()
This is a prerequisite to rework the allocation of core data structures
for VM sessions in hw.

Issue #5221
2024-12-10 14:11:57 +01:00
Norman Feske
d5f3cc6ec2 terminal: ignore input without valid GUI mode
This prevents the potential corner case where the terminal receives input
at a time when the window has no valid size and _text_screen_surface is
not constructed.
2024-11-27 13:37:34 +01:00
Stefan Kalkowski
4730312c1e hw: register state and backtrace when core faults
If one of core's threads is causing an MMU fault, dump the
register state and stack backtrace of the faulting stack to
aid debugging.

Fix genodelabs/genode#5387
2024-11-27 13:33:24 +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
Norman Feske
a3193b919c terminal: survive malformed dynamic re-config 2024-11-20 08:58:39 +01:00
Norman Feske
798b49fcc3 vfs server: survive malformed dynamic re-config
The VFS server used to respond to any invalid config by exiting.
By disregarding such configurations instead, this patch makes the VFS
server robust against temporary malconfiguration.
2024-11-20 08:58:39 +01:00
Roman Iten
d095945d6c fs_rom: clear dataspace if lookup failed
Issue #3897
2024-11-20 08:58:39 +01:00
Norman Feske
9e4b27a829 fs_rom: use dataspace bounds for clearing
Avoid potential risk of exceeding the dataspace bounds should the stored
file size be larger than the current ds size.

Issue #3897
2024-11-20 08:58:39 +01:00
Norman Feske
4d7a5b6829 base: add Attached_dataspace::clear()
This alleviates the need (and risk) of manually parametrizing 'memset'
whenever the entire dataspace shall be cleared.

Issue #3897
2024-11-20 08:58:39 +01:00
Norman Feske
14e3339ce6 base-hw: remove outdated comment 2024-11-20 08:58:39 +01:00
Benjamin Lamowski
b05b7f17f3 sculpt_manager: bump editor default quota for large fonts and 4k
When trying to open a file in the Files view with font size set to
Large on 4k screens, the editor's / `text_area`'s `view` child fails to
bump its RAM quota when the editor's default quota is too small.

To mitigate the issue, bump the editor's default quota to 80MiB.
The long-term fix would be for the editor to request more RAM from the
runtime to satisfy the `view` RAM request.

Issue #5356
Issue #5383
2024-11-20 08:58:39 +01:00
Benjamin Lamowski
f6a1956a30 sculpt_manager: bump quota boost limit for runtime_view
When using the Files view with font size set to Large, the boosted
runtime_view limit of 64MiB is still not enough for 4k screens.

Double the RAM boost limit to 128MiB.

Issue #5356
2024-11-20 08:58:39 +01:00
Josef Söntgen
59d951ed6a sculpt_manager: start fb on second CPU on Pocket
With this commit the fb driver is started on the second CPU on the
MNT Pocket Reform to decouple it from the other components started
on the first CPU during the system's boot-up and mitigates bring-up
issues with this driver that result in an often non-working display.

Issue #5378.
2024-11-20 08:58:39 +01:00
Josef Söntgen
fe008e0884 sculpt_manager: allow decoupling fb from first cpu
This commit allows for expressing the intent to start the fb driver
on a different CPU.

Issue #5378.
2024-11-20 08:58:39 +01:00
Josef Söntgen
f72fdf77ed sculpt_manager: set affinity for child
With this commit it is possible to specify the affinity for components
directly managed by Sculpt, like drivers.
2024-11-20 08:58:39 +01:00
Josef Söntgen
0f70cbd704 sculpt_manager: query affinity-space immediately 2024-11-20 08:58:39 +01:00
Norman Feske
0eefe2d872 gems/vfs_font: improve glyph bb sanity check
Issue #5374
2024-11-20 08:58:39 +01:00
Norman Feske
052dd903a4 base-hw: rm C++ exception from syscall dispatcher
This patch removes the only residual C++ exception from the kernel part
of core, eliminating the risk of the kernel thread trying to enter the
kernel itself via the C++ exception-handling path. When throwing an
exception, __cxa_allocate_exception invokes the cxx_heap, which
synchronizes accesses via a Genode::Mutex. In the contention case,
the blocking of the mutex issues a syscall to pause the caller.
The patch fixes the problem by replacing the exception with a return
value.

Fixes #5382
Issue #5245
2024-11-20 08:58:39 +01:00
Stefan Kalkowski
591aadea54 lx_emul: take usb device lock before resetting it
Fix genodelabs/genode#5381
2024-11-20 08:58:39 +01:00
Alexander Boettcher
28542e66ab nova: support resume on AVX CPUs
Issue #5314
2024-11-20 08:58:39 +01:00
Stefan Kalkowski
ed2d9fef47 hw: do not flush core/kernel's page-tables
Fix genodelabs/genode#5380
2024-11-20 08:58:39 +01:00
Stefan Kalkowski
7dbc9129db hw: detach UTCB from core PD in thread destruction
Ref genodelabs/genode#5380
2024-11-20 08:58:39 +01:00
Stefan Kalkowski
9a7fe5e775 hw: implement Core_region_map::detach
Ref genodelabs/genode#5380
2024-11-20 08:56:48 +01:00
Josef Söntgen
79ab0cf98e ports: remove sub-init from vbox6 pkgs
Using a sub-init is no longer necessary and simplifies the runtime
configuration.
2024-11-20 08:56:48 +01:00
Josef Söntgen
1f225b4b6f gpu/intel: use fixed aperture size for GPU service
This commit adapts the aperture splitting between the GPU multiplexer
and the display driver where the former now always tries to reserve
32 MiB of aperture space for itself instead of limiting the space
for the display driver. In case the aperture is not large enough
the display driver takes precedence and the GPU service has to make
do with remaining space. In the worst case that renders the GPU
service unusable.

Issue #5377.
2024-11-20 08:55:49 +01:00
Christian Helmuth
d104ca0561 intel/display: adapt README to current implementation 2024-11-20 08:55:49 +01:00
Alexander Boettcher
728ea95857 intel/display: improve mirror/discrete reporting
Don't try to decide based on the hardware state, in which mode a
connector is used. If a previous configuration failed, e.g. -ENOSPC,
the detection whether the mirrored framebuffer is in use may fail
and the connectors are reported wrongly as discrete.

During modeset traversal take the appropriate lock to synchronize irq and
user task, which may be de-scheduled by Linux code when invoking contrib
code.

Issue #5377
2024-11-20 08:55:49 +01:00
Alexander Boettcher
188080e15f intel/display: add i915_gem_evict_for_node
When the aperture is close to full or such fragmented, this unimplemented
function may be invoked.

Fixes #5377
2024-11-08 16:45:51 +01:00
Alexander Boettcher
6f5bcd4446 intel/display: check for mappable framebuffer
The driver code may allocate framebuffers which do not fit in the aperture.
Trying to use such framebuffer may lead to only partial visible content
on the screen and the rest either black or garbage.

Instead check for this circumstance and deny to use such framebuffers and
release them, since the user would get an unusable/hard to interpret state.
Additionally, release the vma mappings earlier in order to reduce the likelihood
of such un-mappable framebuffers.

Issue #5377
2024-11-08 16:45:48 +01:00
Josef Söntgen
7fe7ca1968 driver/wifi: provide best practices in README 2024-11-08 16:11:03 +01:00
Norman Feske
dffa32a72c menu_view: don't skip frames after idle
When updating a dialog after a prolonged idle time with no active
animatons, the next _handle_gui_sync would wrongly fast-forward
animations for all the frames passed since the last _handle_gui_sync. On
the PinePhone, this effect is clearly visible when switching between the
main section. The GUI jumps from one state to another instead of
transitioning. This patch solves the issue be resetting '_previous_sync'
when waking up from idle.

Related to issue #5347
2024-11-07 16:11:10 +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
Norman Feske
fdd2b4edb0 sculpt: restart depot_rom on use/unuse
Large deployments (e.g., using the Falkon browser) can significantly
inflate the RAM quota of depot_rom. When switching the Sculpt storage
target (using the "Use" buttons), depot_rom is restarted. Right now,
however, it retains its (inflated) quota. It is better to reset the
quota to its initial value to free up RAM that thereby becomes usable
for a different deployment. Otherwise, the depot_rom's resources can be
deflated only by rebooting.
2024-11-05 12:03:17 +01:00
Norman Feske
8d50d320e2 nitpicker: drop superfluous abs motion events
This patch fixes focus-follows-mouse problem reported for Sculpt 24.10
when using no (operational) backdrop.

In the absence of a background, nitpicker wrongly delivered absolute
motion events to the most recently hovered client even after leaving the
client's area to a area occupied by no client. These motion events, in
turn, confused the internal consistency of the window managers
enter/leave tracking.

Fixes #5375
2024-11-05 12:03:17 +01:00
Norman Feske
ec1316e1cb gems/vfs_font: sanity-check glyph against font bb
When using the fonts_fs, the geometry of individual glyphs can change
potentially at any time, after having obtained font-global constraints
once. In particular, a glyph can exceed the bounding box of the font
cell. The VFS font utility must take safety precautions against such
violations.

Fixes #5374
2024-11-05 12:03:17 +01:00
Christian Helmuth
30f3ef25ad depot: update recipe hashes 2024-10-30 14:02:44 +01:00
Alexander Boettcher
e9fb2d89fb sculpt: use 96M for display aperture to support 4k
Swapping a 4k monitor between discrete and mirror mode will consume
temporarily at least 32M * 2 (3840 * 2160 * 4 Bytes), so that the
default value of 64M for the aperture is insufficient in addition to
interal display on a notebook. The commit mitigates that the
i915_gem_evict_for_node unimplemented error does not trigger immediately.

Issue #5356
2024-10-30 13:43:19 +01:00
Norman Feske
7f1a6e55f3 sculpt: update README for version 24.10
Issue #5356
2024-10-30 13:43:19 +01:00
Stefan Kalkowski
cf84787c09 sculpt_image: add MNT Pocket as target board
Issue genodelabs/genode#5360.
2024-10-30 08:14:56 +01:00
Norman Feske
324245d029 sculpt: restrict un-merging of fb connectors
In setups with 3 or more displays, allow the un-merging of connectors
only for the last mirrored connector. Otherwise, the operation would
implicitely change the order of connectors because the new discrete
connector needs appear after all merged connectors.

Issue #5286
2024-10-30 08:14:56 +01:00
Josef Söntgen
2d3170124d phone_manager: ignore AP list hovered temporarily
The access-point-list hovered state prevents preseting the available
scan results, which currently can happen unintentionally. This commit
hot-wires the hover handling and thus will always show and update the
list.  New scan results are received every few seconds and it could
happen that the list changes while the user selects a network (that's
what the original implementation guards against).

Issue #5369.
2024-10-30 08:14:56 +01:00
Norman Feske
aafd03ee74 nitpicker: validate pointer pos after reconfig
Since the panorama depends on the config, nitpicker needs to re-evaluate
the validity of the pointer position after each reconfiguration. If the
pointer position is no longer visible, pick a new visible one.

Issue #5352
2024-10-30 08:14:56 +01:00
Norman Feske
baedd79f62 sculpt_manager: fb unplug, sanitize conn. model
This patch explicitly handles the unplugging of displays, avoiding the
use of stale connectors for defining the panorama. It also makes the
import of the connectors model robust against intermediate states
reported by the driver (a connector reported as connector but without
any mode), and discards the use of any information of non-present
connectors as merge info.

Issue #5286
2024-10-30 08:14:56 +01:00
Christian Prochaska
e1909da501 qt: apply a label to the QGenodeScreen Gui session
Fixes #5372
2024-10-30 08:14:56 +01:00