Commit Graph

12049 Commits

Author SHA1 Message Date
Norman Feske
937ddd012b sculpt: refresh update window when network is up
This way, the update-index button becomes immediately visible once we
have connectivity.

Issue #4820
2023-04-27 15:07:45 +02:00
Norman Feske
280fc45c5f sculpt: sanitize depot-user selection
Should the selected depot user not be present in the depot - for example
after switching the sculpt partition to another - unfold the selection
of all present depot users so that the one can pick an existing one.

Issue #4820
2023-04-27 14:58:04 +02:00
Christian Helmuth
091db48843 vfs_block: warn only once if sync is not supported
Issue #4825
Issue #4820
2023-04-27 14:24:29 +02:00
Norman Feske
6717494c5b sculpt: avoid installation-complete feedback loop
Issue #4820
2023-04-27 14:07:58 +02:00
Norman Feske
6d91b5d51b sculpt: show system dialog only after prepare step 2023-04-27 12:36:43 +02:00
Sebastian Sumpf
8f0a191c2a gpu/intel: comment for read execlist status
Adds a comment to the exec list status loop.

issue #4820
2023-04-26 16:23:13 +02:00
Alexander Boettcher
bdbfa532cd platform/x86: improve DMA memory alignment
If the DMA memory allocation alignment is unfortunate (not natural size
aligned), the IOMMU (AMD/INTEL) may not use larger(super) pages with effects
on the page table walk frequency and TLB caching.

Issue #4820
2023-04-26 16:22:16 +02:00
Alexander Boettcher
98a31bbfdb platform/x86: exclude special range from device_pd
Issue #4820
2023-04-26 16:12:52 +02:00
Christian Helmuth
7deee978c5 driver_manager: disable USB driver BIOS handoff
We repeatedly experience issues with XHCI handoff in the USB host driver
at runtime on modern systems. Mostly, these issues manifest as
initialization delays with very high CPU load. Investigations show that
during this time the handoff MMIO write does not return, which hints the
firmware driver enters some spinning loop. I suspect the enabled IOMMU
does not play well with the firmware due to insufficient RMRR
information.

Therefore, we disable USB handoff in Sculpt via the driver manager (as
we do for dedicated devices already in other contexts). Note, UHCI and
EHCI handoff is still done in the platform driver and succeeds on all
our test hardware.

Issue #4820
2023-04-26 15:57:20 +02:00
Alexander Boettcher
d68f5446b1 acpica: remove irq dependency in package
Issue #4679
Issue #4820
2023-04-26 15:55:20 +02:00
Christian Helmuth
d8ff3f655a depot: update recipe hashes 2023-04-26 15:19:57 +02:00
Norman Feske
4edd45dd8f depot: split pkg/goa-linux from pkg/goa
This split allows us to cross-compile all arm_v8a packages needed for
'goa build' by creating pkg/arm_v8a/goa.

The components featured on pkg/goa-linux are solely needed for 'goa
run'. As they contain a number of lx/hybrid components, pkg/goa-linux
must be complied on Linux running on the target architecture.
2023-04-26 15:19:57 +02:00
Christian Helmuth
ddc3b88cd2 depot: update pkg/goa recipe hash
This package depends on genode/world/recipes/src/sdl, which had an
outdated hash file.
2023-04-26 13:56:23 +02:00
Christian Helmuth
e9a497abe4 depot: update recipe hashes 2023-04-26 11:58:16 +02:00
Norman Feske
83d0214099 sculpt: make hovering build-time configurable
This way, we can disable the visual hovering at one place for the phone
version.
2023-04-26 11:58:16 +02:00
Norman Feske
105b3cd21d sculpt: system update and presets
The new dialog accessible via the "System" panel button hosts the
system-update dialog and the preset selection.

Fixes #4744
2023-04-26 11:58:16 +02:00
Norman Feske
5687dc06fd sculpt/default-pc: example presets 2023-04-26 11:58:16 +02:00
Martin Stein
1dbad87139 cbe: fix propagation of results of unlock attempts
Fixes a regression with the cbe_init_trust_anchor component that prevented
reacting to a failed unlock attempt in the File Vault. The regression was
caused by new semantics in the vfs that did not allow for using the file
operation result as indicator for whether the unlock attempt failed or
succeeded. The correct and hereby applied approach is to check for the data
read from the file after having written the unlock command. The data reads
either "ok" or "failed".
2023-04-26 11:58:15 +02:00
Sebastian Sumpf
bd58bd8279 gpu/intel: read execlist status multiple times (GEN < 12)
Before scheduling we check if the execlist is empty. When many clients
are present, the bits might not be cleared by hardware yet. Before the
watchdog timer would trigger, because we scheduled nothing. Now we try
serval times, even if this fails, we still schedule because in the worst
case only a preemption would happen.

