daniel-k
fa9ba43009
kernel/tasks: major refactoring
2016-09-02 19:58:02 +02:00
Stefan Lankes
2f4440d119
dump kernel messages after every test
2016-09-02 19:51:14 +02:00
daniel-k
9ee0e10624
kernel/entry.asm: reorder IRQ stubs
2016-09-02 18:02:04 +02:00
daniel-k
cd3d953bce
x86/irq: check_workqueues() after custom IRQ handler has run + refactoring
...
When HermitCore is compiled with periodic ticks, the timer handler will
increase the local tick count, so check_workqueues() would only recognize
the increased ticks on the next call, therefore call it after the IRQ
handler.
2016-09-02 18:02:04 +02:00
daniel-k
3bd4859904
kernel: use correct datatype for irq flags
2016-09-02 18:02:04 +02:00
daniel-k
f09df8d82d
kernel/syscall: make lwip lock irq-safe
2016-09-02 18:02:04 +02:00
daniel-k
d31ba3c3ac
mm: make malloc and vma locks irqsave
2016-09-02 18:02:04 +02:00
daniel-k
df4f685b6c
hermit/spinlock: fix documentation
2016-09-02 18:02:04 +02:00
daniel-k
321d86b466
asm/irqflags: fix documentation and simplify
2016-09-02 18:02:04 +02:00
daniel-k
047dbfd56f
x86/timer: increase readability in check_ticks()
2016-09-02 18:02:04 +02:00
Stefan Lankes
fb2d9f83c8
remove typo
2016-09-02 15:20:35 +02:00
Stefan Lankes
bd71d62653
switch to https to include submodules
2016-09-02 15:16:17 +02:00
Stefan Lankes
3caae4a88f
Merge pull request #28 from daniel-k/pr/signals
...
Implementation for POSIX-like signals
2016-09-02 14:22:32 +02:00
daniel-k
ab88f57701
kernel/tasks: set correct timer when waking up tasks with DYNAMIC_TICKS
2016-09-02 12:31:46 +02:00
daniel-k
5756951267
usr/newlib: update submodule to make use of new signal handling
2016-09-02 12:31:46 +02:00
daniel-k
340fb985b5
usr/tests: provide a test for signals (already using newlib)
2016-09-02 12:17:39 +02:00
daniel-k
74a56254d6
hermit/syscall: provide syscall interface for signals
2016-09-02 12:17:39 +02:00
daniel-k
56349176da
hermit/kernel: implement signal handling for communication between tasks
...
When a signal is sent, the operating system interrupts the target task's
normal flow of execution to deliver the signal. Execution can be
interrupted during any non-atomic instruction. If the process has
previously registered a signal handler, that routine is executed when the
task's execution would continue.
2016-09-02 12:17:39 +02:00
daniel-k
e03887a1ab
hermit/dequeue: implement a double-ended queue
2016-09-02 12:17:39 +02:00
daniel-k
b7d2dc95c5
kernel/tasks: initialize task->last_core with initial core instead of 0
...
Otherwise it's not possible to determine on which core a task is running
if it hasn't been rescheduled at least one time.
2016-09-02 12:17:39 +02:00
daniel-k
f93e66b4df
kernel/tasks: implement function to get process control block by ID
2016-09-02 12:17:39 +02:00
Stefan Lankes
78eecc9ec1
add more tests (stream benchmark)
2016-08-31 19:40:09 +02:00
Stefan Lankes
bd2595adfd
use the new get_rdtsc function to increase the readability
2016-08-31 19:37:03 +02:00
Stefan Lankes
e87c0cf642
Merge pull request #39 from daniel-k/pr/apic_calibration_refactor
...
x86/apic: Streamline APIC calibration and refactor for readability
2016-08-31 19:43:21 +02:00
daniel-k
392954e866
x86/apic: refactor for readability and disable timer for DYNAMIC_TICKS
2016-08-31 18:56:24 +02:00
daniel-k
096384c921
x86/apic: same calibration for single and multi kernel
...
Sample CPU timestamp counter for APIC calibration in both cases. This
has proven to be more reliable than waiting for and counting timer
interrupts.
2016-08-31 18:56:24 +02:00
Stefan Lankes
8a14e6ffd0
reduce the memory footprint of a test benchmark
2016-08-31 15:49:13 +02:00
Stefan Lankes
0641e63407
fix bug in the initialization routine of the timer
2016-08-31 14:01:43 +02:00
Stefan Lankes
8b15d6c72e
some code cleanups
2016-08-31 13:36:09 +02:00
Stefan Lankes
e638c8a7cb
set TSS on all cores
...
- in previous versions, the idle task didn't set the TSS
2016-08-31 13:33:52 +02:00
Stefan Lankes
2c8a1a3a45
Merge pull request #34 from daniel-k/pr/gdb_task_backtrace
...
gdb-scripts: backtrace and context switching for tasks
2016-08-30 22:00:33 +02:00
daniel-k
8d945a8490
Revert "kernel/tasks: fix logical bug check_timers()"
...
Yesterday was a long day ... It had actually been fine all the time.
2016-08-30 11:20:49 +02:00
Stefan Lankes
94535f04da
remove typos
2016-08-30 09:21:32 +02:00
Stefan Lankes
d6e8abe624
add shorthand for -gdb tcp::1234, i.e. open a gdbserver on TCP port 1234.
2016-08-30 09:19:56 +02:00
Stefan Lankes
4f06810031
add shorthand for -gdb tcp::1234, i.e. open a gdbserver on TCP port 1234.
2016-08-30 09:18:38 +02:00
Stefan Lankes
4ea7fabf1d
protect stack cleanups by disabling interrupts
2016-08-30 00:00:00 +02:00
Stefan Lankes
f50f45c593
remove unneeded IPI for TLB shootdown
2016-08-29 17:19:43 +02:00
Stefan Lankes
adc3fd362e
some code cleanups
2016-08-29 16:30:43 +02:00
Stefan Lankes
d66454b0ee
Merge branch 'devel' of github.com:RWTH-OS/HermitCore into devel
2016-08-29 16:24:35 +02:00
Stefan Lankes
ac9fe0f085
observe only the temp file and not longer the directory /tmp
2016-08-29 16:23:08 +02:00
Stefan Lankes
5f818aaa80
Merge pull request #37 from daniel-k/pr/kernel_fixes
...
kernel: fix check_timers() and pseudo interrupt stack
2016-08-29 16:21:19 +02:00
daniel-k
843bd8e1d5
kernel/tasks: fix logical bug check_timers()
...
Only pop tasks from timer queue if their deadline is reached, this
was most likely a typo.
2016-08-29 15:46:20 +02:00
daniel-k
8c97d11513
kernel/entry.asm: fix pseudo interrupt stack frame (ordering was wrong)
2016-08-29 15:46:08 +02:00
daniel-k
8054c36f26
gdb-scripts: backtrace and context switching for tasks
...
These new commands allow to show backtraces of any HermitCore task as
well as completely switching the current context. This way, you can
inspect each task as if it were running, which hasn't been possible
until now, because neither GDB nor Qemu have knowledge about the task
structure of HermitCore.
2016-08-29 11:45:02 +02:00
Stefan Lankes
52aa821e33
improve layout of the demo video
2016-08-28 19:01:55 +02:00
Stefan Lankes
297fa54322
remove typo
2016-08-28 18:12:31 +02:00
Stefan Lankes
d454170ccb
add script for single-kernel demo
2016-08-28 18:11:07 +02:00
Stefan Lankes
d414487d25
remove typo
2016-08-28 11:17:38 +02:00
Stefan Lankes
46a68ddab0
reduce debug message, remove test case "jacobi"
...
- jacobi takes too long for Travis CI
2016-08-28 11:05:58 +02:00
Stefan Lankes
01471e4790
add missing declaration of the array "buffer"
2016-08-28 10:54:57 +02:00