Commit Graph

120 Commits

Author SHA1 Message Date
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
93c5385f65 implement mmap(MAP_LOCKED) 2014-01-27 18:59:36 +09:00
f0a52d4519 implement mmap(MAP_POPULATE)
populate_process_memory() function is not efficient,
because whether every small page is present is checked.
2014-01-27 18:50:38 +09:00
26d68d391d signal part 4 (sigsuspend etc) 2014-01-24 10:14:49 +09:00
6992b829a0 delegate the open(2) with the generic forwarding.
This commit solves a problem that causes getpwnam()/getpwuid() to return
NULL.
2014-01-14 18:50:20 +09:00
8411f353fe signal part 3 (EFAULT) 2014-01-13 10:52:29 +09:00
0465cc16b9 signal (part 2) sigpending 2014-01-07 19:52:06 +09:00
a8c249ddaf signal (part 1) 2014-01-07 11:57:57 +09:00
9e00275120 fork & execve return EOPNOTSUPP (temporary hack) 2013-12-18 16:10:13 +09:00
96576aaee7 fix general protection fault caused by SIGALARM 2013-12-16 13:45:45 +09:00
03521e9c2c add copyrights 2013-11-14 16:49:40 +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
89be2af09a sys_mprotect: remove blocking of free_pages()
Because mprotect() does not release physical page, this is unnecessary.
2013-11-06 16:06:01 +09:00
27172ad413 support private mapped file 2013-10-15 12:30:41 +09:00
4fb6620f3a sys_getrlimit: modified to return mcexec's RLIMIT_STACK 2013-10-11 22:36:16 +09:00
47722baf2e add mcexec's PTE cleaning to munmap()/mmap(MAP_FIXED)
The correction of the problem that MKL application does not start
2013-09-05 13:19:54 +09:00
0e0684cd1c support shared anonymous mapping
mmap(..., MAP_SHARED|MAP_ANONYMOUS, ...) is possible now.
shared mapped file is still not implemented.
2013-09-04 19:03:31 +09:00
877f1be797 fix error message
- ekprintf("sys_mmap(%lx,%lx,%x,%x,%x,%lx):unknown flags %lx\n",
+ ekprintf("sys_mmap(%lx,%lx,%x,%x,%x,%lx):unknown flags %x\n",
                                                         ^^
2013-09-04 19:03:31 +09:00
fe05e1107c fix alignment of struct syscall_request variable
since used with DMA, it must be IHK_DMA_ALIGN
2013-09-03 19:37:37 +09:00
040fb64b22 add terminate thread 2013-09-02 00:39:22 +09:00
1d69225532 mcexec forward signal to MIC process. 2013-08-19 12:17:23 +09:00
591f398768 add page fault forwarding 2013-08-08 12:43:15 +09:00
b0de24f13e sys_mprotect: delete unnecessary error check 2013-08-08 12:39:12 +09:00
6109eabc23 sys_munmap: add error check 2013-08-08 12:39:11 +09:00
88ce001671 munmap/mprotect: add TLB flush for single thread program 2013-08-08 12:39:09 +09:00
78d9d3fcd2 Revert "trial implementation of private file mapping"
This reverts commit abe57218c4.
2013-07-26 16:44:39 +09:00
abe57218c4 trial implementation of private file mapping
for review only.  will soon be reverted.
2013-07-26 14:40:12 +09:00
70e46dcd4b mcexec print signum or exit status 2013-07-26 13:14:39 +09:00
221f2c0517 support SIGSEGV(page fault) and SIGILL(general protection error) 2013-07-26 11:53:00 +09:00
deb9cd4e75 implement sys_munmap() 2013-07-18 09:25:58 +09:00
334662b7fe implement sys_mprotect() 2013-07-18 09:25:58 +09:00
9de06e90e7 rewrite and replace sys_mmap() 2013-07-18 09:25:58 +09:00
3749696d3e simple signal handler and kill(2) support. 2013-07-18 08:53:28 +09:00
2aa5194958 rewrite sys_mmap() as sys_new_mmap() 2013-07-10 13:11:19 +09:00
4214441ac3 Make clone system-call create a new thread on the next available physical core
and skip the physical core with a system process so that
programs using Intel OpenMP bind threads to cores in that manner.
2013-07-05 18:55:03 +09:00
b59be07e9a implementing demand paging to make it possible to run Intel OpenMP programs 2013-07-04 15:41:12 +09:00
75b51ec0c1 delete SYSCALL_DECLARE(process_data_section) 2013-07-01 12:44:12 +09:00
cbc37b62a9 return syscall_table[] to the arch-independent part 2013-07-01 12:44:12 +09:00
4695b332e2 move syscall_table[] to the architecture-depended part 2013-06-19 16:52:46 +09:00
5369864551 fix warnings 2013-06-19 16:47:02 +09:00
32b8cc4651 delete unused codes 2013-06-17 18:07:26 +09:00
8a7429d872 delete SYSCALL_DECLARE(gettimeofday) 2013-06-17 18:07:26 +09:00
329dd42c32 add gettimeofday by physical buffer. used by futex() 2013-06-17 18:07:26 +09:00
3d11115491 delete SYSCALL_DECLARE(readlink) 2013-06-17 18:07:26 +09:00
1167ea7fb6 delete SYSCALL_DECLARE(getdents64) 2013-06-17 18:07:26 +09:00
b463f39344 delete SYSCALL_DECLARE(access) 2013-06-17 18:07:26 +09:00
628793225f delete SYSCALL_DECLARE(getcwd) 2013-06-17 18:07:26 +09:00
d6f6e4d6d7 delete SYSCALL_DECLARE(uname) 2013-06-17 18:07:26 +09:00
4494e54d38 delete SYSCALL_DECLARE(lseek) 2013-06-17 18:07:26 +09:00