604d1da50f
change macro name: PF_DONTCOW --> PF_POPULATE
...
refs #18
2014-04-25 11:19:21 +09:00
c15c2a2024
fix process refcount so that process structure is still valid when final release() is called in schedule()
2014-04-24 17:09:14 +09:00
0e348e6295
SIGCHLD and wait4(), i.e. wait()/waitpid() implementation
2014-04-23 13:33:18 +09:00
7103fed1dc
rename free_process() ro release_process()
2014-04-23 13:31:15 +09:00
2a9bd2efb1
fix clean-up path in create_process()
2014-04-21 19:55:43 +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
40fdb8865b
Merge branch 'master' of postpeta.pccluster.org:mckernel
2014-04-11 15:41:25 +09:00
b93db2411c
check CLONE_VM in clone_flags for determining whether clone()/fork() is requested
2014-04-11 15:41:17 +09:00
39a86fad18
support execute disabled stack
2014-04-11 14:59:47 +09:00
b31a1b6db2
add PTATTR_NO_EXECUTE
2014-04-11 14:59:47 +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
a2515747cf
print CPU core ID in debug messages
2014-03-27 15:32:23 +09:00
76089e2682
add AT_PAGESZ to auxvec
2014-02-26 10:31:44 +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
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
26d68d391d
signal part 4 (sigsuspend etc)
2014-01-24 10:14:49 +09:00
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
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
e86ffb0b57
do write back only MAP_SHARED pages
...
Fix a problem that cause write reference to a MAP_PRIVATE mapping to
change the underlying file.
2014-01-14 18:48:43 +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
0551fb26dd
affinity.h, waitq.h copyright
2013-11-14 17:40:59 +09:00
506caa7e7f
page.h, process.h, rlimit.h, syscall.h, time.h, timer.h copyright
2013-11-14 17:34:30 +09:00
821396be7b
amemcpy.c, cls.h, init.h, kmalloc.h, kmsg.hcopoyright
2013-11-14 17:30:43 +09:00
6bcec77d51
Merge branch 'master' of postpeta.pccluster.org:mckernel
2013-11-14 17:21:54 +09:00
2f63b7ed95
futex.h copyright
2013-11-14 17:21:47 +09:00
cd04de3131
cls.c, copy.c, debug.c, listeners.c, mikc.c copyright
2013-11-14 17:00:37 +09:00
03521e9c2c
add copyrights
2013-11-14 16:49:40 +09:00
d126a35d48
Merge branch 'master' of postpeta.pccluster.org:mckernel
2013-11-14 16:27:39 +09:00
e5890aa949
typo fix
2013-11-14 16:27:11 +09:00
dcea4fefb3
ap.c, futex.c, jhash.h, timer.c, waitq.c copyrights
2013-11-14 16:20:08 +09:00
3f60324d4e
add copyright
2013-11-14 15:55:00 +09:00
334fe81cdb
remove rbtree
2013-11-14 13:07:00 +09:00
98fb5bf091
check cpu_local_var initialized
2013-11-13 23:06:11 +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