Masamichi Takagi
2325d47952
Support SIGSTOP and SIGCONT
2014-09-10 17:01:21 +09:00
Masamichi Takagi
b50e205a61
Support pid of zero when calling waitpid
...
Make waitpid wait any process with the same pgid of the caller when
setting zero to the pid argument.
2014-09-10 17:01:05 +09:00
Tomoki Shirasawa
cee647aee4
sigsuspend restore sigmask
2014-09-09 13:54:36 +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
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
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
Tomoki Shirasawa
7b825c0a65
fix coredump (ltp abort01)
2014-09-03 10:56:41 +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
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
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
101a0f6e4a
remote TLB invalidation code for multi-threaded applications (e.g., during munmap())
2014-07-22 12:24:07 +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
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
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
NAKAMURA Gou
36cff84e05
add zeroobj for private anonymous mappings
2014-07-07 18:11:43 +09:00
NAKAMURA Gou
380fcbda73
add shmobj for shared anonymous mappings
2014-07-07 18:11:40 +09:00
NAKAMURA Gou
9efb5e4fc5
add memobj_has_pager()
2014-07-07 18:11:36 +09:00
NAKAMURA Gou
d59628e131
fix debug prints to avoid NULL dereferences
2014-07-07 18:11:34 +09:00
NAKAMURA Gou
a8a226a443
use PF_POPULATE for resolving delegated page faults
...
Since a host side PTE does not follow McKernel's copying a COW page,
COW pages cannot be used for resolving delegated page faults.
Therefore, to copy pages eagerly, PF_POPULATE should be used.
2014-07-07 18:11:31 +09:00
NAKAMURA Gou
b2ca24d013
remap_file_pages: reject special ranges
...
special ranges are:
- VR_REMOTE
- VR_IO_NOCACHE
- VR_RESERVED
2014-07-02 15:30:54 +09:00
NAKAMURA Gou
11bb334bd4
support mremap(2)
...
fixes #22
2014-07-02 15:30:52 +09:00
NAKAMURA Gou
90aaf9dc9c
support remap_file_pages(2)
...
fixes #21
2014-06-30 17:33:51 +09:00
Tomoki Shirasawa
770eae0186
support sigaltstack
2014-06-25 13:45:33 +09:00
Tomoki Shirasawa
bbb7f77706
interrupt syscall of signal recieved process
2014-06-11 21:06:52 +09:00
Tomoki Shirasawa
19fc50ee05
Merge branch 'master' of postpeta.pccluster.org:mckernel
2014-06-10 10:42:55 +09:00
Tomoki Shirasawa
2f4f3628f9
support tgkill
2014-06-10 10:42:29 +09:00
NAKAMURA Gou
3f13862a98
ptrace: add error stub to prevent mcexec from waiting
...
In LTP's ptrace03 test,
there is a exit() preceded by ptrace(PTRACE_TRACEME).
In this case, processes will be usually finished immediately.
But mcexec will fall into waiting for parent's ptrace(PTRACE_CONT),
because mcexec sends itself a signal in processing of exit().
2014-06-09 19:03:59 +09:00
NAKAMURA Gou
4f32042c5f
getrlimit: delegate inquiries about fs resource
...
This commit corrects following system/library calls.
* getdtablesize()
* getrlimit(RLIMIT_FSIZE/RLIMIT_LOCKS/RLIMIT_NOFILE)
* sysconf(_SC_OPEN_MAX)
* ulimit(UL_GETFSIZE)
refs #31
refs #32
2014-05-26 16:47:56 +09:00
Balazs Gerofi bgerofi@riken.jp
514d75b685
execve(): supporting syscall and mcexec modifications
2014-05-22 17:39:13 +09:00
Balazs Gerofi bgerofi@riken.jp
2fead93f10
negative error code for ECHILD
2014-05-19 13:04:09 +09:00
bgerofi@riken.jp
81a78be20a
clean up per process structure in exit_group() and fix wait4() on self bug
2014-05-19 12:49:36 +09:00
Tomoki Shirasawa
3e830521c1
move rt_sigaction to device dependent
...
fix call kill(getpid(), ) after sigaction aborted
2014-05-16 09:50:06 +09:00
Balazs Gerofi bgerofi@riken.jp
ac65e6c869
wait4(): support for ECHILD error check
2014-05-13 10:28:27 +09:00
Balazs Gerofi bgerofi@riken.jp
39b336ca2f
wait4(): save exit status only if requested
2014-05-12 10:29:58 +09:00
Balazs Gerofi bgerofi@riken.jp
c15c2a2024
fix process refcount so that process structure is still valid when final release() is called in schedule()
2014-04-24 17:09:14 +09:00
Balazs Gerofi bgerofi@riken.jp
0e348e6295
SIGCHLD and wait4(), i.e. wait()/waitpid() implementation
2014-04-23 13:33:18 +09:00
Balazs Gerofi bgerofi@riken.jp
d6c0ea7627
assign the same TID and PID to the new process after fork()
2014-04-15 20:40:40 +09:00
Tomoki Shirasawa
d090e3f28d
Merge branch 'master' of postpeta.pccluster.org:mckernel
2014-04-13 14:13:46 +09:00
Balazs Gerofi bgerofi@riken.jp
b93db2411c
check CLONE_VM in clone_flags for determining whether clone()/fork() is requested
2014-04-11 15:41:17 +09:00