0e348e6295
SIGCHLD and wait4(), i.e. wait()/waitpid() implementation
2014-04-23 13:33:18 +09:00
d6c0ea7627
assign the same TID and PID to the new process after fork()
2014-04-15 20:40:40 +09:00
d090e3f28d
Merge branch 'master' of postpeta.pccluster.org:mckernel
2014-04-13 14:13:46 +09:00
b93db2411c
check CLONE_VM in clone_flags for determining whether clone()/fork() is requested
2014-04-11 15:41:17 +09:00
7eeafb0d85
change parameter types of arch-regs to "void *"
2014-04-03 15:33:34 +09:00
583c9355cd
fix argument of set_tid_address()
2014-04-02 18:02:04 +09:00
cf442e6a14
fork(): preliminary version (no wait()/waitpid() support yet)
2014-04-02 14:07:38 +09:00
dabca28e4b
Merge branch 'master' of postpeta.pccluster.org:mckernel
2014-03-30 16:14:43 +09:00
e112aa8b06
remove DMA call
2014-03-30 16:14:19 +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
dca831b94f
add error check codes for madvise()
...
The advice will be ignored even if this madvise() succeed.
2014-02-05 11:31:03 +09:00
b2b9b566c8
implement munlock()
2014-02-05 11:31:01 +09:00
f2a6515448
implement mlock()
2014-02-05 11:30:59 +09:00
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