Commit Graph

264 Commits

Author SHA1 Message Date
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
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
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
f119d9ee8b base: use [build_artifacts] in run scripts
The patch also removes a few legacies along the way, unifies the coding
style, and cuts back superfluous comments.

Issue #4860
2023-05-30 12:03:26 +02:00
aa44ada2d4 okl4: fix hanging tests when built with gcc 12
Fixes #4838
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
805fae5bab Update README files
This patch removes outdated information and improves the language of
various README files.
2023-03-13 14:32:53 +01:00
c99fb2b69b core: replace use of Avl_string by Dictionary
Issue #4780
2023-03-13 14:32:53 +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
6d25ffc70b Remove base/lock_guard.h
For Genode API users, the 'Mutex::Guard' is the way to go.
Special lock implementations can bring their own 'Guard' utilities.

Fixes #4769
2023-02-27 08:22:49 +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
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
5e4e634625 libs: use select_from_ports in eager assignments
If `select_from_ports` is evaluated lazily, we might miss a port during
the dependency check. A way to prevent this is to use the `:=` operator.

Fixes genodelabs/genode#4618
2022-11-17 08:00:34 +01:00
847266d027 depot: update recipe hashes 2022-10-12 14:31:50 +02:00
3f1870841c depot: update recipe hashes 2022-09-21 12:19:10 +02:00
dd9e12601e Remove pseudo targets for building shared libs
Thanks to the change "build: support library builds via lib/<libname>",
shared libraries can now be built directly by the build system.

Issue #4599
2022-09-19 14:00:32 +02:00
4dddc41b71 depot: update recipe hashes 2022-08-31 09:32:09 +02:00
44e2cd14a0 depot: update recipe hashes 2022-08-17 12:03:26 +02:00
3105fa9e0f depot: update recipe hashes 2022-05-25 12:23:04 +02:00
8ece236635 depot: update recipe hashes 2022-04-13 11:54:46 +02:00
2b3370c8d8 depot: update recipe hashes 2022-02-28 11:46:35 +01:00
b39c124628 base-okl4: remove non-critical error message 2022-02-28 11:45:18 +01:00
649647538b depot: update recipe hashes 2022-02-15 10:23:59 +01:00
50c2b0066f Remove 'Env::reinit' and 'Env::reinit_main_thread'
Fixes #4404
2022-02-15 10:17:28 +01:00
65284b29f8 depot: update recipe hashes 2022-01-19 12:38:13 +01:00
5611fd2355 depot: update recipe hashes 2021-12-17 15:06:38 +01:00
d370f56a77 Remove obsolete Trace::Session::subject_info RPC
Issue #3610
Fixes #4349
2021-12-17 15:04:49 +01:00
03047009b1 base: avoid implicit conversions
This patch is a prerequisite for compiling the code with
the warnings -Wconversion enabled.

Issue #23
2021-12-17 15:04:44 +01:00
92b7be4d11 depot: update recipe hashes 2021-11-30 12:08:54 +01:00
dc39a8db62 base: introduce Allocator::try_alloc
This patch changes the 'Allocator' interface to the use of 'Attempt'
return values instead of using exceptions for propagating errors.

To largely uphold compatibility with components using the original
exception-based interface - in particluar use cases where an 'Allocator'
is passed to the 'new' operator - the traditional 'alloc' is still
supported. But it existes merely as a wrapper around the new
'try_alloc'.

Issue #4324
2021-11-29 15:11:52 +01:00
abc9a2f232 depot: update recipe hashes 2021-10-14 13:46:25 +02:00
83c5648d33 depot: update recipe hashes 2021-08-30 15:00:39 +02:00
7618c9410a depot: update recipe hashes 2021-08-18 15:06:12 +02:00
fce525f122 depot: update recipe hashes 2021-07-28 11:27:05 +02:00
ece33d37f8 depot: update recipe hashes 2021-06-25 11:46:37 +02:00