Commit Graph

359 Commits

Author SHA1 Message Date
Tomoki Shirasawa
d6aef3aa2c copy sigmask from parent process to child 2014-09-09 13:53:25 +09:00
Masamichi Takagi
19fa391d4f Implement vfork system call
It's implemented by making it issue clone system call internally with
the arguments of (SIGCHLD, 0, 0, 0, 0). The feature in which the caller
of vfork blocks until the child issues exit/execve is not implemented.
Refer to #233.
2014-09-08 17:06:05 +09:00
bgerofi@riken.jp
0de6a30426 wait4(): do not return ECHILD when child exists but not in PS_ZOMBIE state yet 2014-09-05 18:28:40 +09:00
Naoki Hamada
efc817de92 Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-09-05 17:20:50 +09:00
Naoki Hamada
95781d59e3 Fix for eof. 2014-09-05 17:15:54 +09:00
Naoki Hamada
a06e5eb47e Bug fixes. 2014-09-05 16:20:15 +09:00
Masamichi Takagi
e45632c9f8 Check "options" argument in wait4
Make wait4 return -EINVAL when not supported options are requested.
2014-09-04 17:32:26 +09:00
Masamichi Takagi
a16c3170ef Correct wait4 when the child is not found
Make wait4 return -ECHILD when pid is specified and it's not found.
2014-09-04 17:11:05 +09:00
Naoki Hamada
0f95a84293 Migrated. 2014-09-04 14:58:04 +09:00
Tomoki Shirasawa
fea02b0ece Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-09-03 18:33:32 +09:00
Tomoki Shirasawa
7da4b8b8dc fix sched_[sg]etaffinity(tid==0, ...) (LTP sched_getaffinity01) 2014-09-03 18:22:27 +09:00
Balazs Gerofi bgerofi@riken.jp
cd366de097 execve():
- COKERNEL_PATH and COKERNEL_EXEC_ROOT support for co-kernels with different architecture than the host (i.e., Xeon Phi).
- fix various error codes: ENAMETOOLONG, ENOENT, ENOTDIR, EACCES, ENOEXEC, EFAULT.
- support for shell code execution.
2014-09-03 18:15:43 +09:00
Naoki Hamada
319590910a Almost implemented. 2014-09-03 15:20:39 +09:00
Tomoki Shirasawa
7b825c0a65 fix coredump (ltp abort01) 2014-09-03 10:56:41 +09:00
Naoki Hamada
3293bfaa1e Fix for generalization. 2014-08-28 14:41:32 +09:00
Naoki Hamada
cb4b00ba97 Added debug messages. 2014-08-28 09:16:50 +09:00
Naoki Hamada
c783ec8e11 Implemented procfs. 2014-08-28 09:16:50 +09:00
Tomoki Shirasawa
f535670100 fix pipe02 2014-08-27 16:50:01 +09:00
Tomoki Shirasawa
bc8b441358 process table traversing must be under interrupt inhibition
add finding process table function (findthread_and_lock/process_unlock)
2014-08-25 13:24:06 +09:00
Tomoki Shirasawa
d2537e0963 sigsuspend don't wait SIGSTOP, not SIGTERM 2014-08-21 17:25:02 +09:00
Tomoki Shirasawa
78d10cce80 support process group 2014-08-18 17:08:28 +09:00
Tomoki Shirasawa
663c121308 interrupt syscall sufficient threads 2014-08-18 16:49:49 +09:00
Balazs Gerofi bgerofi@riken.jp
9fda245490 execve(): return correct error value when failure (errno) 2014-08-07 14:35:15 +09:00
Naoki Hamada
26e219e698 Clarification. 2014-08-01 11:31:34 +09:00
Naoki Hamada
2a1c092fcb Merge remote branch 'origin/master' into gdb 2014-08-01 11:19:18 +09:00
Naoki Hamada
dca9def246 Finalize merger. 2014-08-01 09:25:10 +09:00
Naoki Hamada
570b850861 temporal fix 2014-08-01 09:23:11 +09:00
Masamichi Takagi
6dd5407b5f Return error when no core is available
clone returns -EAGAIN when there is no vacant core.
In addition, clone tries to use the next vacant hyper-threading
core instead of trying to use next vacant hyper-threading core
of the next vacant physical core.
2014-07-31 19:50:41 +09:00
Naoki Hamada
3fa6818962 Merge from master. 2014-07-31 18:30:39 +09:00
Masamichi Takagi
0dd7a8deff Put AT_CLKTCK in ELF auxiliary vectors
Put AT_CLKTCK in ELF auxiliary vectors because some functions
use the value as described below.
1. GLRO(dl_clktck) set by
   _dl_aux_init (in glibc/elf/dl-support.c)
   or
   _dl_sysdep_start (in elf/dl-sysdep.c)

