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
7b825c0a65
fix coredump (ltp abort01)
2014-09-03 10:56:41 +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
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
c83e80ad91
execve(): clear host user-space PTEs before context switching
2014-07-28 18:57:56 +09:00
101a0f6e4a
remote TLB invalidation code for multi-threaded applications (e.g., during munmap())
2014-07-22 12:24:07 +09:00
99931179e1
add get_cpu_id syscall with No.700 for testing
2014-07-13 17:05:27 +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
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
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
9efb5e4fc5
add memobj_has_pager()
2014-07-07 18:11:36 +09:00
d59628e131
fix debug prints to avoid NULL dereferences
2014-07-07 18:11:34 +09:00
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
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
11bb334bd4
support mremap(2)
...
fixes #22
2014-07-02 15:30:52 +09:00
90aaf9dc9c
support remap_file_pages(2)
...
fixes #21
2014-06-30 17:33:51 +09:00
770eae0186
support sigaltstack
2014-06-25 13:45:33 +09:00
bbb7f77706
interrupt syscall of signal recieved process
2014-06-11 21:06:52 +09:00
19fc50ee05
Merge branch 'master' of postpeta.pccluster.org:mckernel
2014-06-10 10:42:55 +09:00
2f4f3628f9
support tgkill
2014-06-10 10:42:29 +09:00
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
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
514d75b685
execve(): supporting syscall and mcexec modifications
2014-05-22 17:39:13 +09:00
2fead93f10
negative error code for ECHILD
2014-05-19 13:04:09 +09:00
81a78be20a
clean up per process structure in exit_group() and fix wait4() on self bug
2014-05-19 12:49:36 +09:00
3e830521c1
move rt_sigaction to device dependent
...
fix call kill(getpid(), ) after sigaction aborted
2014-05-16 09:50:06 +09:00
ac65e6c869
wait4(): support for ECHILD error check
2014-05-13 10:28:27 +09:00
39b336ca2f
wait4(): save exit status only if requested
2014-05-12 10:29:58 +09:00
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
0e348e6295
SIGCHLD and wait4(), i.e. wait()/waitpid() implementation
2014-04-23 13:33:18 +09:00
d6c0ea7627
assign the same TID and PID to the new process after fork()
2014-04-15 20:40:40 +09:00
d090e3f28d
Merge branch 'master' of postpeta.pccluster.org:mckernel
2014-04-13 14:13:46 +09:00
b93db2411c
check CLONE_VM in clone_flags for determining whether clone()/fork() is requested
2014-04-11 15:41:17 +09:00
7eeafb0d85
change parameter types of arch-regs to "void *"
2014-04-03 15:33:34 +09:00
583c9355cd
fix argument of set_tid_address()
2014-04-02 18:02:04 +09:00
cf442e6a14
fork(): preliminary version (no wait()/waitpid() support yet)
2014-04-02 14:07:38 +09:00
dabca28e4b
Merge branch 'master' of postpeta.pccluster.org:mckernel
2014-03-30 16:14:43 +09:00
e112aa8b06
remove DMA call
2014-03-30 16:14:19 +09:00
ccd770ba24
use per-process wait queues for system call request processing in mcexec so that multiple processes can share the per-core system call channels
2014-03-27 19:31:42 +09:00
dca831b94f
add error check codes for madvise()
...
The advice will be ignored even if this madvise() succeed.
2014-02-05 11:31:03 +09:00
b2b9b566c8
implement munlock()
2014-02-05 11:31:01 +09:00