Commit Graph

430 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
NAKAMURA Gou
f5b4057074 add vsyscall
- getcpu() is not implemented. It will cause SIGILL.
- gettimeofday() and time() are implemented with syscall.
2014-01-24 20:18:36 +09:00
NAKAMURA Gou
c421965542 relocate a program interpreter to the map_start
This commit makes a system call that dereferences a NULL pointer fail.
2014-01-14 18:55:16 +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
Yuji Saeki
0551fb26dd affinity.h, waitq.h copyright 2013-11-14 17:40:59 +09:00
Yuji Saeki
506caa7e7f page.h, process.h, rlimit.h, syscall.h, time.h, timer.h copyright 2013-11-14 17:34:30 +09:00
Yuji Saeki
821396be7b amemcpy.c, cls.h, init.h, kmalloc.h, kmsg.hcopoyright 2013-11-14 17:30:43 +09:00
Balazs Gerofi bgerofi@riken.jp
2f63b7ed95 futex.h copyright 2013-11-14 17:21:47 +09:00
NAKAMURA Gou
03521e9c2c add copyrights 2013-11-14 16:49:40 +09:00
Balazs Gerofi bgerofi@riken.jp
dcea4fefb3 ap.c, futex.c, jhash.h, timer.c, waitq.c copyrights 2013-11-14 16:20:08 +09:00
Tomoki Shirasawa
334fe81cdb remove rbtree 2013-11-14 13:07:00 +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
d557ba84d6 exclude interpreter's segment from data region
When an interpreter is located on the lower address (e.g. 0x0),
the text region is included in data region.
A fix to avoid this.
2013-10-30 14:28:32 +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
413fe7b54a mcexec: add a interpreter invocation
When start a program which have a PT_INTERP segment
(dynamic linkaged program have a PT_INTERP segment),
start the interpreter indicated by the PT_INTERP segment.
2013-10-11 22:23:22 +09:00
NAKAMURA Gou
a171da1015 add a AT_ENTRY entry to the auxiliary vector 2013-10-11 22:23:22 +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
480f6d4c2f rewrite page_fault_handler() 2013-08-08 12:43:00 +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
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
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
NAKAMURA Gou
dae884d572 add syscall number constants in syscall.h 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
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
8436f5a5ac add remove_process_memory_range() 2013-06-12 11:49:19 +09:00
Tomoki Shirasawa
d8034eeb13 propagate error code for prepare image 2013-06-05 17:38:23 +09:00
Tomoki Shirasawa
40ad744947 remove unused function add_process_large_range from source file 2013-06-02 19:38:29 +09:00
Balazs Gerofi bgerofi@riken.jp
4a27a65cb0 resolved merge conflicts with futex code 2013-06-02 16:42:08 +09:00
Tomoki Shirasawa
54798253c5 add error handling for prepare_process 2013-06-02 13:49:10 +09:00
Tomoki Shirasawa
da3965be11 Merge branch 'master' of postpeta.pccluster.org:mckernel
Conflicts:
	kernel/host.c
	kernel/process.c
	lib/include/ihk/mm.h
2013-05-28 12:49:13 +09:00
Tomoki Shirasawa
bb4caccf98 add memory allocation check 2013-05-28 12:06:41 +09:00
NAKAMURA Gou
fa1be382c7 release the resources of the process at exit(2)/exit_group(2). 2013-05-28 11:31:23 +09:00
Balazs Gerofi bgerofi@riken.jp
83db56a040 futex adaptation from Linux 2.6.34 (Intel MPSS Linux) 2013-05-10 14:23:14 +09:00
NAKAMURA Gou
e09160cce7 add generic system call forwarding 2013-04-17 20:32:33 +09:00
SHIMADA Keiko
b6e21f2dab add rbtree source 2013-01-16 16:13:17 +09:00
shirasawa
9818e199f6 support builtin-x86 and builtin-mic 2013-01-06 15:45:17 +09:00
Tomoki Shirasawa
4693789608 change function names 2012-12-17 16:15:05 +09:00