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
0de6a30426
wait4(): do not return ECHILD when child exists but not in PS_ZOMBIE state yet
2014-09-05 18:28:40 +09:00
efc817de92
Merge branch 'master' of postpeta.pccluster.org:mckernel
2014-09-05 17:20:50 +09:00
95781d59e3
Fix for eof.
2014-09-05 17:15:54 +09:00
a06e5eb47e
Bug fixes.
2014-09-05 16:20:15 +09:00
e45632c9f8
Check "options" argument in wait4
...
Make wait4 return -EINVAL when not supported options are requested.
2014-09-04 17:32:26 +09:00
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
0f95a84293
Migrated.
2014-09-04 14:58:04 +09:00
fea02b0ece
Merge branch 'master' of postpeta.pccluster.org:mckernel
2014-09-03 18:33:32 +09:00
7da4b8b8dc
fix sched_[sg]etaffinity(tid==0, ...) (LTP sched_getaffinity01)
2014-09-03 18:22:27 +09:00
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
319590910a
Almost implemented.
2014-09-03 15:20:39 +09:00
7b825c0a65
fix coredump (ltp abort01)
2014-09-03 10:56:41 +09:00
3293bfaa1e
Fix for generalization.
2014-08-28 14:41:32 +09:00
cb4b00ba97
Added debug messages.
2014-08-28 09:16:50 +09:00
c783ec8e11
Implemented procfs.
2014-08-28 09:16:50 +09:00
f535670100
fix pipe02
2014-08-27 16:50:01 +09:00
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
d2537e0963
sigsuspend don't wait SIGSTOP, not SIGTERM
2014-08-21 17:25:02 +09:00
78d10cce80
support process group
2014-08-18 17:08:28 +09:00
663c121308
interrupt syscall sufficient threads
2014-08-18 16:49:49 +09:00
9fda245490
execve(): return correct error value when failure (errno)
2014-08-07 14:35:15 +09:00
26e219e698
Clarification.
2014-08-01 11:31:34 +09:00
2a1c092fcb
Merge remote branch 'origin/master' into gdb
2014-08-01 11:19:18 +09:00
dca9def246
Finalize merger.
2014-08-01 09:25:10 +09:00
570b850861
temporal fix
2014-08-01 09:23:11 +09:00
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
3fa6818962
Merge from master.
2014-07-31 18:30:39 +09:00
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
b58682dd73
Merge branch 'master' of postpeta.pccluster.org:mckernel into gdb
2014-07-31 10:31:45 +09:00
c83e80ad91
execve(): clear host user-space PTEs before context switching
2014-07-28 18:57:56 +09:00
07b07476b7
remote TLB invalidation: follow migrated threads by affinity calls
2014-07-27 13:11:41 +09:00
530535c162
Merge remote branch 'origin/master' into gdb
2014-07-23 10:29:07 +09:00
5888dcd4c7
Aestethical change.
2014-07-23 10:26:36 +09:00
dbdaf0ed32
Fix for demand paging and documentation.
2014-07-23 10:23:02 +09:00
101a0f6e4a
remote TLB invalidation code for multi-threaded applications (e.g., during munmap())
2014-07-22 12:24:07 +09:00
9dd7d6283c
Merge remote branch 'origin/master' into gdb
...
Conflicts:
kernel/include/process.h
2014-07-18 16:03:35 +09:00
cb61739c2b
Deleted debug flags & al.
2014-07-18 15:45:40 +09:00
a5b36e2b51
dkprintf() support in kernel/listeners.c
2014-07-17 12:28:57 +09:00
99931179e1
add get_cpu_id syscall with No.700 for testing
2014-07-13 17:05:27 +09:00
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
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
1889d10e3a
add cpu_set and getter/setter of that (incomplete sched_***affinity)
2014-07-13 17:04:32 +09:00
f923e03565
fix to make CPU idle when len(runq) != 0 but all queued are sleeping
2014-07-13 17:04:09 +09:00
39c8617793
Merge branch 'master' of postpeta.pccluster.org:mckernel
2014-07-13 12:52:16 +09:00
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
292b34fe21
signal handler is not passed to a child process(redmine#62)
2014-07-13 12:49:30 +09:00
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
36cff84e05
add zeroobj for private anonymous mappings
2014-07-07 18:11:43 +09:00
380fcbda73
add shmobj for shared anonymous mappings
2014-07-07 18:11:40 +09:00