2. GLRO(dl_clktck) is referenced by
__sysconf (in glibc/sysdeps/posix/sysconf.c)
   __getclktck
      (in glibc/sysdeps/unix/sysv/linux/getclktck.c)
profil (in glibc/sysdeps/posix/profil.c)
   __profile_frequency
      (in glibc/sysdeps/unix/sysv/linux/prof-freq.c)
2014-07-31 16:20:48 +09:00
Naoki Hamada
b58682dd73 Merge branch 'master' of postpeta.pccluster.org:mckernel into gdb 2014-07-31 10:31:45 +09:00
Balazs Gerofi bgerofi@riken.jp
c83e80ad91 execve(): clear host user-space PTEs before context switching 2014-07-28 18:57:56 +09:00
Balazs Gerofi bgerofi@riken.jp
07b07476b7 remote TLB invalidation: follow migrated threads by affinity calls 2014-07-27 13:11:41 +09:00
Naoki Hamada
530535c162 Merge remote branch 'origin/master' into gdb 2014-07-23 10:29:07 +09:00
Naoki Hamada
5888dcd4c7 Aestethical change. 2014-07-23 10:26:36 +09:00
Naoki Hamada
dbdaf0ed32 Fix for demand paging and documentation. 2014-07-23 10:23:02 +09:00
Balazs Gerofi bgerofi@riken.jp
101a0f6e4a remote TLB invalidation code for multi-threaded applications (e.g., during munmap()) 2014-07-22 12:24:07 +09:00
Naoki Hamada
9dd7d6283c Merge remote branch 'origin/master' into gdb
Conflicts:
	kernel/include/process.h
2014-07-18 16:03:35 +09:00
Naoki Hamada
cb61739c2b Deleted debug flags & al. 2014-07-18 15:45:40 +09:00
Balazs Gerofi bgerofi@riken.jp
a5b36e2b51 dkprintf() support in kernel/listeners.c 2014-07-17 12:28:57 +09:00
YOSHIDA Masanori
99931179e1 add get_cpu_id syscall with No.700 for testing 2014-07-13 17:05:27 +09:00
YOSHIDA Masanori
3751fa1766 add some functions related to migration into kernel/process.h
... and also add include guard to arch/x86/kernel/include/signal.h
2014-07-13 17:05:09 +09:00
YOSHIDA Masanori
170a54d976 add CPU affinity function
- syscall support
-- sched_setaffinity
-- sched_getaffinity
- migration in scheduler
- resched at return of syscalls/interrupts
2014-07-13 17:04:47 +09:00
YOSHIDA Masanori
1889d10e3a add cpu_set and getter/setter of that (incomplete sched_***affinity) 2014-07-13 17:04:32 +09:00
YOSHIDA Masanori
f923e03565 fix to make CPU idle when len(runq) != 0 but all queued are sleeping 2014-07-13 17:04:09 +09:00
Tomoki Shirasawa
39c8617793 Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-07-13 12:52:16 +09:00
Tomoki Shirasawa
5e6ed852cb Kill child threads when receiving terminating signals(redmine#63)
Create process table (child is missing when sending a signal to a child process just after forking it)(redmine#61)
2014-07-13 12:51:28 +09:00
Tomoki Shirasawa
292b34fe21 signal handler is not passed to a child process(redmine#62) 2014-07-13 12:49:30 +09:00
Naoki Hamada
1d45444d54 Added code for generating core image.
modified:   arch/x86/kernel/gencore.c
	modified:   arch/x86/kernel/include/elfcore.h
	modified:   kernel/include/process.h
	modified:   kernel/process.c
2014-07-10 15:55:35 +09:00
NAKAMURA Gou
36cff84e05 add zeroobj for private anonymous mappings 2014-07-07 18:11:43 +09:00