Commit Graph

126 Commits

Author SHA1 Message Date
NAKAMURA Gou
f2e0e42ba4 mcexec: report proper error when __NR_munmap fails 2014-09-02 15:43:08 +09:00
NAKAMURA Gou
431adf7e7c mcctrl: report success when __NR_munmap succeeds 2014-09-02 15:43:07 +09:00
NAKAMURA Gou
8c1c8a40d1 use madvise() when zap_vma_ptes() fails 2014-08-07 17:53:26 +09:00
NAKAMURA Gou
b4910ec33f use vm_insert_page() if 'struct page' exists 2014-08-07 17:53:26 +09:00
NAKAMURA Gou
fe39d56554 use mixed mapping instead of PFN mapping 2014-08-07 17:53:26 +09:00
NAKAMURA Gou
a79a0a618d drop VM_IO because it's not MMIO 2014-08-07 17:53:26 +09:00
Balazs Gerofi bgerofi@riken.jp
9fda245490 execve(): return correct error value when failure (errno) 2014-08-07 14:35:15 +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
27bfe37b80 execve(): fix looking up relative path and checking executable permission 2014-07-29 15:48:14 +09:00
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
Balazs Gerofi bgerofi@riken.jp
c83e80ad91 execve(): clear host user-space PTEs before context switching 2014-07-28 18:57:56 +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
Naoki Hamada
01f52e73e1 Clarification. 2014-07-23 14:06:59 +09:00
Naoki Hamada
dbdaf0ed32 Fix for demand paging and documentation. 2014-07-23 10:23:02 +09:00
Naoki Hamada
cb61739c2b Deleted debug flags & al. 2014-07-18 15:45:40 +09:00
Naoki Hamada
3e8083efc1 Prepare for a core file image. 2014-07-17 15:19:25 +09:00
Naoki Hamada
cb9d346567 Fixed wrong %x to %lx. 2014-07-11 18:48:15 +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
Naoki Hamada
fd6f0c4075 Bookkeeping for error.
modified:   syscall.c
2014-07-02 14:00:46 +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
b3c7676425 Minor change.
modified:   syscall.c
2014-07-01 19:03:50 +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
Tomoki Shirasawa
2f4f3628f9 support tgkill 2014-06-10 10:42:29 +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
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
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
bgerofi@riken.jp
22d9d6d3a6 use dprintk() for per process data structure debug messages 2014-05-19 12:49:36 +09:00
bgerofi@riken.jp
81a78be20a clean up per process structure in exit_group() and fix wait4() on self bug 2014-05-19 12:49:36 +09:00
Balazs Gerofi bgerofi@riken.jp
426c67861c introduction of mcctrl_per_process data to keep track remote page tables on a per-process basis 2014-05-13 00:22:56 +09:00
Balazs Gerofi bgerofi@riken.jp
a5b8d388e9 dprintf exit status 2014-05-12 10:30:39 +09:00
Tomoki Shirasawa
cc8317643e SIGPIPE fix (ltp writev) 2014-04-25 08:43:08 +09:00
Balazs Gerofi bgerofi@riken.jp
0e348e6295 SIGCHLD and wait4(), i.e. wait()/waitpid() implementation 2014-04-23 13:33:18 +09:00
NAKAMURA Gou
39a86fad18 support execute disabled stack 2014-04-11 14:59:47 +09:00
NAKAMURA Gou
da81cd2d1d mcexec: copy a pathname string of open(2) safely
When a open system call request is delegated, mcexec will check whether
a path name is known one such as "/proc/meminfo" and "/proc/cpuinfo".
During this check, if mcexec causes a SIGSEGV or SIGBUS signal,
mcexec will begin a loop, because mcexec has a signal handler which
returns simply.
2014-04-03 15:27:49 +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
391b69e8c4 refactor mcexec's main and separate signal and syscall thread initialization 2014-04-02 14:04:55 +09:00
Balazs Gerofi bgerofi@riken.jp
b01b31f04d use GFP_ATOMIC in interrupt context 2014-03-28 18:43:34 +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
Balazs Gerofi bgerofi@riken.jp
51f75d9ba8 mcexec: options for target CPU core ID where application is executed 2014-03-27 14:58:26 +09:00
Tomoki Shirasawa
74339586d5 change dma_buf size 256MB -> 4kB 2014-02-07 10:57:50 +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
bdc945cb34 mcexec: wait for the signal to be received
The mcexec may send a signal to itself in order that the mcexec
terminates abnormally.
Generally, the signal is delivered to the thread which sent the signal.
In this case, the signal terminates the mcexec immediately.

However, if the signal is delivered to another thread,
the thread which sent the signal can call exit(3)
before the signal terminates the mcexec.
2014-01-24 20:22:54 +09:00