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
Balazs Gerofi bgerofi@riken.jp
0285c99c9c
use PT_PHYSMASK on last level PTE entries to avoid returning invalid physical address
2014-04-15 20:21:07 +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
56f0d3b29f
support IA-32e's "execute disable bit"
2014-04-11 14:59:47 +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
f60b37ea1b
use 'enum ihk_mc_pt_attribute' instead of 'int'
2014-04-11 14:59:46 +09:00
NAKAMURA Gou
55817e9e83
use "struct x86_regs *" to access stack frames
...
The intention of this fix is to cope with a recent change of
PUSH_ALL_REGS.
2014-04-03 15:33:35 +09:00
NAKAMURA Gou
c0c9192e1b
add prototypes to cpulocal.h
...
+struct x86_cpu_local_variables *get_x86_this_cpu_local(void);
+void *get_x86_this_cpu_kstack(void);
2014-04-03 15:33:34 +09:00
NAKAMURA Gou
7eeafb0d85
change parameter types of arch-regs to "void *"
2014-04-03 15:33:34 +09:00
NAKAMURA Gou
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
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
ab13f9a57c
declare fork() so that __NR_fork is available
2014-04-02 18:00:09 +09:00
Balazs Gerofi bgerofi@riken.jp
cf442e6a14
fork(): preliminary version (no wait()/waitpid() support yet)
2014-04-02 14:07:38 +09:00
Balazs Gerofi bgerofi@riken.jp
391b69e8c4
refactor mcexec's main and separate signal and syscall thread initialization
2014-04-02 14:04:55 +09:00
Balazs Gerofi bgerofi@riken.jp
3ce94072b4
save/restore rbp when entering/leaving kernel (required for fork() in glibc)
2014-04-02 14:02:20 +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
b01b31f04d
use GFP_ATOMIC in interrupt context
2014-03-28 18:43:34 +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
11ddbcf3c8
wait only 10 secs in mcreboot-attached
2014-03-27 15:35:42 +09:00
Balazs Gerofi bgerofi@riken.jp
a2515747cf
print CPU core ID in debug messages
2014-03-27 15:32:23 +09:00
Balazs Gerofi bgerofi@riken.jp
51f75d9ba8
mcexec: options for target CPU core ID where application is executed
2014-03-27 14:58:26 +09:00
Tomoki Shirasawa
76089e2682
add AT_PAGESZ to auxvec
2014-02-26 10:31:44 +09:00
Tomoki Shirasawa
74339586d5
change dma_buf size 256MB -> 4kB
2014-02-07 10:57:50 +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
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
NAKAMURA Gou
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
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
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
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
2a55f3d718
install manual
2014-01-08 17:13:49 +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
9926d469d8
remove debug print
2013-12-18 15:33:37 +09:00
Tomoki Shirasawa
96576aaee7
fix general protection fault caused by SIGALARM
2013-12-16 13:45:45 +09:00
Tomoki Shirasawa
8e4cbfeea1
print exit code or signal, if stderr is a tty
2013-12-10 14:45:37 +09:00