Commit Graph

389 Commits

Author SHA1 Message Date
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
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
649647538b depot: update recipe hashes 2022-02-15 10:23:59 +01:00
33b038e8a7 Consistent spelling of "writeable"
Fixes #4425
2022-02-15 10:23:58 +01:00
50c2b0066f Remove 'Env::reinit' and 'Env::reinit_main_thread'
Fixes #4404
2022-02-15 10:17:28 +01:00
db3a647c6d allocator_avl: use Attempt for size_at
Fixes ambiguous interpretation of returned 0.

genodelabs/genode#4393
2022-02-15 10:16:51 +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
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
231ac187fe base: introduce Ram_allocator::try_alloc
This patch replaces the 'Ram_allocator::alloc' RPC function by a
'try_alloc' function, which reflects errors as 'Attempt' return value
instead of an exception.

Issue #4322
Issue #3612
2021-11-29 15:10:53 +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
688379d1ed sel4: fix segmentation fault with CCACHE=yes
Building the elfloader in kernel-sel4.inc has a problem with Genodes CCACHE
make variable. When issuing ...

! ./tool/depot/create mstein/bin/*/base-sel4-* CCACHE=yes

..., building the elfloader used to consume all memory of the host system and
then run into a segmentation fault:

! make[6]: *** [elfloader/elfloader.o] Segmentation fault (core dumped)

This is because the other build system invokes the CCACHE variable as a command
in front of the compiler command. If CCACHE is set to 'yes', the 'yes' command
is called and produces an endless output into some output file. The problem
can be fixed by locally re-setting the CCACHE variable for the
'make ... elfloader' command to 'ccache' (Genode CCACHE==yes) or '' (Genode
CCACHE!=yes).

Fixes #4212
2021-07-28 11:25:20 +02:00
ece33d37f8 depot: update recipe hashes 2021-06-25 11:46:37 +02:00
e7067050be base: extend cache maintainance functionality
Introduce two new cache maintainance functions:
* cache_clean_invalidate_data
* cache_invalidate_data
used to flush or invalidate data-cache lines.

Both functions are typically empty, accept for the ARM architecture.
The commit provides implementations for the base-hw kernel, and Fiasco.OC.

Fixes #4207
2021-06-25 11:43:41 +02:00
1d52bd017d depot: update recipe hashes 2021-05-28 14:16:46 +02:00
509e5aa776 platform(x86): report features via platform_info
Report via platform_info the capabilities of the kernel, e.g. ACPI and MSI.

With the commit the try-catch pattern on IRQ session creation by the platform
driver is avoided.

Issue #4016
2021-05-28 14:16:44 +02:00
777923f9bd depot: update recipe hashes 2021-05-10 11:18:12 +02:00
516a9a6925 depot: update recipe hashes 2021-05-05 11:35:31 +02:00
07649b667b sel4: fix build errors with gcc 10
Fixes #4121
2021-05-05 11:35:30 +02:00
efbed6f7bf depot: update recipe hashes 2021-04-20 12:10:58 +02:00