issue #4820
2023-04-26 11:58:15 +02:00
Josef Söntgen
75917f6595 file_vault: use VFS to sync data file
Issue #4820.
2023-04-26 11:58:15 +02:00
Norman Feske
67c1ca1e61 sculpt: increase max fb height to 1504 pixels
This is needed to boot Sculpt OS on the Framework laptop.

Issue #4820
2023-04-26 11:58:15 +02:00
Norman Feske
114a199321 Meta package gems/recipes/pkg/goa 2023-04-26 11:58:15 +02:00
Alexander Boettcher
38f4b15df1 intel_fb: set default brightness of connector
which is unconfigured to 70%

Issue #4820
2023-04-26 11:58:15 +02:00
Timo Nicolai
83f78e7fe6 base: add Xml_node::for_each_attribute
Adds a function that allows iterating over an XML node's attributes
without relying on `Xml_node::Nonexistent_attribute`.

Issue #4817
2023-04-26 11:58:15 +02:00
Christian Helmuth
7e06aa13c1 vbox6: disable GSO in e1000 model
Commit "vbox: avoid uncaught nic Empty_ack_queue exception" introduced a
performance regression due to packet retransmission because of faulty
GSO segment handling. As fixing the GSO handling is fairly complex, we
disable GSO until a fix was developed.

Issue #4820
Issue #4821
2023-04-26 11:58:15 +02:00
Christian Helmuth
8752d8d677 vbox6: critsect in nic via pfnBeginXmit/pfnEndXmit
Issue #4820
Issue #4821
2023-04-26 11:58:15 +02:00
Sebastian Sumpf
5f469589eb recipe: mesa gears increare ram quota
Becaues the Iris DRM allocator now allocates 16MB chunks, more RAM is
needed for smaller 3D applications.

issue #4820
2023-04-26 11:58:15 +02:00
Sebastian Sumpf
c7c9542262 libc: add 'wakeup_remote_peers' to 'with_libc'
Libc components using 'with_libc' should wakeup peers in case a libc function
makes I/O progress.

issue #4820
2023-04-26 11:58:15 +02:00
Norman Feske
8893b800e0 depot_deploy: report only on state changes
This patch mitigates potential busy feedback effects when evaluating the
reports produced by 'depot_deploy' in a closed control loop. Reports
are now generated only if the deployment state has changed.

Issue #4818
2023-04-26 11:58:15 +02:00
Norman Feske
a289eff741 depot_download_manager: remove debug message 2023-04-26 11:58:15 +02:00
Norman Feske
cec8a401ae depot_deploy: check ROMs as deploy precondition
This patch marks a child as incomplete if one of the ROM modules listed
in its blueprint is missing. This, in turn, triggers the update system
in Sculpt, which then tries to download the missing pieces.

Issue #4818
2023-04-26 11:58:15 +02:00
Norman Feske
1c160d2366 sculpt: "Reattempt Install" option in popup dialog
Issue #4818
2023-04-26 11:58:14 +02:00
Norman Feske
bb6a189589 sculpt: show failed downloads in diagnostics
This patch complements the diagnostics view with the failure state
tracked by the download queue.

Issue #4818
2023-04-26 11:58:14 +02:00
Norman Feske
9e42c94e30 sculpt: handle deploy downloads by download queue
By managing downloads issued by the deploy subsystem via the
'Download_queue', failed downloads (e.g., due to HTTP error 404) are
properly tracked and don't cause infinite re-attempts.

Issue #4818
2023-04-26 11:58:14 +02:00
Christian Helmuth
5cb06b5f1c platform_drv: document PCI device naming after BDF
Issue #4812
2023-04-26 11:58:14 +02:00
Norman Feske
c705bdd6a9 depot_download: avoid spurious respawn of fetchurl
Thanks to Timo Nicolai for bringing up this issue along with an initial
patch.

