Commit Graph

2792 Commits

Author SHA1 Message Date
Michael Mueller
0dbbca2af4 hoitaja: Use global affinity space for filtering affinities. 2024-03-11 14:31:54 +01:00
Michael Mueller
b38f6ee39a hoitaja: Create habitat on startup. 2024-03-11 14:30:52 +01:00
Michael Mueller
cafee5c615 hoitaja: Print affinity of newly created cell to log. 2024-03-11 14:30:09 +01:00
Michael Mueller
79bdea2977 hoitaja: Upon starting a new child component, create a cell for it at the hypervisor. 2024-01-30 18:08:17 +01:00
Michael Mueller
a2a03fafd2 Hoitaja: Update core allocation range in kernel when affinity is changed due to growing or shrinking a cell. 2024-01-18 18:55:35 +01:00
Michael Mueller
d1e7654652 Hoitaja: A Hoitaja cell now creates a kernel object for the cell. This way the core affinity of a cell, that was calculated by Hoitaja, is communicated to the kernel's core allocator. 2024-01-18 18:54:37 +01:00
Michael Mueller
539bb07995 Made TASKING service, Suoritin, a member of the Habitat rather than Hoitaja. This way the habitat has direct access to the Suoritin sessions without sending pointers around. Also added new entrypoint for Hoitaja's timer. 2023-10-13 19:01:45 +02:00
Michael Mueller
80bde5fd90 Updated session interface and fixed off-by-one bug in interface allocator. 2023-10-13 18:59:29 +02:00
Michael Mueller
02de7a4e56 Suoritin: Redefined TASKING session interface. 2023-10-13 18:58:49 +02:00
Michael Mueller
ec52fd1e8b Suoritin: Added file description to component.h. 2023-10-10 17:37:58 +02:00
Michael Mueller
7a127d5402 Moved code into a header file. 2023-10-10 16:39:59 +02:00
Michael Mueller
22b814489c Removed source file from Hoitaja's Makefile due to refactoring. 2023-10-10 16:38:33 +02:00
Michael Mueller
1bcc85e556 Announce Suoritin as one of Hoitaja's services. 2023-10-10 16:37:41 +02:00
Michael Mueller
e614c0fb33 Implemented session and root component for Suoritin 2023-10-10 16:36:14 +02:00
Michael Mueller
0b5b89a469 Made Suoritin tasking service more verbatim for debugging. 2023-10-10 16:35:02 +02:00
Michael Mueller
d1ee1e82a4 top: Changed CPU configuration to work with topology used by blinktree. 2023-08-07 18:14:40 +02:00
Michael Mueller
667e272a8a hoitaja: Added Suoritin as service to Hoitaja. 2023-08-07 18:13:34 +02:00
Michael Mueller
e4f43c1edd hoitaja: Added new CPU interface providing abstraction for task-parallelism. 2023-08-07 18:09:58 +02:00
Michael Mueller
278fbb2281 hoitaja: Added state_handler callback for notifying hoitaja about a cells construction or termination. 2023-08-07 18:07:49 +02:00
Michael Mueller
025a7ce667 hoitaja: Dummy classes for functions to be implemented later. 2023-08-07 18:06:26 +02:00
Michael Mueller
fd216a5613 hoitaja: Implemented core (re-)allocation upon Cell construction/destruction. 2023-08-07 18:05:14 +02:00
Michael Mueller
01cf697875 hoitaja: First version of static core allocator. 2023-08-07 18:03:45 +02:00
Michael Mueller
d603ea90c0 hoitaja: Added class representing Cells. 2023-08-07 18:03:11 +02:00
Michael Mueller
6f3449f568 hoitaja: Fixed include error in cell_controller.h. 2023-08-07 18:02:07 +02:00
Michael Mueller
2dd211a1b3 Updated hash for shim. 2023-08-07 18:00:09 +02:00
Michael Mueller
550c376e40 sandbox: Refactored sandbox library to make it extensible via inheritance. 2023-08-07 17:56:28 +02:00
Michael Mueller
2c5ebb131c Makefile for Hoitaja. 2023-06-13 18:52:04 +02:00
Michael Mueller
a72727fd45 Defined method prototypes for the internal interfaces of Hoitaja. 2023-06-13 18:51:25 +02:00
Michael Mueller
c1b8001cb9 Small test app for new resource allocation interface. 2023-06-13 18:44:59 +02:00
Michael Mueller
5c13d93050 Refactored sandbox implementation to make its functionality available to alternative implementations of Init, e.g. Hoitaja. 2023-06-13 18:44:04 +02:00
Michael Mueller
f38762f9f0 Merge branch 'master' of github.com:mmueller41/genode 2022-10-14 14:31:37 +02:00
Christian Helmuth
9079a083d2 depot: update recipe hashes 2022-10-13 12:35:27 +02:00
Martin Stein
e052dc282b Revert "nic_router: incremental L4 checksum updates"
This reverts commit 9a37ccfe29 except for the
new declarations in public headers (in order to not change any APIs again).

