Ehmry -
11ff9a1dc5
Add base-hw Tup rules
2020-02-13 12:13:16 +01:00
Ehmry -
da0c9da996
Minor code adjustments for LLVM
2020-02-11 13:47:26 +01:00
Ehmry -
3d68a520cb
Tag release 19.11
...
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEsIWqvdxEKaxX80hspyRgNBfs1rcFAl3fpmAACgkQpyRgNBfs
1rcezQ//ZoYChufO6m2CByuPUbITql12b6oyOjmvcw16NW+Nsf2EodwMeCk/9yyM
kWIxqOtXp1yFPGNf8ebEkTu5YXYMkHrUds4V6nQ4nQnyk7VnQmR3XTnqP8Sr27Hp
fHi7Dddjxufexeyb6bwis04mK4PeFWXk/D6H4nh6ZeaR30g/GQ+Wt4N64a+HcQ1g
kLMKuLlooOoq0L9q8IVLAtQoKNR1LP6x0FKGH8B6elwns8rXna2fRSlCB+W7qLwl
K/pQadaIkwQNj8TEXuQxdGOR1GIrTbUz9ExS6U1yPXjqK06CunDZqsn+Cv5G7p+5
ybMaViXwDGilZjhNLTjAbPhqhoOVu+yDB5gwzKiYt6/gTKP8N+VUpXKhGpzu/0ya
wEt2b/43vmPm1NsBQQFU6vmjyW0W0iOl+a1tetv/qFo4mzQNesbVlu6t91b0EAjp
C0JzZj9UHj/QkKgLIPkWMVWyz+VtODUeFhMLV6+86wzFmqSNhbaL0K/1LvX3AHZR
5M/sjMRdtRL9U7Xv/LTn/Sgisk5wT2wfI9dpkAZALZjm22751mSTv9XhdLC/+XpA
0F7cfSg36DphYsyPmSQ9+Q79rpU+bvuuTbqAsLdYcflMaW4bsIOd4j5Lk3adIPbN
EE0uu+CD1GbqpKy+vLr+2EIlYpVNRTQKLklmkmhb+ZBuvUo00cU=
=4dhl
-----END PGP SIGNATURE-----
Merge tag '19.11'
Tag release 19.11
2019-11-28 13:21:13 +01:00
Stefan Kalkowski
4800bcf5a0
hw: correct the i.MX6 Sabrelite timer settings
...
Fix #3561
2019-11-25 15:43:59 +01:00
Christian Prochaska
57d080d4f8
hw: use correct type on IRQ kernel object destruction
...
Fixes #3560
2019-11-25 14:15:39 +01:00
Stefan Kalkowski
af29dcf557
hw: introduce virtualization support for ARMv8
...
Ref #3553
2019-11-21 14:29:36 +01:00
Stefan Kalkowski
f82714f341
vm_session: return vcpu id when creating vcpu
...
Ref #3553
2019-11-21 14:29:36 +01:00
Stefan Kalkowski
02d68fdb97
hw: move arm virtualization to generic place
...
Ref #3553
2019-11-21 14:29:36 +01:00
Stefan Kalkowski
065b9fdb46
base-hw: extend syscalls to five arguments
...
Ref #3553
2019-11-21 14:29:36 +01:00
Stefan Kalkowski
f6435d91fc
hw: turn Kernel_object into Genode::Constructible
...
Fix #3531
2019-11-19 14:42:23 +01:00
Stefan Kalkowski
87a6368ba1
hw: implement multi-processor support for rpi3
...
Fix #3522
2019-11-19 14:42:22 +01:00
Stefan Kalkowski
1cbd77c806
hw: implement multi-processor support for i.MX8
...
Fix #3520
2019-11-19 14:42:22 +01:00
Stefan Kalkowski
e3f82b09d7
hw: instantiate pic object per cpu
...
Ref #3520
2019-11-19 14:42:22 +01:00
Ehmry -
6e9f9ce3a8
Core includes untangling
...
Express convoluted include walks directly in code, do not hide them
in build scripts.
2019-10-04 00:52:02 +02:00
Ehmry -
a83ffd4821
Multiple inheritance considered harmful
2019-10-04 00:52:02 +02:00
Ehmry -
f42e7f1ff4
Clang: unused lamba capture
2019-10-03 22:06:34 +02:00
Ehmry -
d557624469
Clang: need a GCC diagnostic push for every pop
2019-10-03 22:06:34 +02:00
Ehmry -
4952b37e4c
Core: exit with child exit value
...
Effective for base-linux only.
2019-10-03 21:25:36 +02:00
Sebastian Sumpf
e855638266
hw: add system call for irq mode setting
...
Core is not allowd to access the kernel's Pic implementation directly.
fixes #3474
2019-08-21 13:25:25 +02:00
Stefan Kalkowski
7ced122ddc
hw: support for i.MX8M Quad EVK
...
Fix #3426
2019-08-13 12:02:27 +02:00
Stefan Kalkowski
ee38504d81
hw: implement update_data_region for ARMv8
...
Ref #3426
2019-08-13 12:02:26 +02:00
Sebastian Sumpf
dd505edd19
hw: GICv3 implementation
...
* modern GICv3 implementation
* distributor
* redistributor
* MMIO cpu interface
Ref #3426
2019-08-13 12:02:26 +02:00
Stefan Kalkowski
fa1aa33f83
hw: sanitize arm trustzone/virtualization services
...
Those services are not SoC specific and have to reside at a generic place.
Fix #3445
2019-08-13 12:02:26 +02:00
Stefan Kalkowski
907de9d37f
hw: move timer into board.h
...
Unify the generic timer implementation for ARMv7 and ARMv8.
Ref #3445
2019-08-13 12:02:26 +02:00
Stefan Kalkowski
5c7436bf10
hw: remove SMP variable from board.h
...
Whether an SoC has the multiprocessing extensions can be read out
from the identification registers, and does not need to be specified
in each board header.
Ref #3445
2019-08-13 12:02:26 +02:00
Stefan Kalkowski
875858b2cc
hw: integrate interrupt controllers into board.h
...
Additionally, unify more implementation details in between different
usage patterns of ARM's generic interrupt controller (v2)
Ref #3445
2019-08-13 12:02:26 +02:00
Martin Stein
b87e21a392
base-hw: EFI sys-table pointer in platform info
...
Ref #3430
2019-08-13 12:02:03 +02:00
Stefan Kalkowski
90d07741aa
hw: support for ARM64 Raspberry Pi 3
...
Restriction: enables only cpu core 0 and the timer interrupt by now.
Fix #3405
2019-07-09 08:55:22 +02:00
Stefan Kalkowski
87015df66c
hw: change update_pd to invalidate_tlb
...
In the past, the core-only privileged syscall `update_pd` was used only
to invalidate the TLB after removal of page-table entries.
By now, the whole TLB at least for one protection domain got invalidated,
but in preparation for optimization and upcomingARM v8 support,
it is necessary to deliver the virtual memory region that needs to get
invalidated. Moreover, the name of the call shall represent explicitely
that it is used to invalidate the TLB.
Ref #3405
2019-07-09 08:55:22 +02:00
Sebastian Sumpf
da17f2cbd3
hw: eager FPU switching for x86_64
...
Since gcc 8.3.0 generates SSE instructions into kernel code, the
kernel itself may raise FPU exceptions and/or corrupt user level FPU
contexts thereby. Both things are not feasible, and therefore, lazy FPU
switching becomes a no go for base-hw because we cannot avoid FPU
instructions because of the entanglement of base-hw, base, and the tool
chain (libgcc_eh.a).
issue #3365
2019-05-27 14:53:32 +02:00
Sebastian Sumpf
f18285205c
hw: enable FPU during CPU startup on x86
...
Also disable TS (task switch) flag in cr0 during kernel initialization,
so FPU faults are not raised. This became necessary since GCC lately
aggressively generates FPU instructions at arbitrary places and also at
early kernel-bootstrapping stages.
fixes #3365
2019-05-27 14:52:52 +02:00
Christian Prochaska
4fc3eca4aa
base-hw: fix compile errors with GCC 8.3.0
...
Fixes #3326
2019-05-27 14:46:54 +02:00
Stefan Kalkowski
5c77ebb1fb
hw: factor out x86 specific bootinfo
...
Ref #3326
2019-05-27 14:46:54 +02:00
Stefan Kalkowski
054df95ea4
hw: unify board definitions of bootstrap/core
...
Ref #3326
2019-05-27 14:46:54 +02:00
Stefan Kalkowski
a1e70b9ba4
kernel: differentiate board-specific components
...
Components like kernel, core, and bootstrap that are built for a
specific board need to reside inside the same architectural dependent
build directory. For instance there are sel4, foc, and hw kernel builds
for imx6q_sabrelite and imx7d_sabre, which have to reside inside the same
arm_v7 build directory.
This commit names those components explicitely, and adapts the run-tool to it.
Fix #3316
2019-05-27 14:46:52 +02:00
Stefan Kalkowski
13fb51eecf
hw: remove implicit SoC-specific include path
...
Fix #3336
2019-05-16 13:11:02 +02:00
Stefan Kalkowski
f42c21f16b
platform_info: add kernel information ( fix #3295 )
2019-05-06 16:15:26 +02:00
Alexander Boettcher
05fa063068
vm_session: support to trace vCPU
...
Issue #3111
2019-05-06 16:15:26 +02:00
Alexander Boettcher
393643515c
base: extend attach of vm_session
...
by offset, size, writeable and executable parameter
Issue #3111
2019-05-06 16:15:25 +02:00
Stefan Kalkowski
f074954d3d
hw: use `eret` in `hyp` mode to switch mode
...
Instead of using `cps` instruction, use an exception return
instruction to switch from `hyp` mode to `svc` mode.
Otherwise it causes unpredicted behaviour on ARM.
Fix #3284
2019-05-06 16:15:25 +02:00
Alexander Boettcher
d2229ab381
vm_session: evaluate priority
...
Issue #3111
2019-05-06 16:15:25 +02:00
Alexander Boettcher
450c8dc149
vm_session: track dataspaces used by attach
...
Track the dataspaces used by attach and add handling of flushing VM space
when dataspace gets destroyed (not triggered via the vm_session interface).
Issue #3111
2019-05-06 16:15:25 +02:00
Stefan Kalkowski
a147bdf406
hw: silent warning about unknown signal context
...
Triggering of an invalidated signal seems to be no real exception,
but something that occurs regularily. Therefore, the kernel warning
is of no use to developers anymore.
Ref #3277
2019-04-09 12:30:35 +02:00
Stefan Kalkowski
0ca199f89a
hw: replace lock-safe log variants in kernel
...
As far as possible remove usage of warning/error/log in the kernel,
otherwise the kernel context might try to take a lock hold by a core
thread, which results in a syscall to block.
Fix #3277
2019-04-09 12:30:35 +02:00
Alexander Boettcher
ae16edf1d6
trace: support more facets of execution time
...
- execution time per thread context
- execution time per scheduling context
- quantum and priority
Issue #3192
2019-04-09 12:30:34 +02:00
Stefan Kalkowski
baf815d099
hw: add support for i.MX7 Dual SABRE board
...
Fix #3251
2019-04-01 19:33:49 +02:00
Stefan Kalkowski
8f28f884ee
hw: name vm_state header explicitely
...
Ref #3251
2019-04-01 19:33:49 +02:00
Stefan Kalkowski
3725e91603
hw: implement power-saving kernel lock for ARM smp
...
Thanks to former work of Martin Stein this commit finally incorporates a
non-spinning kernel lock on multi-core ARM platforms.
Fix #1313
2019-04-01 19:33:47 +02:00
Stefan Kalkowski
e9b3569f44
hw: remove overall cache maintainance from core
...
This functionality is only needed in bootstrap now that kernel and
userland share the same address-space.
Fix #2699
2019-04-01 19:33:46 +02:00
Martin Stein
ff2516deb2
hw: fix documentation of Kernel::update_pd
...
Add note that the calling thread must not be destroyed while in the syscall.
Fixes #1253
2019-03-18 15:56:59 +01:00