Norman Feske
bf031b174a
demo.run: start scout at startup
...
To be consistent with the documentation, we have to start scout instead
of launchpad right at the start of the default demo scenario.
2015-05-26 09:40:05 +02:00
Christian Helmuth
3384d3d23c
linux: fix issue with pointer to rvalue struct member
2015-05-26 09:40:05 +02:00
Christian Prochaska
918895a4f4
vfs: increment 'seek_offset' in block file system
...
Fixes #1535
2015-05-26 09:40:04 +02:00
Martin Stein
8a99c08ae4
hw: always panic on removal of scheduler head
...
Because of helping, it is possible that a core thread that wants to
destroy another thread at the kernel is using the scheduling context of
the thread that shall be destroyed at this point in time. When building
without GENODE_RELEASE defined, this always triggers an assertion in the
kernel. But when building with GENODE_RELEASE defined, this might silently
lead to kernel-memory corruption. This commit eliminates the latter case.
Should be reverted as soon as the scheduler is able to remove its head.
Ref #1537
2015-05-26 09:40:04 +02:00
Stefan Kalkowski
28804e2bfb
base: remove cap_integrity test ( fix #1536 )
2015-05-26 09:40:04 +02:00
Emery Hemingway
5fc8ed3e6b
file system servers must not use null tx buffers
...
Fixes #1534
2015-05-26 09:40:04 +02:00
Stefan Kalkowski
e081554731
hw: kernel backed capabilities ( Fix #1443 )
2015-05-26 09:40:04 +02:00
Stefan Kalkowski
4431ab7354
hw_x86_64: fix kernel stack initialization
...
Fix #1533
2015-05-26 09:40:04 +02:00
Stefan Kalkowski
db5e4f70f1
hw: replace 'placement new' with 'construct_at<>'
...
Placement new can be misleading, as we already overload the new operator
to construct objects via pointers to allocators. To prohibit any problems here,
and to use one consistent approach, we can explicitely construct the object
with the already available 'construct_at' template function.
Ref #1443
2015-05-26 09:40:03 +02:00
Stefan Kalkowski
b8f178e647
hw: move MMU-related functions into Address_space
...
* Introduce a hw specific Address_space interface for protection
domains, which combines all memory-virtualization related functionality
* Introduce a core-specific Platform_pd object that solves all the hen-egg
problems formerly distributed in kernel and core-platform code
Ref #595
Ref #1443
2015-05-26 09:40:03 +02:00
Stefan Kalkowski
d4c55bec2a
hw: implement 'Address_space' interface
...
Ref #595
Ref #1443
2015-05-26 09:40:03 +02:00
Stefan Kalkowski
554146d39c
base: enforce ram_quota donations to be consistent
...
For several basic sessions that core provides default ram quota values
exist in the form of enum values. They are used e.g. by init to deduce
session costs. Unfortunately they were not used when actually establishing
the session, which lead to inconsistencies.
Ref #1443
2015-05-26 09:40:03 +02:00
Stefan Kalkowski
a93266548f
base: remove unused enum from object pool
...
Ref #1443
2015-05-26 09:40:03 +02:00
Stefan Kalkowski
217f62b89d
base: move retry template function to util header
...
Ref #1443
2015-05-26 09:40:03 +02:00
Stefan Kalkowski
64bfe233d7
base: make CAP session upgradeable
...
* Introduce 'Out_of_metadata' exception for capability allocation
Ref #1443
2015-05-26 09:40:02 +02:00
Stefan Kalkowski
73c3a81e0b
base: make PD session upgradeable
...
Ref #1443
2015-05-26 09:40:02 +02:00
Sebastian Sumpf
2d41f13229
base-foc: update commit and hash
2015-05-26 09:40:02 +02:00
Christian Prochaska
a30e29b9c2
ports-foc: remove balloon server
...
Fixes #1514
2015-05-26 09:40:02 +02:00
Christian Prochaska
caa61c268b
seoul: adapt port files to the updated repository
...
Fixes #1526
2015-05-26 09:40:02 +02:00
Norman Feske
da0ee84a7d
sel4: 3rd article - porting core to seL4
2015-05-26 09:40:02 +02:00
Norman Feske
cada11b553
Add sel4_x86_32 to create_builddir tool
2015-05-26 09:40:01 +02:00
Norman Feske
66dd065163
sel4: use LOG console for non-core components
2015-05-26 09:40:01 +02:00
Norman Feske
a748dfbc5c
sel4: implementation of Rm_client::unmap
2015-05-26 09:40:01 +02:00
Norman Feske
da2db02ebd
sel4: disable page-fault logging
2015-05-26 09:40:01 +02:00
Norman Feske
84c5437437
sel4: initialization of non-main threads
2015-05-26 09:40:01 +02:00
Norman Feske
06d143d51f
sel4: receive-sel handling for early IPC
2015-05-26 09:40:01 +02:00
Norman Feske
3259185bfc
sel4: import parent cap into non-core components
2015-05-26 09:40:01 +02:00
Norman Feske
1ea22f82fa
sel4: core support for IPC of non-core PDs
...
This patch installs the parent endpoint selector and the PD's CNode into
a PD at its creation time. Furthermore, it initializes the IPC buffer
for the main thread of the new component.
2015-05-26 09:40:00 +02:00
Norman Feske
acd7a2f1c4
sel4: reserve virt page for main-thread IPC buffer
2015-05-26 09:40:00 +02:00
Norman Feske
38db52e7f5
sel4: non-core capability-space implementation
2015-05-26 09:40:00 +02:00
Norman Feske
d6e3e47348
sel4: use core_printf for non-core components
...
This allows us to see debug messages printed at the eary initialization
of init (before init is able to obtain the regular LOG session). This
will be reverted as soon as the initialziation of the non-core base
environment works.
2015-05-26 09:40:00 +02:00
Norman Feske
5a05521e0f
sel4: bootstrap of init and page-fault handling
2015-05-26 09:40:00 +02:00
Norman Feske
691f0eaae7
sel4: link core to different address
...
This enables us to debug core and non-core using Qemu's GDB stub.
2015-05-26 09:40:00 +02:00
Norman Feske
11b9a0f376
sel4: definition of non-core cap-space parameters
2015-05-26 09:39:59 +02:00
Norman Feske
f19f454ae5
sel4: move core to a libaray, add boot_modules.s
2015-05-26 09:39:59 +02:00
Norman Feske
51f02340b6
sel4: avoid superfluous header re-generation
2015-05-26 09:39:59 +02:00
Norman Feske
56ec0ad172
sel4: add base.mk lib to build and link init
2015-05-26 09:39:59 +02:00
Norman Feske
6ffba0e473
sel4: IPC implementation
2015-05-26 09:39:59 +02:00
Norman Feske
ff46d02c48
sel4: capability lifetime management
2015-05-26 09:39:59 +02:00
Norman Feske
595e86ca2e
sel4: assert macro
2015-05-26 09:39:59 +02:00
Norman Feske
95c3e896dd
sel4: add include/kernel_object.h utilties
2015-05-26 09:39:58 +02:00
Norman Feske
0a32bc845f
sel4: RAM-session supplements
2015-05-26 09:39:58 +02:00
Norman Feske
bf4b260ce1
sel4: unmapping of virtual memory
2015-05-26 09:39:58 +02:00
Norman Feske
262f52723b
sel4: block on first call if Ipc_istream::_wait
2015-05-26 09:39:58 +02:00
Norman Feske
8f535d5371
sel4: enter real thread function
2015-05-26 09:39:58 +02:00
Norman Feske
41b99a6b51
sel4: use yielding spinlock for 'Genode::Lock'
2015-05-26 09:39:58 +02:00
Norman Feske
f24b212e47
sel4: core-local thread creation
2015-05-26 09:39:58 +02:00
Norman Feske
e6ad346e24
sel4: management of core's virtual memory
2015-05-26 09:39:57 +02:00
Norman Feske
1f5cfef64e
sel4: switch to core's custom cspace layout
2015-05-26 09:39:57 +02:00
Norman Feske
de8bfb37f9
sel4: initialization of core's allocators
2015-05-26 09:39:57 +02:00
Norman Feske
633f335171
sel4: core skeleton
2015-05-26 09:39:57 +02:00
Norman Feske
65a74cf5e0
sel4: complement base-common.mk
...
This patch extends the base-common library with the symbols needed to
link core.
2015-05-26 09:39:57 +02:00
Norman Feske
885e9333ac
sel4: don't use base-common.mk in test roottask
...
To build core and other Genode components, we will need to extend the
base-common.mk library with additions that conflict with the
minimalistic root-task environment of test/sel4. To preserve the
minimalistic root task, we need to decouple it from the base-common
library.
2015-05-26 09:39:56 +02:00
Norman Feske
c73b6e9c0d
sel4: move core console to core_printf library
2015-05-26 09:39:56 +02:00
Norman Feske
e3cb8d48f7
sel4: never compile syscall-using code with -fPIC
2015-05-26 09:39:56 +02:00
Norman Feske
1314bd3b2a
sel4: notes about virtual memory management
2015-05-26 09:39:56 +02:00
Norman Feske
9bf7a240fc
sel4: test the use of memory mappings
2015-05-26 09:39:56 +02:00
Norman Feske
58481fe35d
sel4: use largest untyped range
2015-05-26 09:39:56 +02:00
Norman Feske
37c266327f
sel4: capability overmap test
2015-05-26 09:39:56 +02:00
Norman Feske
418f2ab119
sel4: testing the unwrapping of capabilities
2015-05-26 09:39:55 +02:00
Norman Feske
33c2bc3bf2
sel4: capability delegation test
2015-05-26 09:39:55 +02:00
Norman Feske
03010831cd
sel4: adapt article to new version of run tool
2015-05-26 09:39:55 +02:00
Norman Feske
1fdf36efed
sel4: IPC between two threads
2015-05-26 09:39:55 +02:00
Norman Feske
45b90aa898
sel4: review of the first article
2015-05-26 09:39:55 +02:00
Norman Feske
68671dbc2f
sel4: preemptive scheduling
2015-05-26 09:39:55 +02:00
Norman Feske
40c48c4538
sel4: thread creation
2015-05-26 09:39:54 +02:00
Norman Feske
9bf7568909
sel4: replace syscalls.patch by macros.patch
2015-05-26 09:39:54 +02:00
Norman Feske
52c4dc8ec8
sel4: print boot info
2015-05-26 09:39:54 +02:00
Norman Feske
6b9185ab34
sel4: enable core console
2015-05-26 09:39:54 +02:00
Norman Feske
666c74345f
sel4: add patch for sel4/syscalls.h
2015-05-26 09:39:54 +02:00
Norman Feske
29f58dbd70
sel4: first syscall invokation
2015-05-26 09:39:54 +02:00
Norman Feske
2b24593758
sel4: minimalistic roottask
2015-05-26 09:39:54 +02:00
Norman Feske
456d81f517
New base-sel4 repository
2015-05-26 09:39:53 +02:00
Norman Feske
35a52f0282
base: const qualifiers in base/trace/types.h
...
This patch adds missing const qualifiers to the == operators of
'Subject_id' and 'Policy_id'. Thanks to Pirmin Duss for reporting.
2015-05-26 09:39:53 +02:00
Christian Helmuth
8990346c6c
mmio: fix compiler warnings
...
We implicitly know that the value range will not exceed access_t despite
the integer-based arithmetics, i.e., negation and shift operations.
Fixes #1524
2015-05-26 09:39:53 +02:00
Christian Helmuth
140ecb1238
linux: prevent hybrid-mode compiler warnings
2015-05-26 09:39:53 +02:00
Christian Helmuth
c934ee1650
libc: remove debugging artifact from exit()
2015-05-26 09:39:53 +02:00
Christian Helmuth
b5b9b1789d
libcrypto: remove redundant ) from .mk
2015-05-26 09:39:52 +02:00
Christian Helmuth
05dc764935
qt5: prevent compiler warnings
2015-05-26 09:39:52 +02:00
Christian Helmuth
97889935cf
pci: fix compiler warning
2015-05-26 09:39:52 +02:00
Christian Helmuth
e9652d765d
foc: increase stack size for IRQ handler
2015-05-26 09:39:52 +02:00
Alexander Boettcher
869fac8f76
pci: print irq/msi vector when a device gets used
2015-05-26 09:39:52 +02:00
Alexander Boettcher
dd7ddae0e9
pci: add readme to pci_drv, adjust acpi_drv README
2015-05-26 09:39:52 +02:00
Alexander Boettcher
51b79d7da6
pci: support disabling msis
2015-05-26 09:39:52 +02:00
Christian Prochaska
d9825cd708
codezero: move first container to higher address
...
Fixes #1525
2015-05-26 09:39:51 +02:00
Christian Helmuth
7d39304050
rpi: fix response initialization in platform_drv
...
GCC 4.9 legitimately whines that const members of responses must be
initialized on construction.
2015-05-26 09:39:51 +02:00
Christian Helmuth
4dad09203a
input_merger: fix compiler warning
2015-05-26 09:39:51 +02:00
Alexander Boettcher
3e90542559
nova: use signals with irqs in core
...
Avoids the need to have per IRQ a thread that blocks synchronously for next
interrupt. Now a thread may wait for multiple IRQs as other signals
simultaneously.
In core no threads are required anymore for IRQs/MSI - the clients (either
the pci_drv or in case of MSI the driver) gets the IRQ delivered directly as
a ordinary Genode signal.
Useful since #1216 and #1487 is now available.
Commit applies feature of #1446 also to IRQ/MSIs.
2015-05-26 09:39:51 +02:00
Christian Prochaska
d554200e5a
x86emu: prevent warnings about uninitialized vars
...
Fixes #1522
2015-05-26 09:39:51 +02:00
Christian Prochaska
526d6eed1c
libc: fix compiler warning
...
Fixes #1523
2015-05-26 09:39:51 +02:00
Norman Feske
e2fe071871
Minor comment refinements for the manual
2015-05-26 09:39:50 +02:00
Reto Buerki
58178949ef
hw_x86_64: Make AHCI driver work
...
The assumption that IRQs in the legacy ISA range are always
edge-triggered is wrong. For the free-for-use IRQs it depends on the
actual device which uses the specific IRQ. Therefore, treat IRQs 9, 10
and 11 as level-triggered.
2015-05-26 09:39:50 +02:00
Reto Buerki
afec233f50
hw_x86_64: Use _edge_triggered() in _create_irt_entry()
2015-05-26 09:39:50 +02:00
Reto Buerki
5eed6de910
hw_x86_64: Let _edge_triggered() operate on IRQ
...
Use the base IRQ in the _edge_triggered() utility function, not the
remapped vector.
2015-05-26 09:39:50 +02:00
Reto Buerki
6af893123e
hw_x86_64: Only block masking of legacy IRQs
...
Allow legacy IRQ unmasking. Initially, all IRQs are masked and must be
explicitly unmasked by a driver.
2015-05-26 09:39:50 +02:00
Reto Buerki
e034846f32
hw_x86_64: Initially mask IRQs in _create_irt_entry
2015-05-26 09:39:50 +02:00
Christian Prochaska
e0dbf67e1d
tool_chain: enable x86_64 target support in GDB
...
Fixes #1521
2015-05-26 09:39:49 +02:00
Christian Prochaska
72e31090ee
tool_chain: update GCC to version 4.9.2
...
Fixes #1520
2015-05-26 09:39:49 +02:00
Christian Prochaska
7709059245
tool_chain: update GCC to version 4.8.4
...
Fixes #1519
2015-05-26 09:39:49 +02:00
Christian Prochaska
b704944d4d
tool_chain: update binutils to version 2.25
...
Fixes #1518
2015-05-26 09:39:49 +02:00