Commit Graph

68 Commits

Author SHA1 Message Date
efc817de92 Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-09-05 17:20:50 +09:00
a06e5eb47e Bug fixes. 2014-09-05 16:20:15 +09:00
12ef361436 Removed unneeded variable. 2014-09-04 15:04:22 +09:00
0f95a84293 Migrated. 2014-09-04 14:58:04 +09:00
319590910a Almost implemented. 2014-09-03 15:20:39 +09:00
308987c1ee infrequent fail LTP pipe02 2014-09-03 15:17:44 +09:00
4177f1c9cd TODO: get_page()ed pages have to be put_page()ed
The pages which get_page() has been called with should be recorded.
Because these pages have to be passed to put_page()
before they are freed.
2014-09-02 15:43:10 +09:00
431adf7e7c mcctrl: report success when __NR_munmap succeeds 2014-09-02 15:43:07 +09:00
650088774d Fix for typo. 2014-08-28 15:02:59 +09:00
6245a8eb63 Aesthetical changes. 2014-08-28 15:02:10 +09:00
34c4dd8d77 Separated procfs functions for mcctrl. 2014-08-28 15:00:39 +09:00
3293bfaa1e Fix for generalization. 2014-08-28 14:41:32 +09:00
ca1bf7b7fa Remove debug error. 2014-08-28 09:16:50 +09:00
cb4b00ba97 Added debug messages. 2014-08-28 09:16:50 +09:00
c783ec8e11 Implemented procfs. 2014-08-28 09:16:50 +09:00
5775d3e6da Preliminary implementation for procfs. 2014-08-28 09:16:50 +09:00
8c1c8a40d1 use madvise() when zap_vma_ptes() fails 2014-08-07 17:53:26 +09:00
b4910ec33f use vm_insert_page() if 'struct page' exists 2014-08-07 17:53:26 +09:00
fe39d56554 use mixed mapping instead of PFN mapping 2014-08-07 17:53:26 +09:00
a79a0a618d drop VM_IO because it's not MMIO 2014-08-07 17:53:26 +09:00
b58682dd73 Merge branch 'master' of postpeta.pccluster.org:mckernel into gdb 2014-07-31 10:31:45 +09:00
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
10190e9ed6 prepare for a condition variable for each process. (Redmine#193) 2014-07-25 09:17:43 +09:00
01f52e73e1 Clarification. 2014-07-23 14:06:59 +09:00
dbdaf0ed32 Fix for demand paging and documentation. 2014-07-23 10:23:02 +09:00
cb61739c2b Deleted debug flags & al. 2014-07-18 15:45:40 +09:00
3e8083efc1 Prepare for a core file image. 2014-07-17 15:19:25 +09:00
cb9d346567 Fixed wrong %x to %lx. 2014-07-11 18:48:15 +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
fd6f0c4075 Bookkeeping for error.
modified:   syscall.c
2014-07-02 14:00:46 +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
b3c7676425 Minor change.
modified:   syscall.c
2014-07-01 19:03:50 +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
2f4f3628f9 support tgkill 2014-06-10 10:42:29 +09:00
84c18ef38e MCEXEC_UP_TRANSFER: generalize MCEXEC_UP_LOAD_IMAGE ioctl() to allow transfer in both directions 2014-05-22 12:42:23 +09:00
22d9d6d3a6 use dprintk() for per process data structure debug messages 2014-05-19 12:49:36 +09:00
81a78be20a clean up per process structure in exit_group() and fix wait4() on self bug 2014-05-19 12:49:36 +09:00
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
cf442e6a14 fork(): preliminary version (no wait()/waitpid() support yet) 2014-04-02 14:07:38 +09:00
b01b31f04d use GFP_ATOMIC in interrupt context 2014-03-28 18:43:34 +09:00
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
afc38718a0 add MCEXEC_UP_STRNCPY_FROM_USER
It allows a mcexec to execute the strncpy_from_user().
2014-01-14 18:50:19 +09:00
e5890aa949 typo fix 2013-11-14 16:27:11 +09:00
3f60324d4e add copyright 2013-11-14 15:55:00 +09:00
bbbc6e1570 add shared mapped file (in progress)
implemented:
- Pages can be shared between maps.
- A change made to a map is written to the file, at munmap().

not yet implemented:
- VM operation during page IO execution.
  Because page IO is executed with VM's lock.
- Page IO, which does not change a file size with any case.
  When munmap() races with truncate(), the file size may be changed
  illegally.
2013-11-11 18:18:33 +09:00
bdc02bb687 refuse the write to a read-only memory
It was able to change a read-only memory using a system call that
forwarded to host.

To fix this, when read-only mmap(), it places read-only vm_area in the
mcexec's space.
2013-11-06 16:06:58 +09:00
27172ad413 support private mapped file 2013-10-15 12:30:41 +09:00
bb1390b085 ignore the double registration error
allow the substitute of maps from mcexec thread to the syscall channel

the temporary correction of the problem that gethostbyname() after
accept() interruption finishes an error.
2013-09-05 20:31:47 +09:00
6f76c392ee fix error message typo
- printk("register_peer_channel(%p,%p,%p):"
+ printk("deregister_peer_channel(%p,%p,%p):"
          ^^
2013-09-05 20:31:46 +09:00