Commit Graph

419 Commits

Author SHA1 Message Date
4b9f4d8c38 depot: update recipe hashes 2024-05-30 08:20:21 +02:00
f79ff59619 sel4: reduce cache_invalidate_data warnings
Warn only once about the missing 'cache_invalidate_data'
implementation to prevent the fec nic driver from spamming the
log.
2024-05-29 09:18:12 +02:00
59b85cc672 depot: update recipe hashes 2024-04-26 09:59:36 +02:00
dc0e78cdf8 depot: update recipe hashes 2024-04-12 15:08:01 +02:00
f3610dc3a8 sel4: prevent stdout/stderr truncation in cmake
Remove the "excellent" idea to re-open /dev/stdout etc. for redirection as
cmake uses open(O_TRUNC) and, thus, truncates log output of outer
redirections.
2024-04-12 15:00:46 +02:00
9c7a303caf depot: update recipe hashes 2024-02-29 11:08:28 +01:00
32e7ec7b9b core: implement 'Vm_session_component::reserve_and_flush()'
Issue #5069
2024-02-28 16:32:23 +01:00
c4679e7af6 depot: update recipe hashes 2023-12-13 12:33:05 +01:00
9a049789de core: mark implicitly detached regions as reserved
Fixes #5069
2023-12-13 12:32:19 +01:00
8baf19022c depot: update recipe hashes 2023-11-30 15:11:36 +01:00
eefaa07024 base: add irq_type session argument
By adding the `irq_type` argument, one can explicitly specify whether to
use LEGACY, MSI or MSI-X interrupts. We formerly used the
`device_phys_config` to implicitly select MSI, however, with the
addition of IOMMU support to the platform driver there is at least one
instance where we need an MSI for a non-PCI device.

Yet, by adding another session argument to the Irq session, we exceed
the character limit for session args. Since not all arguments are
relevant for LEGACY interrupts resp. MSI, we can split the Irq_connection
constructor to handle the two cases separately and omit unneeded
arguments.

genodelabs/genode#5002
2023-11-28 19:35:16 +01:00
b634549722 depot: update recipe hashes 2023-10-25 14:01:40 +02:00
07c4b92335 depot: update recipe hashes 2023-10-04 13:22:08 +02:00
1515a0a51e base-sel4: port to new VMM library API
Ref #4968
2023-10-04 13:22:04 +02:00
134a785fe0 depot: update recipe hashes 2023-08-24 11:01:40 +02:00
7aa301361d depot: update recipe hashes 2023-07-14 12:06:32 +02:00
de99945af0 base: pass 'Platform &' to 'bootstrap_component'
This eliminates the need of component.cc to pull the platform resources
out of thin air (calling 'env_deprecated()').

Issue #4784
2023-07-14 12:06:31 +02:00
7093258649 base: move 'prepare_init_main_thread' to Genode::
Issue #4784
2023-07-14 12:06:31 +02:00
3a8c3dcc2d base: unify platform.cc between base, base-linux
This is a preparatory step for merging 'init_platform()' with
'bootstrap_component()'.

Issue #4784
2023-07-14 12:06:31 +02:00
0ab69a2bb8 base: de-duplicate src/lib/base/platform.cc
By splitting the 'init_capability_slab()' implementation to a separate
compilation unit 'capability_slab.cc', base-hw no longer needs a
customized version of 'lib/base/platform.cc'.

Related to issue #4784
2023-07-14 12:06:31 +02:00
6e30d00eef base: remove env_deprecated from signalling code
Issue #4784
2023-07-14 12:06:31 +02:00
3489672bc0 base: remove env_deprecated from thread-start code
This patch replaces the internal use 'env_deprecated()' from the
implementation of the thread API in the base library. It also
replaces the global accessor 'main_thread_cap' by the explicit
propagation of the main-thread's capability to the single point of
use via a new 'init_thread_bootstap' function.

Issue #4784
2023-07-14 12:01:19 +02:00
79e262921e depot: update recipe hashes 2023-06-16 11:24:26 +02:00
a4c59c03e3 core: rework page-fault resolution
The change "core: allow offset-attached managed dataspaces" addressed a
corner case of the use of nested region maps. Apparently, this change
negatively affects other scenarios (tool_chain_auto).

In order to confidently cover all the differnt situations, this patch
reworks the page-fault resolution code for improved clarity and safety,
by introducing dedicated result types, reducing the use of basic types,
choosing expressive names, and fostering constness.

It also introduces a number of 'print' hooks that greatly ease manual
instrumentation and streamlines the error messages printed by core.
Those messages no longer appear when a user-level page-fault handler
is reistered for the faulted-at region map. So the monitor component
produces less noise on the attempt to dump non-existing memory.

