Commit Graph

120 Commits

Author SHA1 Message Date
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
93c5385f65 implement mmap(MAP_LOCKED) 2014-01-27 18:59:36 +09:00
NAKAMURA Gou
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
Tomoki Shirasawa
26d68d391d signal part 4 (sigsuspend etc) 2014-01-24 10:14:49 +09:00
NAKAMURA Gou
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
Tomoki Shirasawa
8411f353fe signal part 3 (EFAULT) 2014-01-13 10:52:29 +09:00
Tomoki Shirasawa
0465cc16b9 signal (part 2) sigpending 2014-01-07 19:52:06 +09:00
Tomoki Shirasawa
a8c249ddaf signal (part 1) 2014-01-07 11:57:57 +09:00
Tomoki Shirasawa
9e00275120 fork & execve return EOPNOTSUPP (temporary hack) 2013-12-18 16:10:13 +09:00
Tomoki Shirasawa
96576aaee7 fix general protection fault caused by SIGALARM 2013-12-16 13:45:45 +09:00
NAKAMURA Gou
03521e9c2c add copyrights 2013-11-14 16:49:40 +09:00
NAKAMURA Gou
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
NAKAMURA Gou
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
NAKAMURA Gou
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
NAKAMURA Gou
27172ad413 support private mapped file 2013-10-15 12:30:41 +09:00
NAKAMURA Gou
4fb6620f3a sys_getrlimit: modified to return mcexec's RLIMIT_STACK 2013-10-11 22:36:16 +09:00
NAKAMURA Gou
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
NAKAMURA Gou
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
NAKAMURA Gou
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
NAKAMURA Gou
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
Tomoki Shirasawa
040fb64b22 add terminate thread 2013-09-02 00:39:22 +09:00
Tomoki Shirasawa
1d69225532 mcexec forward signal to MIC process. 2013-08-19 12:17:23 +09:00
NAKAMURA Gou
591f398768 add page fault forwarding 2013-08-08 12:43:15 +09:00
NAKAMURA Gou
b0de24f13e sys_mprotect: delete unnecessary error check 2013-08-08 12:39:12 +09:00
NAKAMURA Gou
6109eabc23 sys_munmap: add error check 2013-08-08 12:39:11 +09:00
NAKAMURA Gou
88ce001671 munmap/mprotect: add TLB flush for single thread program 2013-08-08 12:39:09 +09:00
NAKAMURA Gou
78d9d3fcd2 Revert "trial implementation of private file mapping"
This reverts commit abe57218c4.
2013-07-26 16:44:39 +09:00
NAKAMURA Gou
abe57218c4 trial implementation of private file mapping
for review only.  will soon be reverted.
2013-07-26 14:40:12 +09:00
Tomoki Shirasawa
70e46dcd4b mcexec print signum or exit status 2013-07-26 13:14:39 +09:00
Tomoki Shirasawa
221f2c0517 support SIGSEGV(page fault) and SIGILL(general protection error) 2013-07-26 11:53:00 +09:00
NAKAMURA Gou
deb9cd4e75 implement sys_munmap() 2013-07-18 09:25:58 +09:00
NAKAMURA Gou
334662b7fe implement sys_mprotect() 2013-07-18 09:25:58 +09:00
NAKAMURA Gou
9de06e90e7 rewrite and replace sys_mmap() 2013-07-18 09:25:58 +09:00
Tomoki Shirasawa
3749696d3e simple signal handler and kill(2) support. 2013-07-18 08:53:28 +09:00
NAKAMURA Gou
2aa5194958 rewrite sys_mmap() as sys_new_mmap() 2013-07-10 13:11:19 +09:00
Masamichi Takagi m-takagi@ab.jp.nec.com
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
Masamichi Takagi m-takagi@ab.jp.nec.com
b59be07e9a implementing demand paging to make it possible to run Intel OpenMP programs 2013-07-04 15:41:12 +09:00
NAKAMURA Gou
75b51ec0c1 delete SYSCALL_DECLARE(process_data_section) 2013-07-01 12:44:12 +09:00
NAKAMURA Gou
cbc37b62a9 return syscall_table[] to the arch-independent part 2013-07-01 12:44:12 +09:00
NAKAMURA Gou
4695b332e2 move syscall_table[] to the architecture-depended part 2013-06-19 16:52:46 +09:00
NAKAMURA Gou
5369864551 fix warnings 2013-06-19 16:47:02 +09:00
NAKAMURA Gou
32b8cc4651 delete unused codes 2013-06-17 18:07:26 +09:00
NAKAMURA Gou
8a7429d872 delete SYSCALL_DECLARE(gettimeofday) 2013-06-17 18:07:26 +09:00
NAKAMURA Gou
329dd42c32 add gettimeofday by physical buffer. used by futex() 2013-06-17 18:07:26 +09:00
NAKAMURA Gou
3d11115491 delete SYSCALL_DECLARE(readlink) 2013-06-17 18:07:26 +09:00
NAKAMURA Gou
1167ea7fb6 delete SYSCALL_DECLARE(getdents64) 2013-06-17 18:07:26 +09:00
NAKAMURA Gou
b463f39344 delete SYSCALL_DECLARE(access) 2013-06-17 18:07:26 +09:00
NAKAMURA Gou
628793225f delete SYSCALL_DECLARE(getcwd) 2013-06-17 18:07:26 +09:00
NAKAMURA Gou
d6f6e4d6d7 delete SYSCALL_DECLARE(uname) 2013-06-17 18:07:26 +09:00
NAKAMURA Gou
4494e54d38 delete SYSCALL_DECLARE(lseek) 2013-06-17 18:07:26 +09:00