Commit Graph

182 Commits

Author SHA1 Message Date
d692b57a67 Revert "idle 開始時に free_list の状況を表示する"
This reverts commit ec47968a48.
2014-09-17 19:59:27 +09:00
438c7fd784 add devobj a new memobj 2014-09-17 19:48:02 +09:00
fdb86115a8 add pager requests for device mapping
- PAGER_REQ_MAP
  map specified file, and create a private device pager.
- PAGER_REQ_UNMAP
  destroy specified private device pager, and unmap related mapping.
- PAGER_REQ_PFN
  report a physical address.
2014-09-17 19:48:00 +09:00
f641090a7e support uncachable on-demand mapping 2014-09-17 19:47:58 +09:00
ec47968a48 idle 開始時に free_list の状況を表示する 2014-09-17 19:46:52 +09:00
d7436652bf procfs: add support for <pid>/mem files and ad hoc fix for memory incoherency. 2014-09-17 15:49:47 +09:00
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
c78be27442 Support SIGSTOP and SIGCONT 2014-09-10 18:19:39 +09:00
7ca4ca4d37 Revert "Support SIGSTOP and SIGCONT"
This reverts commit 2325d47952.
2014-09-10 18:19:17 +09:00
2325d47952 Support SIGSTOP and SIGCONT 2014-09-10 17:01:21 +09:00
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
efc817de92 Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-09-05 17:20:50 +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
c783ec8e11 Implemented procfs. 2014-08-28 09:16:50 +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
78d10cce80 support process group 2014-08-18 17:08:28 +09:00
3fa6818962 Merge from master. 2014-07-31 18:30:39 +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
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
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
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
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
9057268f0e add memobj's default action 2014-07-07 18:11:38 +09:00
9efb5e4fc5 add memobj_has_pager() 2014-07-07 18:11:36 +09:00
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
11bb334bd4 support mremap(2)
fixes #22
2014-07-02 15:30:52 +09:00
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
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
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
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
514d75b685 execve(): supporting syscall and mcexec modifications 2014-05-22 17:39:13 +09:00
3e830521c1 move rt_sigaction to device dependent
fix call kill(getpid(), ) after sigaction aborted
2014-05-16 09:50:06 +09:00
99dec9b805 add parameters to arch_vrflag_to_ptattr()
for other architectures and future use
refs #18
2014-05-07 21:24:45 +09:00
769cf79bf8 move vrflag_to_ptattr() to arch/x86/kernel/memory.c
refs #18
2014-05-07 21:24:45 +09:00
8097b057da add page_is_in_memobj() and page_is_multi_mapped()
These are page test functions.
2014-05-07 21:24:45 +09:00
ce7af5839d keep page.count valid through its life cycle 2014-05-07 21:24:45 +09:00
29c7d40005 use atomic operations for manipulating page.count 2014-05-07 21:24:45 +09:00
0e348e6295 SIGCHLD and wait4(), i.e. wait()/waitpid() implementation 2014-04-23 13:33:18 +09:00
7103fed1dc rename free_process() ro release_process() 2014-04-23 13:31:15 +09:00
39a86fad18 support execute disabled stack 2014-04-11 14:59:47 +09:00
cf442e6a14 fork(): preliminary version (no wait()/waitpid() support yet) 2014-04-02 14:07:38 +09:00