We revert the commit as we found that there are corner cases in which it
produces a bad UDP checksum. The bad UDP checksum was observed via Wireshark at
a TFTP server in a Sculpt 22.10 Debian 11 VM on the first request of fetching a
file with the TFTP client of the uboot on our iMX8 test board.

Ref #4636
2022-10-13 12:35:27 +02:00
Christian Helmuth
847266d027 depot: update recipe hashes 2022-10-12 14:31:50 +02:00
Josef Söntgen
a420670217 pci_decode: disable MSI on HDAUDIO cards
According to OpenBSD's azalia driver some AMD HDAudio devices do not
play nice with MSIs although the capability is set. At least the
0x1457 device was tested and worked using GSIs only.

genodelabs/genode#4578
2022-10-12 12:09:37 +02:00
Stefan Kalkowski
bc1e231775 platform_drv: implement PCI powering and reset
Ref genodelabs/genode#4578
2022-10-12 12:09:37 +02:00
Alexander Boettcher
3e8ffe179b pci_decode: check sys_rom on boot
If the ROM is already available, no signal will wakeup the pci_decode app on
sigh registration.

 genodelabs/genode#4578
2022-10-12 12:09:37 +02:00
Martin Stein
c83f307b62 nic_router: consider DHCP client optimization
Some DHCP clients (Debian VM in Sculpt) persistently store the last lease they
obtained and try to directly DHCP REQUEST it on a new startup whithout doing
DHCP DISCOVER beforehand. In case the NIC router doesn't know about the lease
anymore (timeout, new router instance), the router used to just ignore the DHCP
REQUEST. This led to significant delays in the network startup of the client
(delayed retries until give-up and DHCP DISCOVER). With this commit, the router
answers such packets with a DHCP NAK instead, causing the client to directly
switch to DHCP DISCOVER.

Fixes #4634
2022-10-12 12:09:37 +02:00
Sebastian Sumpf
7f0c89f378 pci_decode: enable all bridges
set I/O port, MMIO, and bus master to enabled for bridges where
disabled.

issue #4578
2022-10-12 12:09:37 +02:00
Christian Helmuth
e7ba0b7371 pci: initialize BAR config on demand only
On-demand initialization prevents read-write operations on BARs of
invalid devices at construction time, which may result in surprising
behavior later on, for example, when resetting X260 notebooks via ACPI
information.
2022-10-12 12:09:37 +02:00
Stefan Kalkowski
ba97415ef9 pci_decode: prefer MSI over MSI-x
Ref genodelabs/genode#4578
2022-10-12 12:09:36 +02:00
Norman Feske
eb6a745a18 platform: add Guard utils for Clock/Reset/Power
These utilities simplify the control of clocks, resets, and power
domains from within the platform driver.

This is needed when driving a low-level device directly from the
platform driver, for example for driving the mbox mechanism to access
the system-control processor of the PinePhone.
2022-10-12 12:09:36 +02:00
Stefan Kalkowski
3841ee1d51 platform_drv: implement MSI-x support
Ref genodelabs/genode#4578
2022-10-12 12:09:36 +02:00
Josef Söntgen
a78a7e1f67 platform_drv: disable no snoop for ATI/AMD HDA
Implemented as depicted in the OpenBSD driver, register description
found in 'AMD SB700/710/750 Register Reference Guide'
(43009_sb7xx_rrg_pub_1.00.pdf).

Issue #4629.
2022-10-12 12:09:36 +02:00
Stefan Kalkowski
243c819257 pci_decode: use MSI enumerator as function value
Instead of using a global value to enumerate the MSIs, use a function argument
instead. Whenever the process of PCI device reporting gets started again,
due to an initially too small report buffer, the MSI enumeration value is reset
again. Formerly, we wasted MSI numbers.

Ref genodelabs/genode#4628
2022-10-12 12:09:35 +02:00
Christian Helmuth
08f1f94fcb pci_decode: IRQ reporting for MSI/MSI-X only devices
Don't skip IRQ reporting if legacy IRQ/GSIs are not supported as the
device may support MSI/MSI-X exclusively.

The commit also enables reserved_memory reporting of devices without
IRQs.

Ref genodelabs/genode#4578
2022-10-12 12:09:35 +02:00
Sebastian Sumpf
8855e5bfc9 Revert "usb_block_drv: allow for using UAS devices via BOT"
This reverts commit 87021d9fb1.

Commit breaks some USB storage devices, mostly Intenso, on Sculpt

issue #4494
2022-10-12 12:09:35 +02:00
Stefan Kalkowski
2ccdbf1050 platform_drv: implement shared interrupt support
Ref genodelabs/genode#4578
2022-10-12 12:09:35 +02:00
Stefan Kalkowski
00c9ac363f platform_drv: add EHCI PCI quirk, apply in order
* Add EHCI PCI quirk
* Add UHCI reset to UHCI quirk
* Apply all PCI quirks in order of the PCI bus numbering
  otherwise the machine might stall

Ref genodelabs/genode#4578
2022-10-12 12:09:35 +02:00
Christian Helmuth
b20cabb6e4 pci: fix PCIe extended capability definition
Also removed the warning about unhandled capability IDs.

Ref genodelabs/genode#4578
2022-10-12 12:09:34 +02:00