Fixes #4815
2023-04-26 11:58:14 +02:00
Norman Feske
a5eb198549 sandbox/init: report exit state immediately
This patch promotes the event of an exiting child to become immediately
reported, reducing delays for management components that watch the exit
status of children.

Fixes #4814
2023-04-26 11:58:14 +02:00
Norman Feske
aab9227365 pkg/mesa_gpu-cpu: RAM quota adjustments
When deployed on the PinePhone, the cached_fs_rom requests additional
4 MiB of RAM.
2023-04-26 11:58:14 +02:00
Norman Feske
014066f15b sculpt: avoid stretched radio icon in wifi ap list 2023-04-26 11:58:14 +02:00
Norman Feske
54d7a48c9b sculpt: support for pinephone wifi driver
This patch replaces the former 'nic_drv' and 'nic_drv_dtb' functions
by a more general 'nic_driver_routes' function that can return one or
multiple platform-specific ROM routes for NIC-driver binaries and dtb
files. This allows for supplying customizations for the wifi driver
as well. E.g., on the PinePhone, this hook can be used to handle the
renaming of the 'wifi_drv' to 'a64_wifi_drv'.

Related to issue #4813 and issue genodelabs/genode-allwinner#17.
2023-04-26 11:58:14 +02:00
Josef Söntgen
1d376717c1 net/netaddress: make copy member function const
As the function does not alter the internal state of the
object allow for using it in r/o contexts.

Issue #4813
2023-04-26 11:58:14 +02:00
Josef Söntgen
8f91f119b8 wifi: remove firmware library
The library is merely an historical artifact and the raw archive is
better used in its place.

Issue #4813
2023-04-26 11:58:14 +02:00
Josef Söntgen
2b4246c59b lib/symbols/wifi: add symbols file for ABI so
Add symbols file for the wifi shared-object.

Issue #4813
2023-04-26 11:58:14 +02:00
Josef Söntgen
6c36a58bb7 lib/wifi: remove unused symbols from symbol.map
Remove symboles that are no longer required.

Issue #4813
2023-04-26 11:58:14 +02:00
Josef Söntgen
0b28c9ae6f lib/vfs/wifi: remove dependency on wifi library
The wifi VFS plugin is solely there to provide a hook for calling
'Lx_kit::initialize()' prior to the static ctors. As the corresponding
symbol can be resolved at run-time there is no need to add the
library as a build-time dependency.

Issue #4813
2023-04-26 11:58:14 +02:00
Josef Söntgen
e6ee7d3d4a wifi: provide platform specific DTB access
The device-tree binary is normally required on ARM-based platforms
where as on x86 it is omitted. The platform-specific DTB helper
provides a generic interface for accssing the DTB and needs to be
implemented on each platform.

Issue #4813
2023-04-26 11:58:14 +02:00
Josef Söntgen
eaaedb6ae8 wifi: defer supplicant start-up
The SDIO connected wireless device on the PinePhone is not available
on start-up, which leads to the supplicant failing to initalize
'wlan0'. Normally the supplicant would be used in a way that handling
devices that appear at run-time happens gracefully.

Rather than supporting this behavior we defer the start-up of the
supplicant until the device could be openend successfully for now.

Issue #4813
2023-04-26 11:58:14 +02:00
Josef Söntgen
0b08ae09c4 wifi: check 'lx_get_mac_addr' before reporting
The MAC address device report should be published once the device is
available. Since this may happen at a later time we have to check the
call.

Issue #4813
2023-04-26 11:58:14 +02:00
Stefan Kalkowski
8ae5ae76fb wifi: support building for ARM64
This commit introduces support for building the WLAN driver for ARM
platforms. It makes the WPA supplicant and its support libraries
available for all platforms. It also seperates the PCI parts to
accommodate platforms where other bus protocols are used.

Issue #4813
2023-04-26 11:58:14 +02:00
Josef Söntgen
56d366995c wifi/pc: add ath9k driver
The driver was only tested with an "Atheros AR9462 Rev:2" [168c:0034]
device using the 'wifi.run' run script.

Note: for it to work MSI may not be used as otherwise interrupts do not
work. Using an IOMMU leads to the following fault:

[ 0] IOMMU:0xffffffff817eb0b0 FRR:0 FR:0x22 BDF:4:0:0 FI:0xb0000000000000 (0)

Issue #4813
2023-04-26 11:58:14 +02:00