Issue #4917
Fixes #4920
2023-06-16 11:24:26 +02:00
b599f4e106 sel4: stop thread on alignment fault
by not replying to the IPC. Otherwise, endless alignment faults are triggered,
seen on imx6q Sabrelite and usb_hid_raw.
2023-06-16 11:24:26 +02:00
530ec3115f sel4/x86: remove Nehalem kernel config adjustment
since the used Genode Qemu model now supports it.
2023-06-16 11:24:26 +02:00
b349dd9c0a sel4: convert io memory on demand
instead all during boot. On x86 and qemu this takes quite a while until
the system is booted.

Fixes #4913
2023-06-16 11:24:25 +02:00
583f2d6a36 depot: update recipe hashes 2023-05-30 12:13:34 +02:00
d92bd3afee sel4: update to 12.1.0 release
Fixes #4910
2023-05-30 12:13:33 +02:00
7351aa1670 sel4: remove x86_32/pc and imx7-sabre
The imx7 is not supported officially [0] anymore and the 32bit pc version is
not used nor intended to be used.

https://github.com/seL4/seL4/issues/254

Issue #4910
2023-05-30 12:03:34 +02:00
e4ac393de4 sel4: fix build errors with gcc 12
Fixes #4864
2023-05-30 12:03:27 +02:00
36a1428c55 base-sel4: fix build errors with gcc 12
Fixes #4835
2023-05-30 12:03:25 +02:00
e9a497abe4 depot: update recipe hashes 2023-04-26 11:58:16 +02:00
b5f79756b3 depot: update recipe hashes 2023-04-17 14:48:30 +02:00
61926ebc07 base: introduce platform_init function
The new 'init_platform' function performs the platform-specific
component-local low-level initialization. It allows for the
differentiation between core and regular components as well as
kernel-dependent peculiarities.

This patch introduces a consistent notion of a 'Platform'. Within core,
the 'Platform' contains the kernel-specific initialization. Outside
core, the platform sets up the interplay with the parent component. In
all cases, the platform is constructed while running on the initial
stack.

Issue #4784
2023-03-15 17:05:01 +01:00
73771669f1 depot: update recipe hashes 2023-03-13 14:32:54 +01:00
c99fb2b69b core: replace use of Avl_string by Dictionary
Issue #4780
2023-03-13 14:32:53 +01:00
915adcd0dd base: remove internal use of format strings
Issue #2064
2023-03-13 14:32:38 +01:00
2e6dd010ae core: introduce 'Core' namespace
The namespace draws a clear line between the base library and the core
component.

It is declared at the new core-local header <types.h>, which is expected
to be included by all code of the core component. It is thereby a
natural place for kernel-agnostic general types like commonly used C++
utilities.

Fixes #4777
2023-03-13 14:32:37 +01:00
e265cf6d49 depot: update recipe hashes 2023-02-27 08:22:51 +01:00
356506a67a base: remove base/blocking.h
This patch removes the obsolete exception type 'Blocking_canceled'.

Issue #4768
2023-02-27 08:22:49 +01:00
c10904967b core: improve coding-style consistency 2023-02-27 08:22:47 +01:00
c8cf33a251 sel4: flush vm pages on out of index pressure
re-create semantic as done before commit

"core: kernel-agnostic 'Mapping' type"

Issue #4751
2023-02-27 08:22:47 +01:00
d089e80906 sel4: handle non pagefault exceptions
by checking for it in core, submitting a signal (if registered) and not
replying instantly. Before this commit, an exception (a non page fault)
caused and endless "unknown exception" loop between originator and core.

This was handled before commit "core: kernel-agnostic 'Mapping' type" by
throwing an exception, which was with that commit not working anymore.

Fixes #4751
2023-02-27 08:22:47 +01:00
25eac6b9e6 depot: update recipe hashes 2023-01-24 12:07:33 +01:00
83ac80460e depot: update recipe hashes 2022-12-05 16:37:21 +01:00
b033b30f95 depot: update recipe hashes 2022-11-29 12:32:49 +01:00
c58d799f16 depot: update recipe hashes 2022-11-17 08:00:37 +01:00
d8d9f94075 base-sel4: implement clean cache operations
This commit uses the seL4_BenchmarkFlushCaches syscall to partly implement
cache maintaince for this kernel.

Ref genodelabs/genode#4651
2022-11-17 08:00:35 +01:00
847266d027 depot: update recipe hashes 2022-10-12 14:31:50 +02:00