Commit Graph

127 Commits

Author SHA1 Message Date
Naoki Hamada
d7436652bf procfs: add support for <pid>/mem files and ad hoc fix for memory incoherency. 2014-09-17 15:49:47 +09:00
Balazs Gerofi bgerofi@riken.jp
f7780cfe93 kmalloc()/kfree(): allow CPU cores to kfree() a piece of memory that was kmalloc()ed by another core through embedding CPU id into malloc_header 2014-09-14 23:22:43 +09:00
Masamichi Takagi
c78be27442 Support SIGSTOP and SIGCONT 2014-09-10 18:19:39 +09:00
Masamichi Takagi
7ca4ca4d37 Revert "Support SIGSTOP and SIGCONT"
This reverts commit 2325d47952.
2014-09-10 18:19:17 +09:00
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
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