1
0
Fork 0
mirror of https://github.com/hermitcore/libhermit.git synced 2025-03-09 00:00:03 +01:00
Commit graph

1303 commits

Author SHA1 Message Date
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
Stefan Lankes
befc024d2b Merge pull request #35 from jbreitbart/userspacify_proxy
Simplified code that waits for HermitCore to be bootet when using qemu.
2016-08-28 11:01:24 +02:00
Jens Breitbart
23e621450e Simplified code that waits for HermitCore to be bootet when using qemu. 2016-08-28 10:43:41 +02:00
Stefan Lankes
f7bb6ff499 use only one CPU at Travis CI 2016-08-28 10:23:23 +02:00
Stefan Lankes
d5430761c7 extend README
- describe the usage of the configuration flag "--with-mtune"
- add description to diable KVM support
2016-08-28 10:15:51 +02:00
Stefan Lankes
3cda5905f4 remove typos 2016-08-28 09:48:58 +02:00
Stefan Lankes
4145ecbad5 some code cleanups 2016-08-28 09:46:59 +02:00
Stefan Lankes
462e0e39b0 fix bug in is_qemu_available
- before this commit, we wait on the wrong string in the kernel  messages
2016-08-28 09:34:14 +02:00
Stefan Lankes
6976e481ef proxy waits via inotify that HermitCore is available 2016-08-28 08:50:25 +02:00
Stefan Lankes
03af6bef4e increase the number of debug message 2016-08-28 06:44:09 +02:00
Stefan Lankes
bd1a4bf694 enable architecture dependent optimization for the proxy 2016-08-28 06:42:04 +02:00
Stefan Lankes
7c8e642377 enable architecture dependent tuning only with a configure flag 2016-08-28 00:50:42 +02:00
Stefan Lankes
a392afcbda if the test program failed, the script exit immediatly with an error 2016-08-28 00:49:35 +02:00
Stefan Lankes
28ccfdc1ee add additional error check 2016-08-28 00:48:45 +02:00