Commit Graph

379 Commits

Author SHA1 Message Date
39b336ca2f wait4(): save exit status only if requested 2014-05-12 10:29:58 +09:00
e5aad641ac delete old page fault handlers 2014-05-07 22:10:21 +09:00
71d1359d53 merge two page fault functions
fixes #18
2014-05-07 21:24:45 +09:00
99dec9b805 add parameters to arch_vrflag_to_ptattr()
for other architectures and future use
refs #18
2014-05-07 21:24:45 +09:00
769cf79bf8 move vrflag_to_ptattr() to arch/x86/kernel/memory.c
refs #18
2014-05-07 21:24:45 +09:00
8097b057da add page_is_in_memobj() and page_is_multi_mapped()
These are page test functions.
2014-05-07 21:24:45 +09:00
7e788f06f7 add PTATTR_DIRTY
refs #18
2014-05-07 21:24:45 +09:00
ce7af5839d keep page.count valid through its life cycle 2014-05-07 21:24:45 +09:00
29c7d40005 use atomic operations for manipulating page.count 2014-05-07 21:24:45 +09:00
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