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 |
|