d4ba4dc8b3
introduction of mckernel_procfs_file_operations; fix /proc/self path resolution;
...
implementation of /proc/self/pagemap (LTP mmap12)
2014-12-15 12:46:05 +09:00
815d907ca4
setpgid return -EACCES when the child process had already performed an execve (LTP setpgid03)
2014-12-09 14:01:20 +09:00
3c24315f91
support for /proc/mcos%d/PID/maps (without file info) (LTP mlock03)
2014-12-05 16:29:20 +09:00
25f108bf78
mckernel_procfs_read(): fix buffer allocation, offset check and return code
2014-12-05 16:27:48 +09:00
cc9d30efbf
do_signal(): support for SIGSYS
...
as of POSIX.1-2001:
Signal Value Action Comment
---------------------------------------------------
SIGSYS 12,31,12 Core Bad argument to routine
2014-12-04 18:10:10 +09:00
af83f1be64
rlimit(RLIMIT_NOFILE): return one less to make sure sync pipe can be created (LTP fork09)
2014-12-04 17:40:00 +09:00
b2cab453f1
clone(): do not allow setting CLONE_THREAD and CLONE_VM separately
...
XXX: When CLONE_VM is set but CLONE_THREAD is not the new thread is
meant to have its own thread group, i.e., when calling exit_group()
the cloner thread wouldn't be killed. However, this is a problem on
the Linux side because we do not invoke clone in mcexec when threads
are created. Thus, currently no support for this combination is
provided.
2014-12-04 16:55:18 +09:00
8909597499
clone(): support for handling CLONE_SIGHAND and CLONE_VM flags separately
2014-12-04 16:55:17 +09:00
86f2a9067b
getppid() implementation
2014-12-04 16:55:17 +09:00
a5889fb5df
sigaction check signal number (LTP sigaction02)
2014-12-04 11:31:50 +09:00
f1a86cfbd3
when host mcexec down, syscall is hung up
2014-12-04 11:17:29 +09:00
c1cf630a94
mcexec: store full path to executable
...
required so that a forked process can obtain exec reference in the
Linux kernel even if executable was specified with relative path
and fork was called after changing the current working directory
2014-12-03 15:14:26 +09:00
8f30e16976
when mcexec is killed by SIGKILL, terminate mckernel process (BUG#259)
2014-11-27 16:13:52 +09:00
58e2e0a246
Use pidof in mcreboot script
2014-11-23 17:54:14 +09:00
ea02628f2b
Add reboot and shutdown script for builtin-x86
...
It decides the number of cores for McKernel by looking into the
"SHIMOS: CPU Status:" line of dmesg. It sets the amount of memory for
McKernel to one urth of the total memory obtained by "free -g".
2014-11-13 20:06:29 +09:00
89acf5c5d6
support for AT_RANDOM auxiliary entry on the process stack (needed for _dl_random in glibc)
2014-11-11 08:48:27 +09:00
ac8e2a0c40
handle VM_RESERVED (non-existing since Linux 3.7.0) and do_mmap_pgoff() (unexported since Linux 3.5.0) in mcctrl's syscall.c
2014-11-11 08:42:07 +09:00
ab7aa3354f
repair signal implementation.
...
- Don't intrrupt syscall with the ignored signal.
2014-11-07 07:55:30 +09:00
c4e0b84792
repair signal implementation.
...
- can not interrupt syscall
- can not recieve SIGKILL
2014-10-31 16:34:59 +09:00
3fe7e39607
some variables definition are gathered to fork_tree_node from process.
...
- remove both-defined: pid, pgid, status
- move to fork_tree_node: tid
- make dummy fork_tree_node for idle_process.
0.4.0
2014-10-29 16:54:09 +09:00
658ff759ef
build scripts: support for separate build and source directories
2014-10-20 18:27:24 +09:00
11947a4ce3
initialize and propagate a cpu affinity (temporary fix)
...
This fix is only intended to work an OpenMP program.
It is necessary to investigate behavior of linux and reimplement this
fix.
2014-10-20 15:21:49 +09:00
f195b9c675
don't use COW pages in private anonymous mapping (quick fix)
2014-10-17 23:25:15 +09:00
6cd1016d57
Remove debug message that could dereference NULL
2014-10-17 14:24:44 +09:00
d2cb890cdd
idle(): recheck runq just before cpu status check
...
There is a problem which causes wait4(2) hang when wait4(2) called by a
process races with its child process termination.
This is a quick fix for this problem. See idle().
refs #271
2014-10-15 17:58:27 +09:00
758796bb69
idle(): cosmetic changes
2014-10-15 17:58:27 +09:00
ec179f072d
ptrace: Add all known request value and report upon their request.
2014-10-15 15:42:45 +09:00
8460a7d93e
siginfo.si_status was invalid
2014-10-15 15:27:32 +09:00
8a6ffa8542
fix ptrace(PTRACE_PEEKUSER), store register value to *data
2014-10-15 14:56:45 +09:00
a150a19393
ptrace: Bug fixed.
...
see: http://postpeta.pccluster.org/redmine/issues/265#note-3
2014-10-15 14:56:30 +09:00
f0f31e19fb
procfs: PTRACE_O_TRACESYSGOOD (fake)
2014-10-15 14:56:11 +09:00
fef946e5ff
support PTRACE_GETREGS
2014-10-15 14:55:49 +09:00
4b46330624
support ptrace(PTRACE_PEEKUSER, ...)
2014-10-15 14:54:33 +09:00
a101aa0534
ptrace: Temporal fix for signal inconsistency.
2014-10-15 14:52:32 +09:00
1f120b929b
ptrace: Make unimplemented ptrace requests return error.
2014-10-15 14:50:11 +09:00
f28eb0a672
Fix taking exit status when wait4()-ing stopped
2014-10-15 14:49:36 +09:00
95dd193fd6
Fix reporting of having done execve to ptracer
2014-10-15 14:49:23 +09:00
2997274470
Make __WCLONE option for wait4(2) and flags for clone(2) work properly.
2014-10-15 14:45:58 +09:00
66db108dd3
Use erase-safe Ver. of list traversal in waitpid
2014-10-15 14:42:52 +09:00
759ceac769
Fix deafult signal actions
2014-10-15 14:42:34 +09:00
013d3e95c2
Fix manipulation of fork_tree_node for ptrace
2014-10-15 14:42:17 +09:00
658b88fd7b
Modify spacing
2014-10-15 14:40:47 +09:00
da17625be9
gdb: definitions for ptrace() and syscall part of TRACEME
2014-10-15 14:30:17 +09:00
dbecaa2fc8
Add ptrace functions of job-control and signal
...
Note that a forked process automatically becomes ptraced state in this
commit.
2014-10-15 14:28:55 +09:00
ab89de0de6
show the interrupt context in lower case
...
This commit is intended to make it easier to find the corresponding line
in the objdump output.
2014-10-14 14:16:46 +09:00
759fd2e078
show all GPRs saved in interrupt context
...
This commit adds:
- rbp, r12 .. r15
- rflags
- error code
2014-10-14 14:16:46 +09:00
aa05f00e7e
don't map syscall pages into process space
...
Request pages, response pages, and a doorbell page are mapped into
process space to enable user processes to delegate system calls
directly to mcctrl/mcexec.
This commit removes these mappings for the following reasons.
- These mappings cause a memory leak in current fork() implementation.
- These mappings are not used.
- These mappings do not function properly.
And the fix which corrects function of these mappings is not easy.
2014-10-10 16:20:38 +09:00
6415559a81
procfs: use current cpu's syscall_channel
2014-10-10 16:20:38 +09:00
2e5874880a
procfs: delay ack until get_procfs_entry() ends
...
This commit avoids the problem that causes get_procfs_entry() to create
entries which have same name. See get_procfs_entry().
2014-10-10 16:20:38 +09:00
7fcd36fbd3
Lock when setting PTE for kernel virual address
...
We didn't have any lock variable to guard the manipulation of a PTE for
kernel virual address space. Note that we have one for user virtual
address space.
2014-10-08 14:06:17 +09:00