Martin Stein
47744e0019
hw: handle interrupts via signals
...
fix #874
2013-11-14 19:57:30 +01:00
Martin Stein
002a5b8978
hw: distinct pagefault and IPC message type
...
ref #874
2013-11-14 19:56:39 +01:00
Martin Stein
96bbca6191
hw: send reply size & receive request size by UTCB
...
ref #874
2013-11-14 19:56:38 +01:00
Martin Stein
6b9376bb01
hw: clean up interface of Kernel::Thread
...
ref #874
2013-11-14 19:56:38 +01:00
Martin Stein
ffb26eb501
hw: make syscall backend private to Kernel::Thread
...
ref #874
2013-11-14 19:56:38 +01:00
Martin Stein
0bb6ffa98d
hw: header and source file for Kernel::Vm
...
ref #874
2013-11-14 19:56:38 +01:00
Martin Stein
22d61c241e
hw: remove useless function handle_invalid_excpt
...
ref #874
2013-11-14 19:56:38 +01:00
Stefan Kalkowski
265ec48c20
hw: implement priority-based scheduling ( fix #945 )
2013-11-12 15:01:54 +01:00
Martin Stein
c56927b76e
hw: differ ID allocators even with same size
...
Previously, if two ID allocators for different kernel objects had the
same size, the kernel-object framework managed both objects types
through the same allocator instance. This is caused by the use of
unsynchronized singletons in the accessor functions and can be avoided
by creating new types through inheritance instead of using typedefs.
Anyways, this fix is a little bit ugly and should replaced by avoiding
the use of unsynchronized singletons in the future.
fix #906
2013-10-22 08:00:14 +02:00
Martin Stein
0ad655f4be
hw: return error code on IPC replies
...
ref #899
2013-10-16 09:26:10 +02:00
Martin Stein
ae76e441b1
hw: fix bug in Kernel::Thread::resume
...
ref #899
2013-10-16 09:26:10 +02:00
Martin Stein
b85126a638
hw: enable verbose thread starts
...
ref #899
2013-10-16 09:26:10 +02:00
Martin Stein
d961b9ae1e
hw: enable multiple compilation units in kernel
...
ref #899
2013-10-16 09:26:10 +02:00
Martin Stein
d6d4938916
hw: fix bug in Kernel::yield_thread
...
ref #899
2013-10-16 09:26:10 +02:00
Martin Stein
6912e638fb
hw: kill signal receivers
...
ref #899
2013-10-16 09:26:10 +02:00
Martin Stein
c3be0b417a
hw: fix bug in Kernel::Thread::crash
...
ref #589
2013-09-26 16:09:55 +02:00
Martin Stein
a596fa56a6
hw: destruct scheduling contexts
...
ref #589
2013-09-26 15:58:05 +02:00
Martin Stein
611cd95eb3
hw: destruct IPC end-nodes
...
ref #589
2013-09-26 15:58:05 +02:00
Martin Stein
349262a655
hw: handle pagefaults via IPC request/reply
...
ref #589
2013-09-26 15:58:04 +02:00
Martin Stein
6d03292a1e
hw: destruct signal sessions
...
ref #589
2013-09-26 15:58:04 +02:00
Martin Stein
84c31a7ea1
hw: destruct signal receivers
...
ref #589
2013-09-26 15:58:04 +02:00
Martin Stein
3070af9194
hw: thread in extra header with asserts reviewed
...
ref #528
2013-09-26 15:58:04 +02:00
Martin Stein
1843f10c62
hw: PD in extra header with asserts reviewed
...
ref #528
2013-09-26 15:58:04 +02:00
Martin Stein
48f831af3c
hw: signal receiver in extra header without assert
...
ref #528
2013-09-26 15:58:04 +02:00
Martin Stein
9826294e6c
hw: IPC node in extra header
...
ref #528
2013-09-26 15:58:03 +02:00
Martin Stein
01e8ee2752
hw: IRQ receiver in extra header & reviewed
...
ref #528
2013-09-26 15:58:03 +02:00
Martin Stein
2c357a4f04
hw: scheduler in extra header & asserts reviewed
...
ref #528
2013-09-26 15:58:03 +02:00
Martin Stein
4a1c218fd0
hw: object in extra header & asserts reviewed
...
ref #528
2013-09-26 15:58:03 +02:00
Martin Stein
e67016ca08
hw: kernel configuration in dedicated header
...
ref #528
2013-09-26 15:58:03 +02:00
Martin Stein
a4ab2a4f30
hw: avoid syscall fptr. array + threads can crash
...
ref #528
2013-09-26 15:58:03 +02:00
Martin Stein
545a397fa6
hw: avoid mandatory function calls in assertions
...
ref #528
2013-09-26 15:58:03 +02:00
Martin Stein
0d803266ea
hw: touch kernel scheduler and timer less often
...
fix #857
fix #855
2013-08-27 16:04:10 +02:00
Martin Stein
e20b773bef
hw & arm: use sp to hand out main UTCB pointer
...
Also don't hand out UTCB pointers to cores main thread and to threads
other than main threads.
Ref #766
2013-07-05 12:37:42 +02:00
Martin Stein
ee28a69c98
hw: fully functional Thread_base::cancel_blocking
...
Thread_base::cancel_blocking brings a thread back to execution
from every state, except the thread is created but not started yet.
Fix #745
2013-05-22 18:53:18 +02:00
Norman Feske
71cd7b9d2e
base-hw: Avoid early calls of cmpxchg
...
This patch eliminates calls of 'cmpxchg' prior enabling the MMU. This is
needed because the 'ldrex' and 'strex' instructions do not always work
with MMU and L1 cache disabled, i.e., on Raspberry Pi.
2013-05-15 20:47:46 +02:00
Martin Stein
438b8be2fa
base-hw: destroy signal contexts, generic signal.h
...
fix #641
2013-02-22 20:28:28 +01:00
Norman Feske
73ab30c22c
Update copyright headers to 2013
2013-01-10 21:44:47 +01:00
Martin Stein
4fb5c23a3c
base-hw: don't use 'long' unnecessarily
...
Fix #581
2013-01-08 11:36:52 +01:00
Martin Stein
7f2f2d9120
base-hw: ease core build
...
Merge core only libs into the target make-files.
Use base-hw specific Board drivers that inherit
from generic Board_base.
Use Page_flags::access_t instead of additional
page_flags_t.
Fix #570
2013-01-08 11:36:52 +01:00
Martin Stein
bc24a21658
base-hw: embed kernel space into platform thread
...
Instead of allocating and freeing the space that is needed for the
kernel thread objects from core, wich is not convenient with the
quota system, platform thread now holds the space as array by
itself.
Unfortunately we cannot measure the space size by a static function
anymore, so kernel thread had to be moved from kernel.cc into its
own header. This way platform thread can use sizeof().
Fix #543
2012-11-30 16:23:16 +01:00