a79a0a618d
drop VM_IO because it's not MMIO
2014-08-07 17:53:26 +09:00
9fda245490
execve(): return correct error value when failure (errno)
2014-08-07 14:35:15 +09:00
3fa6818962
Merge from master.
2014-07-31 18:30:39 +09:00
b58682dd73
Merge branch 'master' of postpeta.pccluster.org:mckernel into gdb
2014-07-31 10:31:45 +09:00
27bfe37b80
execve(): fix looking up relative path and checking executable permission
2014-07-29 15:48:14 +09:00
f1e39f5fb2
execve(): find executable first in COKERNEL_PATH and then in PATH if executable name is not absolute
2014-07-29 11:14:09 +09:00
e5d3407d8e
child mcexec don't print signal terminate message
2014-07-29 11:10:11 +09:00
c83e80ad91
execve(): clear host user-space PTEs before context switching
2014-07-28 18:57:56 +09:00
17730617e1
when wakeup for syscall and recieve signal occur in the same timing, a program is freezed.
2014-07-25 10:54:30 +09:00
10190e9ed6
prepare for a condition variable for each process. (Redmine#193)
2014-07-25 09:17:43 +09:00
01f52e73e1
Clarification.
2014-07-23 14:06:59 +09:00
dbdaf0ed32
Fix for demand paging and documentation.
2014-07-23 10:23:02 +09:00
cb61739c2b
Deleted debug flags & al.
2014-07-18 15:45:40 +09:00
3e8083efc1
Prepare for a core file image.
2014-07-17 15:19:25 +09:00
cb9d346567
Fixed wrong %x to %lx.
2014-07-11 18:48:15 +09:00
ed9da789e6
Created gencore() and minor aestetical changes.
...
modified: executer/kernel/mcctrl.h
modified: executer/kernel/syscall.c
modified: kernel/include/syscall.h
modified: kernel/mem.c
2014-07-02 16:23:32 +09:00
fd6f0c4075
Bookkeeping for error.
...
modified: syscall.c
2014-07-02 14:00:46 +09:00
4f1b3f22ef
Working code for infrastructure.
...
modified: executer/kernel/mcctrl.h
modified: executer/kernel/syscall.c
modified: kernel/include/syscall.h
modified: kernel/mem.c
2014-07-02 12:39:08 +09:00
b3c7676425
Minor change.
...
modified: syscall.c
2014-07-01 19:03:50 +09:00
53a80e0720
Experimental implementation of map & write.
...
Data is still dummy.
Not even compiled.
modified: executer/kernel/mcctrl.h
modified: executer/kernel/syscall.c
modified: kernel/include/syscall.h
modified: kernel/mem.c
2014-07-01 16:50:25 +09:00
83ced89fa3
Initial commit for core dump.
...
We can create a dummy core file when gpe occurs.
modified: executer/kernel/mcctrl.h
modified: executer/kernel/syscall.c
modified: kernel/include/syscall.h
modified: kernel/mem.c
2014-07-01 16:03:11 +09:00
2f4f3628f9
support tgkill
2014-06-10 10:42:29 +09:00
2331309d2f
mcexec: use optind instead of shifting argv[] for arguments passing to remote app
2014-05-27 17:52:56 +09:00
514d75b685
execve(): supporting syscall and mcexec modifications
2014-05-22 17:39:13 +09:00
badb450153
more detailed report in memory management error path
2014-05-22 17:27:39 +09:00
6a8e75dda0
fix argc bug
2014-05-22 17:11:10 +09:00
6ca8b77cf2
fix argv/argc bug
2014-05-22 16:39:07 +09:00
84c18ef38e
MCEXEC_UP_TRANSFER: generalize MCEXEC_UP_LOAD_IMAGE ioctl() to allow transfer in both directions
2014-05-22 12:42:23 +09:00
f810aa56b8
refactoring mcexec's main() in preparation for execve()
2014-05-21 21:55:49 +09:00
22d9d6d3a6
use dprintk() for per process data structure debug messages
2014-05-19 12:49:36 +09:00
81a78be20a
clean up per process structure in exit_group() and fix wait4() on self bug
2014-05-19 12:49:36 +09:00
426c67861c
introduction of mcctrl_per_process data to keep track remote page tables on a per-process basis
2014-05-13 00:22:56 +09:00
a5b8d388e9
dprintf exit status
2014-05-12 10:30:39 +09:00
cc8317643e
SIGPIPE fix (ltp writev)
2014-04-25 08:43:08 +09:00
0e348e6295
SIGCHLD and wait4(), i.e. wait()/waitpid() implementation
2014-04-23 13:33:18 +09:00
39a86fad18
support execute disabled stack
2014-04-11 14:59:47 +09:00
da81cd2d1d
mcexec: copy a pathname string of open(2) safely
...
When a open system call request is delegated, mcexec will check whether
a path name is known one such as "/proc/meminfo" and "/proc/cpuinfo".
During this check, if mcexec causes a SIGSEGV or SIGBUS signal,
mcexec will begin a loop, because mcexec has a signal handler which
returns simply.
2014-04-03 15:27:49 +09:00
cf442e6a14
fork(): preliminary version (no wait()/waitpid() support yet)
2014-04-02 14:07:38 +09:00
391b69e8c4
refactor mcexec's main and separate signal and syscall thread initialization
2014-04-02 14:04:55 +09:00
b01b31f04d
use GFP_ATOMIC in interrupt context
2014-03-28 18:43:34 +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
51f75d9ba8
mcexec: options for target CPU core ID where application is executed
2014-03-27 14:58:26 +09:00
74339586d5
change dma_buf size 256MB -> 4kB
2014-02-07 10:57:50 +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
bdc945cb34
mcexec: wait for the signal to be received
...
The mcexec may send a signal to itself in order that the mcexec
terminates abnormally.
Generally, the signal is delivered to the thread which sent the signal.
In this case, the signal terminates the mcexec immediately.
However, if the signal is delivered to another thread,
the thread which sent the signal can call exit(3)
before the signal terminates the mcexec.
2014-01-24 20:22:54 +09:00
069bb10a02
make mcexec ignore garbage request
...
When a signal is forwarded from McKernel,
ioctl(MCEXEC_UP_WAIT_SYSCALL) may return EINTR error.
In this case, though no syscall request has been received,
the mcexec starts to process the syscall requst that is garbage.
2014-01-24 20:20:45 +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
afc38718a0
add MCEXEC_UP_STRNCPY_FROM_USER
...
It allows a mcexec to execute the strncpy_from_user().
2014-01-14 18:50:19 +09:00
a8c249ddaf
signal (part 1)
2014-01-07 11:57:57 +09:00