Commit Graph

458 Commits

Author SHA1 Message Date
8e4cbfeea1 print exit code or signal, if stderr is a tty 2013-12-10 14:45:37 +09:00
52e818c3ec Merge branch 'master' of postpeta.pccluster.org:mckernel 2013-12-10 14:41:56 +09:00
daec3b2f32 propagate exit code and signal 2013-12-10 14:40:22 +09:00
c01cccd1b2 Add "ihkosctl 0 shutdown" to mcreboot.sh 2013-12-10 14:17:55 +09:00
6d9bf6ad84 Added the full path of mcreboot.1 in configure 2013-11-26 17:06:54 +09:00
dc9f282d58 adding the mcshutdown command 2013-11-19 06:08:43 +09:00
eff0b92c25 1) DATA --> DATE
2) version and date variables are visible in makefile and documents
    		AC_SUBST
2013-11-18 08:09:28 +09:00
2f89e26ac0 add modification history entry to the following files,
mckernel/lib/include/*.h
  mckernel/arch/x86/elfboot/*
  mckernel/arch/x86/kboot/main.c
  mckernel/arch/x86/kernel/*
  mckernel/lib/page_alloc.c
  mckernel/lib/string.c
  mckernel/lib/include/ihk/*
except
  mckernel/arch/x86/kernel/include/signal.h
  mckernel/arch/x86/tools/mcreboot-attached-mic.sh.in
  mckernel/arch/x86/kernel/include/syscall_list.h
  mckernel/arch/x86/kernel/syscall.c
.
2013-11-14 18:30:06 +09:00
0551fb26dd affinity.h, waitq.h copyright 2013-11-14 17:40:59 +09:00
506caa7e7f page.h, process.h, rlimit.h, syscall.h, time.h, timer.h copyright 2013-11-14 17:34:30 +09:00
821396be7b amemcpy.c, cls.h, init.h, kmalloc.h, kmsg.hcopoyright 2013-11-14 17:30:43 +09:00
611d14da67 Merge branch 'master' of postpeta.pccluster.org:mckernel 2013-11-14 17:26:14 +09:00
d10416cb04 for release 2013-11-14 17:26:03 +09:00
6bcec77d51 Merge branch 'master' of postpeta.pccluster.org:mckernel 2013-11-14 17:21:54 +09:00
2f63b7ed95 futex.h copyright 2013-11-14 17:21:47 +09:00
384328c6bc add copyright notice to the following files,
mckernel/lib/include/*.h
  mckernel/arch/x86/elfboot/*
  mckernel/arch/x86/kboot/main.c
  mckernel/arch/x86/kernel/*
  mckernel/lib/page_alloc.c
  mckernel/lib/string.c
  mckernel/lib/include/ihk/*
except
  mckernel/arch/x86/kernel/include/signal.h
  mckernel/arch/x86/tools/mcreboot-attached-mic.sh.in
  mckernel/arch/x86/kernel/include/syscall_list.h
  mckernel/arch/x86/kernel/syscall.c
.
2013-11-14 17:09:58 +09:00
cd04de3131 cls.c, copy.c, debug.c, listeners.c, mikc.c copyright 2013-11-14 17:00:37 +09:00
03521e9c2c add copyrights 2013-11-14 16:49:40 +09:00
d126a35d48 Merge branch 'master' of postpeta.pccluster.org:mckernel 2013-11-14 16:27:39 +09:00
e5890aa949 typo fix 2013-11-14 16:27:11 +09:00
dcea4fefb3 ap.c, futex.c, jhash.h, timer.c, waitq.c copyrights 2013-11-14 16:20:08 +09:00
3f60324d4e add copyright 2013-11-14 15:55:00 +09:00
334fe81cdb remove rbtree 2013-11-14 13:07:00 +09:00
98fb5bf091 check cpu_local_var initialized 2013-11-13 23:06:11 +09:00
392357e9d2 catch signal when before kernel init 2013-11-13 15:43:49 +09:00
2f5be14425 manifest software version 2013-11-12 17:15:19 +09:00
04cef6f073 Merge branch 'master' of postpeta.pccluster.org:mckernel 2013-11-12 10:43:05 +09:00
3f2db99057 move boot-attached-mic.sh.in to arch/x86/tools 2013-11-12 10:41:51 +09:00
bbbc6e1570 add shared mapped file (in progress)
implemented:
- Pages can be shared between maps.
- A change made to a map is written to the file, at munmap().

not yet implemented:
- VM operation during page IO execution.
  Because page IO is executed with VM's lock.
- Page IO, which does not change a file size with any case.
  When munmap() races with truncate(), the file size may be changed
  illegally.
2013-11-11 18:18:33 +09:00
d35140ab0b Merge branch 'master' of postpeta.pccluster.org:mckernel 2013-11-07 00:30:46 -08:00
3c490dcfab Added <sys/resource.h> which is required by getrlimit(2).
modified:   executer/user/mcexec.c
2013-11-07 00:29:17 -08:00
8980ffcc27 Merge branch 'master' of postpeta.pccluster.org:mckernel 2013-11-07 15:20:00 +09:00
3cceb63cf3 change wait default 50 -> 20 2013-11-07 15:19:08 +09:00
bdc02bb687 refuse the write to a read-only memory
It was able to change a read-only memory using a system call that
forwarded to host.

To fix this, when read-only mmap(), it places read-only vm_area in the
mcexec's space.
2013-11-06 16:06:58 +09:00
89be2af09a sys_mprotect: remove blocking of free_pages()
Because mprotect() does not release physical page, this is unnecessary.
2013-11-06 16:06:01 +09:00
6722f35ffc calculate a physical address in 64 bit width
When physical page of address 0x1_0000_0000 is allocated,
it becomes false ENOMEM error.
2013-10-31 18:39:38 +09:00
0d3e1f1070 add --enable-dcfa option. 2013-10-30 14:44:46 +09:00
a80d11cde5 prevents MCKERNEL_RLIMIT_STACK from overwriting
When mcexec reduces a stack, mcexec stores the original RLIMIT_STACK
in environment variable MCKERNEL_RLIMIT_STACK.
A fix to prohibit overwrite of this time.

Therefore, the value of RLIMIT_STACK of the McKernel's process is
decided in the following order.
(1) If environment variable MCKERNEL_RLIMIT_STACK exists; the value.
(2) A value of RLIMIT_STACK in the mcexec starting.
2013-10-30 14:28:32 +09:00
011ef60c4b support decimal numbers at MCKERNEL_RLIMIT_STACK 2013-10-30 14:28:32 +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
6e736f6248 change the stack size according to stack size limit 2013-10-30 12:33:03 +09:00
db45e11921 apply demand paging to stack area 2013-10-30 12:33:03 +09:00
78214f3ce4 /opt/knc -> /usr 2013-10-21 09:44:44 +09:00
6cf1b0c331 rename boot.sh to mcreboot
rename ihktest to ihkconfig
rename ihkostest to ihkosctl
2013-10-15 13:02:35 +09:00
27172ad413 support private mapped file 2013-10-15 12:30:41 +09:00
603ef85454 mcexec: add a upper limit of the stack size
- When the stack size is greater than 1 GiB, reduced to 10 MiB.
- To achieve a reduction of the stack, restart itself using the exec().
- By using the environment variable MCKERNEL_RLIMIT_STACK,
  tell to McKernel the stack size of the original.
2013-10-11 22:36:16 +09:00
3d32350be0 mcexec: add use of MCKERNEL_RLIMIT_STACK
MCKERNEL_RLIMIT_STACK is a environment variable which
specify RLIMIT_STACK value on McKernel.

syntax: MCKERNEL_RLIMIT_STACK=<cur>,<max>

example: MCKERNEL_RLIMIT_STACK=0x800000,-1
cur=8MiB, max=unlimited
2013-10-11 22:36:16 +09:00
4fb6620f3a sys_getrlimit: modified to return mcexec's RLIMIT_STACK 2013-10-11 22:36:16 +09:00
bc173baf13 mcexec: add a path prefix for interpreter search
- When the interpreter is not found,
  add a prefix to the path and retry search.
- the prefix is specified by a environment variable MCEXEC_ALT_ROOT.
- If the MCEXEC_ALT_ROOT does not exist,
  /usr/linux-k1om-4.7/linux-k1om is used as a prefix.
2013-10-11 22:23:22 +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