Stefan Lankes
9416b9754c
some code cleanups
2016-03-26 10:03:33 +01:00
Stefan Lankes
b83fe5da39
remove obsolete code
2016-03-25 17:39:35 +01:00
Stefan Lankes
545073235a
simplify memory management
...
HermitCore is a single-address space operating system => only one global
lock is required to protect the page tables and the VMA structure.
Furthermore, obsolete code to duplicate tasks is removed.
2016-03-21 00:18:45 +01:00
Stefan Lankes
e19677dc42
increasing the readability of the TLS creation
2016-03-14 21:11:13 +01:00
Stefan Lankes
5f03c0efcf
increase the readability
2016-03-14 17:49:16 +01:00
Stefan Lankes
81639a4097
fine tuning of sys_yield
...
- checks only if a process is ready to run
- no additional timer checks
2016-03-14 12:23:32 +01:00
Stefan Lankes
89cf77b230
add system call to yield the processor
2016-03-12 23:15:36 +01:00
Stefan Lankes
6514e2d8fd
use HALT state to shutdown the system, otherwise PAUSE, check EST & P-states
2016-03-04 23:57:15 +01:00
Stefan Lankes
83bbd08ef7
remove temporary enabling of the nagle algorithm
2016-02-20 12:09:26 +01:00
Stefan Lankes
5c0932fdb2
sbrk uses ssize_t as type for argument
2016-01-31 10:13:21 +01:00
Stefan Lankes
871ce8cc0d
enable iRCCE support
2016-01-26 14:30:00 +01:00
Stefan Lankes
3ad5981511
add empty system calls to link MPI applications
...
- real implementation is still missing
2016-01-22 04:41:49 +01:00
Stefan Lankes
08403461a9
return the number of transfered bytes in send, recv, read, write & co.
2016-01-10 20:20:55 +01:00
Stefan Lankes
f9058f51e5
increase the interoperability between LwIP and newlib
...
- create own socket functions for newlib
- exchange error numbers between newlib and LwIP
- add LWIP_FD_BIT to mark a file descriptor as LwIP file descriptor
- add netio example
2016-01-10 03:13:31 +01:00
Stefan Lankes
a7cb623747
remove IPI for a TLB shootdown
...
HermitCore is an single address space operating system
=> a TLB shootdown isn't required
=> we have only to check if the page tables have an valid entry
=> if yes, flush TLB and return
=> if no, create a new page frame and map it into the address space
2016-01-04 16:27:19 +01:00
Stefan Lankes
ba28643e3e
add implementation of sys_sem_cancelablewait
...
- add nicer debug messages
- add current version of our pthread_library
2016-01-04 01:33:37 +01:00
Stefan Lankes
efe0208b67
harmonize syscall functions, remove compiler warnings
2016-01-01 22:59:18 +01:00
Stefan Lankes
4f37291fc0
add dummy implementation of sys_fork, sys_wait and sys_execve
2015-12-31 09:40:14 +01:00
Stefan Lankes
bdb0feeec6
harmonize syscall.h
...
now, the kernel and all libraries use the same header
2015-12-30 17:29:53 +01:00
Stefan Lankes
a289b2a505
remove obsolete entries in the systemcall table
2015-12-30 10:57:32 +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
56bed9455e
increase the size of the MPB
2015-10-19 23:27:24 +02:00
Stefan Lankes
30b3166155
retries 120 times to find the MPB
...
=> afterwards we give up and deliver a NULL pointer
2015-10-18 10:22:52 +02:00
Stefan Lankes
d18a5ea18f
add first iRCCE support into the kernel
...
- move islelocks to a separate header
- create virtual message passing buffers
2015-10-17 12:01:46 +02:00
Stefan Lankes
620e1babfe
add system call to deliver the current system tick
2015-10-16 07:07:59 +02:00
Stefan Lankes
9eb860f18f
add some comments
2015-10-05 11:13:08 +02:00
Stefan Lankes
18727027cc
add support of remote read and lseek system calls
...
- reduce latency by disabling the Nagl algorithm
2015-10-05 10:12:34 +02:00
Stefan Lankes
e7cddc3e7e
add support of proxy processes
2015-10-03 01:43:17 +02:00
Stefan Lankes
f1bf053c23
sys_write has to return the number of written bytes
...
=> fix bug
2015-09-12 16:55:56 +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
88890ebfb6
prepare kernel to support canceled wait for a semaphore
2015-08-17 12:53:20 +02:00
Stefan Lankes
221d90f02d
add initial support of threads
2015-08-09 14:34:36 +02:00
Stefan Lankes
89b943398e
remove the support of the system call "times"
2015-07-31 22:06:16 +02:00
Stefan Lankes
cce69cfe44
add support of sys_times (=> clock())
2015-07-16 22:33:29 +02:00
Stefan Lankes
7556ee66e1
redesign of system call handling
...
- use a table to determine the address of the system call
- fix numbering of the system calls
2015-07-15 10:05:09 +02:00
Stefan Lankes
2e3ea8a692
add check for a context switch
...
system calls aren't triggered via interrupt
=> check with a system call if a context switch is required
2015-07-12 19:13:24 +02:00
Stefan Lankes
6926ccc644
the system call write consider the parameter length
2015-07-11 15:20:19 +02:00
Stefan Lankes
19fed0bd87
add the support of user-level tasks
2015-07-11 00:16:27 +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