Commit Graph

311 Commits

Author SHA1 Message Date
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
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
9166a75f2c foc: map uncached normal memory bufferable
Mapping normal memory bufferable restores support for unaligned reads on
DMA memory and prevents the following errors on imx6q_sabrelite.

  KERNEL0: alignment error at 18003061 (PC: 0102e3f8, SP: 401ffb18, FSR: 90000001, PSR: 20000110)

Issue #4094
Issue #4157
2021-05-28 14:15:27 +02:00
18a43c1afd base-foc: fix assignment in 'Ipc_pager::acknowledge_exception()'
Issue #4094
2021-05-28 14:15:26 +02:00
777923f9bd depot: update recipe hashes 2021-05-10 11:18:12 +02:00
c7b2314d23 foc: fix errors with gcc 10 and binutils 2.36
Fixes #4118
2021-05-10 11:16:24 +02:00
516a9a6925 depot: update recipe hashes 2021-05-05 11:35:31 +02:00
efbed6f7bf depot: update recipe hashes 2021-04-20 12:10:58 +02:00
dc89ebf978 core: kernel-agnostic 'Mapping' type
This patch unifies the core-internal 'Mapping' type across all base
platforms.

As one minor downside on seL4, the diagnostic error messages when
observing faults other than page faults no longer print the faulting
thread and PD names.

Issue #2243
2021-04-20 12:10:57 +02:00
468e7a825c base/cache.h: rename Cache_attribute to Cache
The short name is better because the type will become prominently
visible at the API.

Issue #2243
2021-04-20 12:10:31 +02:00
5c5b56d1e0 depot: update recipe hashes 2021-03-12 12:08:24 +01:00
aa0a98bd43 base-foc/hw: avoid use of placement new operator
Fixes #2106
2021-03-12 12:01:38 +01:00
0afd3db894 depot: update recipe hashes 2021-02-25 11:24:23 +01:00
f68e655312 mk: link core to library archive instead of .o file
Do not link base and core libraries into on large relocatable .o file,
which is linked later to core - causing long link times. Create an
independent library archive out of the base and core libraries that can
be linked faster.

issue #4027
2021-02-23 12:17:04 +01:00
64165d829e depot: update recipe hashes 2021-02-23 12:07:18 +01:00
219809ffed base: refactor VM/vCPU API
Issue #3554
2021-02-23 12:07:18 +01:00
a981fb864c depot: update recipe hashes 2021-01-25 14:00:43 +01:00
bdd923406f base: remove SPEC variables of boards (fix #3971)
* Remove SPEC declarations from mk/spec
* Remove all board-specific REQUIRE declaratiions left
* Replace [have_spec <board>] run-script declarations with have_board where necessary
* Remove addition of BOARD variable to SPECS in toplevel Makefile
* Move board-specific directories in base-hw out of specs
2021-01-25 13:58:09 +01:00
6cfaac182a Remove Cpu_session::Native_cpu definition from API
This type can be a forward declaration in the public API because its
definition is required only in kernel-specific code.

Related to #3979
2021-01-25 13:58:09 +01:00
1bef11accf depot: update recipe hashes 2020-12-18 09:10:52 +01:00
c5de2acf57 vm_session(x86): support cstar register
Fixes #3964
2020-12-09 14:02:12 +01:00
6930372d55 base-foc: remove stale README content 2020-12-09 14:02:11 +01:00
70ff3d9c90 base-foc: coding style
- Cosmetic adjustments according to
  https://genode.org/documentation/developer-resources/coding_style

- Replace manual inclusion of kernel headers by one new compound
  header foc/syscall.h

- Rename namespace Fiasco to Foc
2020-12-09 14:01:42 +01:00
0209a2465d base-foc: update cap_integrity.run 2020-11-28 19:37:15 +01:00
f2e0c164c2 depot: update recipe hashes 2020-11-27 09:21:06 +01:00
774b1f4277 base: remove Thread_deprecated
Fixes #3954
2020-11-27 09:19:08 +01:00
40445d7011 base: extend vm_session API with native vcpu cap
To enable the interaction of a VMM with the kernel directly,
a hidden RPC gets introduced. It allows a kernel-specific
base-library implementation of the Vm_session::Client to request
a kernel-specific capability to address a VCPU, e.g., to
run/stop it.

Ref #3926
2020-11-23 12:02:58 +01:00
5be1c793a5 depot: update recipe hashes 2020-10-23 14:16:38 +02:00
20606bc6de foc: save/restore fpu state in vm_session
Issue #3913
2020-10-13 14:42:03 +02:00
91f8281618 depot: update recipe hashes 2020-10-09 13:35:57 +02:00
3cf3344fa3 sel4 + foc: extend port's tool check rules 2020-10-09 13:35:56 +02:00
90bea1499e core: store new affinity on successful migration
Adjust the base-* platforms to acknowledge new thread location solely if
migration is supported and succeeded. Otherwise the wrong thread
locations are observed via the trace session and utilization time calculation
get wrong.

Issue #3842
2020-10-09 13:33:36 +02:00
c59c266afc depot: update recipe hashes 2020-09-17 14:23:14 +02:00
c649307720 depot: update recipe hashes 2020-08-28 08:29:12 +02:00
7d0cb9620b depot: update recipe hashes 2020-08-25 11:50:41 +02:00
de795b1a6e depot: update recipe hashes 2020-07-13 11:33:53 +02:00
997a77b3de foc: use Mutex
Issue #3809
2020-07-13 11:33:12 +02:00
6fa4307005 foc: keep core internal pager state separately
beforehand the Lock object and more was accessible
via FOC native cpu thread RPC

Fixes #3809
2020-07-13 11:33:12 +02:00
f3efbe50bb base: remove deprecated cancel_blocking() support
for threads.

Fixes #3806
2020-07-13 11:33:12 +02:00
4450b37ff5 depot: update recipe hashes 2020-06-29 14:25:28 +02:00
eb3a81a874 depot: update recipe hashes 2020-06-22 09:39:41 +02:00
6006051fb9 depot: update recipe hashes 2020-05-27 11:56:47 +02:00
0f27d139bd depot: update recipe hashes 2020-05-18 10:16:59 +02:00
9d67f9fc8e Remove Allocator_guard
This patch removes old 'Allocator_guard' utility and replaces its use
with the modern 'Constrained_ram_allocator'.

The adjustment of core in this respect has the side effect of a more
accurate capability accounting in core's CPU, TRACE, and RM services.
In particular, the dataspace capabilities needed for core-internal
allocations via the 'Sliced_heap' are accounted to the client now.
The same goes for nitpicker and nic_dump as other former users of the
allocator guard. Hence, the patch also touches code at the client and
server sides related to these services.

The only remaining user of the 'Allocator_guard' is the Intel GPU
driver. As the adaptation of this component would be too invasive
without testing, this patch leaves this component unchanged by keeping a
copy of the 'allocator_guard.h' locally at the component.

Fixes #3750
2020-05-18 10:16:12 +02:00
dd899fde29 depot: update recipe hashes 2020-04-24 14:37:57 +02:00
b134867f31 Remove Rpc_entrypoint::Native_context
This patch largely reverts the commit "base: lay groundwork for
base-linux caps change" because the use of 'epoll' instead of 'select'
alleviated the need to allocate large FD sets, which motivated the
introduction of the 'Native_context' hook.

Related to issue #3581
2020-04-21 16:50:37 +02:00