Commit Graph
1185 Commits
Author SHA1 Message Date
Balazs Gerofi bgerofi@riken.jp a4e6269c5d adjust prepare_process_ranges_args_envs() so that it can initialize arguments and environmnt variables from kernel space strings 2014-05-22 13:45:23 +09:00
Balazs Gerofi bgerofi@riken.jp 760c9ebdb0 refactor process_msg_prepare_process() in preparation for execve() 2014-05-22 13:27:25 +09:00
Balazs Gerofi bgerofi@riken.jp 2fead93f10 negative error code for ECHILD 2014-05-19 13:04:09 +09:00
bgerofi@riken.jpandBalazs Gerofi bgerofi@riken.jp 81a78be20a clean up per process structure in exit_group() and fix wait4() on self bug 2014-05-19 12:49:36 +09:00
Tomoki Shirasawa 3e830521c1 move rt_sigaction to device dependent
fix call kill(getpid(), ) after sigaction aborted
2014-05-16 09:50:06 +09:00
Balazs Gerofi bgerofi@riken.jp ac65e6c869 wait4(): support for ECHILD error check 2014-05-13 10:28:27 +09:00
Balazs Gerofi bgerofi@riken.jp 39b336ca2f wait4(): save exit status only if requested 2014-05-12 10:29:58 +09:00
NAKAMURA Gou e5aad641ac delete old page fault handlers 2014-05-07 22:10:21 +09:00
NAKAMURA Gou 71d1359d53 merge two page fault functions
fixes #18
2014-05-07 21:24:45 +09:00
NAKAMURA Gou 99dec9b805 add parameters to arch_vrflag_to_ptattr()
for other architectures and future use
refs #18
2014-05-07 21:24:45 +09:00
NAKAMURA Gou 769cf79bf8 move vrflag_to_ptattr() to arch/x86/kernel/memory.c
refs #18
2014-05-07 21:24:45 +09:00
NAKAMURA Gou 8097b057da add page_is_in_memobj() and page_is_multi_mapped()
These are page test functions.
2014-05-07 21:24:45 +09:00
NAKAMURA Gou 7e788f06f7 add PTATTR_DIRTY
refs #18
2014-05-07 21:24:45 +09:00
NAKAMURA Gou ce7af5839d keep page.count valid through its life cycle 2014-05-07 21:24:45 +09:00
NAKAMURA Gou 29c7d40005 use atomic operations for manipulating page.count 2014-05-07 21:24:45 +09:00
NAKAMURA Gou 604d1da50f change macro name: PF_DONTCOW --> PF_POPULATE
refs #18
2014-04-25 11:19:21 +09:00
Balazs Gerofi bgerofi@riken.jp 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
Balazs Gerofi bgerofi@riken.jp 0e348e6295 SIGCHLD and wait4(), i.e. wait()/waitpid() implementation 2014-04-23 13:33:18 +09:00
Balazs Gerofi bgerofi@riken.jp 7103fed1dc rename free_process() ro release_process() 2014-04-23 13:31:15 +09:00
Balazs Gerofi bgerofi@riken.jp 2a9bd2efb1 fix clean-up path in create_process() 2014-04-21 19:55:43 +09:00
Balazs Gerofi bgerofi@riken.jp d6c0ea7627 assign the same TID and PID to the new process after fork() 2014-04-15 20:40:40 +09:00
Tomoki Shirasawa d090e3f28d Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-04-13 14:13:46 +09:00
Balazs Gerofi bgerofi@riken.jp 40fdb8865b Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-04-11 15:41:25 +09:00
Balazs Gerofi bgerofi@riken.jp b93db2411c check CLONE_VM in clone_flags for determining whether clone()/fork() is requested 2014-04-11 15:41:17 +09:00
NAKAMURA Gou 39a86fad18 support execute disabled stack 2014-04-11 14:59:47 +09:00
NAKAMURA Gou b31a1b6db2 add PTATTR_NO_EXECUTE 2014-04-11 14:59:47 +09:00
NAKAMURA Gou 7eeafb0d85 change parameter types of arch-regs to "void *" 2014-04-03 15:33:34 +09:00
Balazs Gerofi bgerofi@riken.jp 583c9355cd fix argument of set_tid_address() 2014-04-02 18:02:04 +09:00
Balazs Gerofi bgerofi@riken.jp cf442e6a14 fork(): preliminary version (no wait()/waitpid() support yet) 2014-04-02 14:07:38 +09:00
Tomoki Shirasawa dabca28e4b Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-03-30 16:14:43 +09:00
Tomoki Shirasawa e112aa8b06 remove DMA call 2014-03-30 16:14:19 +09:00
Balazs Gerofi bgerofi@riken.jp 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
Balazs Gerofi bgerofi@riken.jp a2515747cf print CPU core ID in debug messages 2014-03-27 15:32:23 +09:00
Tomoki Shirasawa 76089e2682 add AT_PAGESZ to auxvec 2014-02-26 10:31:44 +09:00
NAKAMURA Gou 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
NAKAMURA Gou b2b9b566c8 implement munlock() 2014-02-05 11:31:01 +09:00
NAKAMURA Gou f2a6515448 implement mlock() 2014-02-05 11:30:59 +09:00
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
Tomoki Shirasawa 26d68d391d signal part 4 (sigsuspend etc) 2014-01-24 10:14:49 +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
NAKAMURA Gou 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
NAKAMURA Gou 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
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
Tomoki Shirasawa 9e00275120 fork & execve return EOPNOTSUPP (temporary hack) 2013-12-18 16:10:13 +09:00
Tomoki Shirasawa 96576aaee7 fix general protection fault caused by SIGALARM 2013-12-16 13:45:45 +09:00