Commit Graph

428 Commits

Author SHA1 Message Date
bgerofi@riken.jp
f1e39f5fb2 execve(): find executable first in COKERNEL_PATH and then in PATH if executable name is not absolute 2014-07-29 11:14:09 +09:00
Tomoki Shirasawa
e5d3407d8e child mcexec don't print signal terminate message 2014-07-29 11:10:11 +09:00
Tomoki Shirasawa
8f78b3085c Sending SIGKILL/SIGTERM resulting in SIGSEGV delivered (Redmine#194) 2014-07-29 11:04:46 +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
Balazs Gerofi bgerofi@riken.jp
07b07476b7 remote TLB invalidation: follow migrated threads by affinity calls 2014-07-27 13:11:41 +09:00
Tomoki Shirasawa
17730617e1 when wakeup for syscall and recieve signal occur in the same timing, a program is freezed. 2014-07-25 10:54:30 +09:00
Tomoki Shirasawa
10190e9ed6 prepare for a condition variable for each process. (Redmine#193) 2014-07-25 09:17:43 +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
Balazs Gerofi bgerofi@riken.jp
a5b36e2b51 dkprintf() support in kernel/listeners.c 2014-07-17 12:28:57 +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
YOSHIDA Masanori
1889d10e3a add cpu_set and getter/setter of that (incomplete sched_***affinity) 2014-07-13 17:04:32 +09:00
YOSHIDA Masanori
f923e03565 fix to make CPU idle when len(runq) != 0 but all queued are sleeping 2014-07-13 17:04:09 +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
Tomoki Shirasawa
292b34fe21 signal handler is not passed to a child process(redmine#62) 2014-07-13 12:49:30 +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
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
NAKAMURA Gou
d59628e131 fix debug prints to avoid NULL dereferences 2014-07-07 18:11:34 +09:00
NAKAMURA Gou
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
NAKAMURA Gou
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
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
Tomoki Shirasawa
19fc50ee05 Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-06-10 10:42:55 +09:00
Tomoki Shirasawa
2f4f3628f9 support tgkill 2014-06-10 10:42:29 +09:00
NAKAMURA Gou
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
Balazs Gerofi bgerofi@riken.jp
2331309d2f mcexec: use optind instead of shifting argv[] for arguments passing to remote app 2014-05-27 17:52:56 +09:00
NAKAMURA Gou
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
Balazs Gerofi bgerofi@riken.jp
514d75b685 execve(): supporting syscall and mcexec modifications 2014-05-22 17:39:13 +09:00
Balazs Gerofi bgerofi@riken.jp
badb450153 more detailed report in memory management error path 2014-05-22 17:27:39 +09:00
Balazs Gerofi bgerofi@riken.jp
6a8e75dda0 fix argc bug 2014-05-22 17:11:10 +09:00
Balazs Gerofi bgerofi@riken.jp
6ca8b77cf2 fix argv/argc bug 2014-05-22 16:39:07 +09:00
Balazs Gerofi bgerofi@riken.jp
a4e6269c5d adjust prepare_process_ranges_args_envs() so that it can initialize arguments and environmnt variables from kernel space strings 2014-05-22 13:45:23 +09:00
Balazs Gerofi bgerofi@riken.jp
760c9ebdb0 refactor process_msg_prepare_process() in preparation for execve() 2014-05-22 13:27:25 +09:00
Balazs Gerofi bgerofi@riken.jp
84c18ef38e MCEXEC_UP_TRANSFER: generalize MCEXEC_UP_LOAD_IMAGE ioctl() to allow transfer in both directions 2014-05-22 12:42:23 +09:00
Balazs Gerofi bgerofi@riken.jp
f810aa56b8 refactoring mcexec's main() in preparation for execve() 2014-05-21 21:55:49 +09:00
Balazs Gerofi bgerofi@riken.jp
f90e294384 flatten_strings() kernel space version 2014-05-21 14:13:46 +09:00