Commit Graph

426 Commits

Author SHA1 Message Date
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
Tomoki Shirasawa
0a808057eb modify include lines and Makefiles 2012-12-17 16:10:56 +09:00
Balazs Gerofi bgerofi@riken.jp
092069fd80 spin-wait based kernel timer (for futex() timeout) implementation 2012-11-28 15:22:53 +09:00
simin
b79d20d7bf modification for no_cache: extend_process_region(...,flag) 2012-11-27 16:38:05 +09:00
simin
31098d3d75 add nocache for mmap. usage: void *va = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANONYMOUS | 0x40, -1, 0); 2012-11-27 14:56:40 +09:00