Commit Graph

63 Commits

Author SHA1 Message Date
dbc778e4fa support getrusage (work in progress) 2016-03-07 17:06:44 +09:00
eba2be8a35 support times 2016-02-18 13:14:18 +09:00
a866192db7 refactoring /proc 2016-02-10 08:11:02 +09:00
8cb72df663 support McKernel's sysfs tree 2015-12-16 13:42:30 +09:00
bb81f84709 support PIE executable for PVAS 2015-12-14 11:05:28 +09:00
26492a2895 vsyscall_gettimeofday: make timeval from TSC 2015-11-11 19:45:14 +09:00
1a5ff7f535 gettimeofday: gather variables into new struct 2015-11-11 18:31:33 +09:00
153a59a6f4 gettimeofday: avoid per-cpu data in calculation
Because it is difficult to safely update per-cpu data of other cpus in
settimeofday().
2015-10-27 19:21:50 +09:00
04e193de13 refactoring process structures 2015-10-13 23:04:08 +09:00
59ee251e1c fix /proc/pid/mem, /proc/pid/status, /proc/pid/cmdline 2015-07-02 00:22:35 +09:00
7d5a68be1b add PID and GID to /proc/pid/status
add /proc/pid/cmdline

refs #445
refs #447
2015-05-18 17:45:37 +09:00
8934eb91a4 kill syscall check uid 2015-03-17 15:04:36 +09:00
f35cc66d18 delete unused argument "ctx" from do_syscall
support waitid option "WNOWAIT"
2015-02-23 17:14:14 +09:00
08cc31f9bf support setrlimits/getrlimits, however this fix is these syscalls only.
checking resource process must implement it separately.

refs #330
2015-01-27 10:35:58 +09:00
8f30e16976 when mcexec is killed by SIGKILL, terminate mckernel process (BUG#259) 2014-11-27 16:13:52 +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
43e54dcf85 procfs: fix for http://postpeta.pccluster.org/redmine/issues/119#note-30 2014-09-22 10:46:33 +09:00
d7436652bf procfs: add support for <pid>/mem files and ad hoc fix for memory incoherency. 2014-09-17 15:49:47 +09:00
efc817de92 Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-09-05 17:20:50 +09:00
cd366de097 execve():
- COKERNEL_PATH and COKERNEL_EXEC_ROOT support for co-kernels with different architecture than the host (i.e., Xeon Phi).
- fix various error codes: ENAMETOOLONG, ENOENT, ENOTDIR, EACCES, ENOEXEC, EFAULT.
- support for shell code execution.
2014-09-03 18:15:43 +09:00
319590910a Almost implemented. 2014-09-03 15:20:39 +09:00
c783ec8e11 Implemented procfs. 2014-08-28 09:16:50 +09:00
78d10cce80 support process group 2014-08-18 17:08:28 +09:00
3fa6818962 Merge from master. 2014-07-31 18:30:39 +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
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
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
39a86fad18 support execute disabled stack 2014-04-11 14:59:47 +09:00
cf442e6a14 fork(): preliminary version (no wait()/waitpid() support yet) 2014-04-02 14:07:38 +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
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
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
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
a8c249ddaf signal (part 1) 2014-01-07 11:57:57 +09:00
506caa7e7f page.h, process.h, rlimit.h, syscall.h, time.h, timer.h copyright 2013-11-14 17:34:30 +09:00
d557ba84d6 exclude interpreter's segment from data region
When an interpreter is located on the lower address (e.g. 0x0),
the text region is included in data region.
A fix to avoid this.
2013-10-30 14:28:32 +09:00
27172ad413 support private mapped file 2013-10-15 12:30:41 +09:00
4fb6620f3a sys_getrlimit: modified to return mcexec's RLIMIT_STACK 2013-10-11 22:36:16 +09:00
413fe7b54a mcexec: add a interpreter invocation
When start a program which have a PT_INTERP segment
(dynamic linkaged program have a PT_INTERP segment),
start the interpreter indicated by the PT_INTERP segment.
2013-10-11 22:23:22 +09:00
a171da1015 add a AT_ENTRY entry to the auxiliary vector 2013-10-11 22:23:22 +09:00
1d69225532 mcexec forward signal to MIC process. 2013-08-19 12:17:23 +09:00
591f398768 add page fault forwarding 2013-08-08 12:43:15 +09:00
78d9d3fcd2 Revert "trial implementation of private file mapping"
This reverts commit abe57218c4.
2013-07-26 16:44:39 +09:00
abe57218c4 trial implementation of private file mapping
for review only.  will soon be reverted.
2013-07-26 14:40:12 +09:00
2aa5194958 rewrite sys_mmap() as sys_new_mmap() 2013-07-10 13:11:19 +09:00
dae884d572 add syscall number constants in syscall.h 2013-07-10 13:11:19 +09:00
4214441ac3 Make clone system-call create a new thread on the next available physical core
and skip the physical core with a system process so that
programs using Intel OpenMP bind threads to cores in that manner.
2013-07-05 18:55:03 +09:00
cbc37b62a9 return syscall_table[] to the arch-independent part 2013-07-01 12:44:12 +09:00
4695b332e2 move syscall_table[] to the architecture-depended part 2013-06-19 16:52:46 +09:00