Commit Graph

740 Commits

Author SHA1 Message Date
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
Masamichi Takagi
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
Naoki Hamada
efc817de92 Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-09-05 17:20:50 +09:00
Naoki Hamada
319590910a Almost implemented. 2014-09-03 15:20:39 +09:00
Tomoki Shirasawa
7b825c0a65 fix coredump (ltp abort01) 2014-09-03 10:56:41 +09:00
Tomoki Shirasawa
f535670100 fix pipe02 2014-08-27 16:50:01 +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
f4818e9c09 don't force terminate, when SIGTERM recieved 2014-08-21 17:22:11 +09:00
Tomoki Shirasawa
dd8b2a8f15 sigaction returns -EINVAL, when sig == SIGKILL or SIGSTOP 2014-08-21 14:04:38 +09:00
Tomoki Shirasawa
78d10cce80 support process group 2014-08-18 17:08:28 +09:00
Tomoki Shirasawa
663c121308 interrupt syscall sufficient threads 2014-08-18 16:49:49 +09:00
Balazs Gerofi bgerofi@riken.jp
9448cefe80 do not track arch/x86/tools/mcshutdown-attached-mic.sh (generated file) 2014-08-07 14:32:43 +09:00
Naoki Hamada
2a1c092fcb Merge remote branch 'origin/master' into gdb 2014-08-01 11:19:18 +09:00
Naoki Hamada
4d223269e6 Remove delivative files. 2014-08-01 11:14:31 +09:00
Naoki Hamada
1e0db73a48 Add files from master. 2014-08-01 09:16:53 +09:00
Masamichi Takagi
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
Naoki Hamada
b58682dd73 Merge branch 'master' of postpeta.pccluster.org:mckernel into gdb 2014-07-31 10:31:45 +09:00
Tomoki Shirasawa
8f78b3085c Sending SIGKILL/SIGTERM resulting in SIGSEGV delivered (Redmine#194) 2014-07-29 11:04:46 +09:00
Naoki Hamada
f5b37ef577 Fixed bad offset problem and clarified alignment. 2014-07-25 10:26:24 +09:00
Naoki Hamada
530535c162 Merge remote branch 'origin/master' into gdb 2014-07-23 10:29:07 +09:00
Naoki Hamada
dbdaf0ed32 Fix for demand paging and documentation. 2014-07-23 10:23:02 +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
Naoki Hamada
6c3d901069 Include switch for a plain Xeon. 2014-07-17 17:26:54 +09:00
Naoki Hamada
97a74f4692 Fix for core NOTE alignment & al. 2014-07-17 16:56:28 +09:00
Naoki Hamada
3e8083efc1 Prepare for a core file image. 2014-07-17 15:19:25 +09:00
bgerofi@riken.jp
35b8716966 push/pop r12,r13 and r14 as well when entering/leaving kernel space 2014-07-15 18:03:44 +09:00
YOSHIDA Masanori
99931179e1 add get_cpu_id syscall with No.700 for testing 2014-07-13 17:05:27 +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
Tomoki Shirasawa
39c8617793 Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-07-13 12:52:16 +09:00
Tomoki Shirasawa
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
Naoki Hamada
cb9d346567 Fixed wrong %x to %lx. 2014-07-11 18:48:15 +09:00
Naoki Hamada
b3f3932825 Typo fix and removed DUMMY definition. 2014-07-10 17:13:05 +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
Balazs Gerofi bgerofi@riken.jp
31a605f94b push/pop r15 when entering/leaving kernel space (fix for bug #53: r15 wasn't propagated during fork()) 2014-07-10 13:53:12 +09:00
Naoki Hamada
0d7d1ebbd5 Minor fix for semantic correction. 2014-07-07 16:12:06 +09:00
Naoki Hamada
79a72809af Prepare inside of core. Not tested.
modified:   arch/x86/kernel/gencore.c
	modified:   arch/x86/kernel/include/elfcore.h
	modified:   kernel/mem.c
2014-07-07 15:46:10 +09:00
Naoki Hamada
14cc85c207 Added needed files.
new file:   arch/x86/kernel/gencore.c
	new file:   arch/x86/kernel/include/elfcore.h
	new file:   arch/x86/kernel/include/elfcoregpl.h
2014-07-04 15:44:48 +09:00
NAKAMURA Gou
11bb334bd4 support mremap(2)
fixes #22
2014-07-02 15:30:52 +09:00
NAKAMURA Gou
90aaf9dc9c support remap_file_pages(2)
fixes #21
2014-06-30 17:33:51 +09:00
NAKAMURA Gou
bb3756dc74 add fileoff-type PTE
fileoff-type PTE holds a file offset which the page data should be
loaded from.

refs #21
2014-06-30 17:33:50 +09:00
NAKAMURA Gou
04f1b3f401 add pte_xchg() 2014-06-30 17:33:46 +09:00
NAKAMURA Gou
c395dc2410 add pte_is_dirty() 2014-06-30 17:33:45 +09:00
NAKAMURA Gou
d2e29bf598 add visit_pte_range()
refs #21
refs #22
2014-06-30 17:33:43 +09:00
Tomoki Shirasawa
dc7f38c8c7 Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-06-25 13:45:46 +09:00
Tomoki Shirasawa
770eae0186 support sigaltstack 2014-06-25 13:45:33 +09:00
Masamichi Takagi
a9bebf1e14 Make idle loop not miss a chance to schedule
Prevents the case where McKernel misses one chance to schedule a
task when an interrupt occurs just after enabling interrupt and
just before executing "halt" in the idle loop (in kernel/process.c).

refs #45
2014-06-12 11:22:02 +09:00
Tomoki Shirasawa
bbb7f77706 interrupt syscall of signal recieved process 2014-06-11 21:06:52 +09:00