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

34 commits

Author SHA1 Message Date
Stefan Lankes
a8661c1fb8 add a platform independent function to manage the TLS 2015-12-30 09:51:03 +01:00
Stefan Lankes
1dce82e27d add TLS and rudimental pthread support into the libos version 2015-12-30 02:17:23 +01:00
Stefan Lankes
4a549ead41 add first draft of HermitCore as libOS 2015-12-29 02:22:41 +01:00
Stefan Lankes
1c436520b3 remove obsolete file system 2015-11-15 22:24:58 +01:00
Stefan Lankes
d13e3a4432 add helper function to determine the next free core
- we start with the second core, because the first is used by the LwIP thread
2015-11-09 23:54:03 +01:00
Stefan Lankes
cacd070d24 enable the support of dynamic ticks
- a dynamic oneshoot timer is used to wakeup the system instead of
  a periodic timer
2015-10-06 13:48:25 +02:00
Stefan Lankes
e7cddc3e7e add support of proxy processes 2015-10-03 01:43:17 +02:00
Stefan Lankes
cde3d9dfba start the integration of LwIP 2015-09-13 21:28:30 +02:00
Stefan Lankes
be9ed3064d preliminary works to use the gs register in user space 2015-09-13 14:51:25 +02:00
Stefan Lankes
034098048b add initialization of tls_file_size and tls_mem_size 2015-09-08 08:48:52 +02:00
Stefan Lankes
b4e5bfef75 start new threads in round-robin manner over all cores
we assume OpenMP applications
=> number of threads is (normaly) equal to the number of
cores
=> search next available core
2015-09-06 10:41:51 +02:00
Stefan Lankes
7b54dca40f set task to invalid after freeing of all allocated data 2015-08-28 08:00:54 +02:00
Stefan Lankes
213e4518d1 frees the memory of a finished task after the switch to the next task 2015-08-17 12:51:39 +02:00
Stefan Lankes
221d90f02d add initial support of threads 2015-08-09 14:34:36 +02:00
Stefan Lankes
ebeba4c6f0 allocate memory outside the critical section 2015-07-26 18:50:32 +02:00
Stefan Lankes
8aa55a90dc prepare kernel to run on one core (without SMP suppor) 2015-07-24 21:12:05 +02:00
Stefan Lankes
45cae3f991 replace create_stack by a call of kmalloc 2015-07-24 06:45:43 +02:00
Stefan Lankes
fce8249caf code cleanups, increasing the readability, add some comments 2015-07-24 06:27:46 +02:00
Stefan Lankes
8289b76cf9 rename function per_core_set into set_per_core 2015-07-21 18:44:13 +02:00
Stefan Lankes
fed1d028a2 useage of GS selector to determine "per core data"
=> redesign of the system call interface
=> set RSP0 in TSS by a context switch
2015-07-19 11:12:05 +02:00
Stefan Lankes
cce69cfe44 add support of sys_times (=> clock()) 2015-07-16 22:33:29 +02:00
Stefan Lankes
8db1094ce4 move cleanup code to correct position (do_exit) 2015-07-13 06:49:46 +02:00
Stefan Lankes
6ba3252012 stores the FPU registers not before another task want to use them 2015-07-12 16:39:27 +02:00
Stefan Lankes
b254df8afa some code cleanups 2015-07-11 17:04:07 +02:00
Stefan Lankes
2f97bcfecb remove some debug messages 2015-07-11 09:58:38 +02:00
Stefan Lankes
4db6d86ad4 fix calculation of the kernel stack, remove some typos 2015-07-11 00:56:15 +02:00
Stefan Lankes
19fed0bd87 add the support of user-level tasks 2015-07-11 00:16:27 +02:00
Stefan Lankes
11ae987bae define create_task as static function, some code cleanups 2015-07-08 22:16:00 +02:00
Stefan Lankes
6b0c6145d2 remove obsolete debug message 2015-06-27 20:13:49 +02:00
Stefan Lankes
2eddb0bb89 integrate lwIP into HermitCore
- add timer support, which is required for lwIP
2015-06-11 09:20:34 +02:00
Stefan Lankes
1a256ada95 add helper function to run a task on a specific core 2015-05-31 07:58:05 +02:00
Stefan Lankes
047951bafd enable SMP support 2015-05-31 00:30:13 +02:00
Stefan Lankes
f781f4923b prepare kernel to support SMP
- only startup code is missing
2015-05-27 00:04:01 +02:00
Stefan Lankes
d7ec3d4f14 HermitCore is independent to the Linux kernel => move to an own subdirectory 2015-05-23 14:35:45 +02:00