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

41 commits

Author SHA1 Message Date
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