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
Naoki Hamada
efc817de92
Merge branch 'master' of postpeta.pccluster.org:mckernel
2014-09-05 17:20:50 +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
Naoki Hamada
c783ec8e11
Implemented procfs.
2014-08-28 09:16:50 +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
78d10cce80
support process group
2014-08-18 17:08:28 +09:00
Naoki Hamada
3fa6818962
Merge from master.
2014-07-31 18:30:39 +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
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
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
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
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
NAKAMURA Gou
380fcbda73
add shmobj for shared anonymous mappings
2014-07-07 18:11:40 +09:00
NAKAMURA Gou
9057268f0e
add memobj's default action
2014-07-07 18:11:38 +09:00
NAKAMURA Gou
9efb5e4fc5
add memobj_has_pager()
2014-07-07 18:11:36 +09:00
Naoki Hamada
ed9da789e6
Created gencore() and minor aestetical changes.
...
modified: executer/kernel/mcctrl.h
modified: executer/kernel/syscall.c
modified: kernel/include/syscall.h
modified: kernel/mem.c
2014-07-02 16:23:32 +09:00
NAKAMURA Gou
11bb334bd4
support mremap(2)
...
fixes #22
2014-07-02 15:30:52 +09:00
Naoki Hamada
4f1b3f22ef
Working code for infrastructure.
...
modified: executer/kernel/mcctrl.h
modified: executer/kernel/syscall.c
modified: kernel/include/syscall.h
modified: kernel/mem.c
2014-07-02 12:39:08 +09:00
Naoki Hamada
53a80e0720
Experimental implementation of map & write.
...
Data is still dummy.
Not even compiled.
modified: executer/kernel/mcctrl.h
modified: executer/kernel/syscall.c
modified: kernel/include/syscall.h
modified: kernel/mem.c
2014-07-01 16:50:25 +09:00
Naoki Hamada
83ced89fa3
Initial commit for core dump.
...
We can create a dummy core file when gpe occurs.
modified: executer/kernel/mcctrl.h
modified: executer/kernel/syscall.c
modified: kernel/include/syscall.h
modified: kernel/mem.c
2014-07-01 16:03:11 +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
Balazs Gerofi bgerofi@riken.jp
514d75b685
execve(): supporting syscall and mcexec modifications
2014-05-22 17:39:13 +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
NAKAMURA Gou
99dec9b805
add parameters to arch_vrflag_to_ptattr()
...
for other architectures and future use
refs #18
2014-05-07 21:24:45 +09:00
NAKAMURA Gou
769cf79bf8
move vrflag_to_ptattr() to arch/x86/kernel/memory.c
...
refs #18
2014-05-07 21:24:45 +09:00
NAKAMURA Gou
8097b057da
add page_is_in_memobj() and page_is_multi_mapped()
...
These are page test functions.
2014-05-07 21:24:45 +09:00
NAKAMURA Gou
ce7af5839d
keep page.count valid through its life cycle
2014-05-07 21:24:45 +09:00
NAKAMURA Gou
29c7d40005
use atomic operations for manipulating page.count
2014-05-07 21:24:45 +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
7103fed1dc
rename free_process() ro release_process()
2014-04-23 13:31:15 +09:00
NAKAMURA Gou
39a86fad18
support execute disabled stack
2014-04-11 14:59:47 +09:00
Balazs Gerofi bgerofi@riken.jp
cf442e6a14
fork(): preliminary version (no wait()/waitpid() support yet)
2014-04-02 14:07:38 +09:00
Balazs Gerofi bgerofi@riken.jp
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
NAKAMURA Gou
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
NAKAMURA Gou
fcbaa9726c
correct the syscall return type
...
Long size syscall return values such as shmat()'s and lseek()'s are
broken, because lower 32 bits are only returned.
2014-02-05 11:30:57 +09:00
NAKAMURA Gou
93c5385f65
implement mmap(MAP_LOCKED)
2014-01-27 18:59:36 +09:00
NAKAMURA Gou
f0a52d4519
implement mmap(MAP_POPULATE)
...
populate_process_memory() function is not efficient,
because whether every small page is present is checked.
2014-01-27 18:50:38 +09:00
NAKAMURA Gou
f5b4057074
add vsyscall
...
- getcpu() is not implemented. It will cause SIGILL.
- gettimeofday() and time() are implemented with syscall.
2014-01-24 20:18:36 +09:00
NAKAMURA Gou
c421965542
relocate a program interpreter to the map_start
...
This commit makes a system call that dereferences a NULL pointer fail.
2014-01-14 18:55:16 +09:00
Tomoki Shirasawa
8411f353fe
signal part 3 (EFAULT)
2014-01-13 10:52:29 +09:00
Tomoki Shirasawa
0465cc16b9
signal (part 2) sigpending
2014-01-07 19:52:06 +09:00
Tomoki Shirasawa
a8c249ddaf
signal (part 1)
2014-01-07 11:57:57 +09:00