Commit Graph

340 Commits

Author SHA1 Message Date
d2537e0963 sigsuspend don't wait SIGSTOP, not SIGTERM 2014-08-21 17:25:02 +09:00
78d10cce80 support process group 2014-08-18 17:08:28 +09:00
663c121308 interrupt syscall sufficient threads 2014-08-18 16:49:49 +09:00
9fda245490 execve(): return correct error value when failure (errno) 2014-08-07 14:35:15 +09:00
26e219e698 Clarification. 2014-08-01 11:31:34 +09:00
2a1c092fcb Merge remote branch 'origin/master' into gdb 2014-08-01 11:19:18 +09:00
dca9def246 Finalize merger. 2014-08-01 09:25:10 +09:00
570b850861 temporal fix 2014-08-01 09:23:11 +09:00
6dd5407b5f Return error when no core is available
clone returns -EAGAIN when there is no vacant core.
In addition, clone tries to use the next vacant hyper-threading
core instead of trying to use next vacant hyper-threading core
of the next vacant physical core.
2014-07-31 19:50:41 +09:00
3fa6818962 Merge from master. 2014-07-31 18:30:39 +09:00
0dd7a8deff Put AT_CLKTCK in ELF auxiliary vectors
Put AT_CLKTCK in ELF auxiliary vectors because some functions
use the value as described below.
1. GLRO(dl_clktck) set by
   _dl_aux_init (in glibc/elf/dl-support.c)
   or
   _dl_sysdep_start (in elf/dl-sysdep.c)

2. GLRO(dl_clktck) is referenced by
__sysconf (in glibc/sysdeps/posix/sysconf.c)
   __getclktck
      (in glibc/sysdeps/unix/sysv/linux/getclktck.c)
profil (in glibc/sysdeps/posix/profil.c)
   __profile_frequency
      (in glibc/sysdeps/unix/sysv/linux/prof-freq.c)
2014-07-31 16:20:48 +09:00
b58682dd73 Merge branch 'master' of postpeta.pccluster.org:mckernel into gdb 2014-07-31 10:31:45 +09:00
c83e80ad91 execve(): clear host user-space PTEs before context switching 2014-07-28 18:57:56 +09:00
07b07476b7 remote TLB invalidation: follow migrated threads by affinity calls 2014-07-27 13:11:41 +09:00
530535c162 Merge remote branch 'origin/master' into gdb 2014-07-23 10:29:07 +09:00
5888dcd4c7 Aestethical change. 2014-07-23 10:26:36 +09:00
dbdaf0ed32 Fix for demand paging and documentation. 2014-07-23 10:23:02 +09:00
101a0f6e4a remote TLB invalidation code for multi-threaded applications (e.g., during munmap()) 2014-07-22 12:24:07 +09:00
9dd7d6283c Merge remote branch 'origin/master' into gdb
Conflicts:
	kernel/include/process.h
2014-07-18 16:03:35 +09:00
cb61739c2b Deleted debug flags & al. 2014-07-18 15:45:40 +09:00
a5b36e2b51 dkprintf() support in kernel/listeners.c 2014-07-17 12:28:57 +09:00
99931179e1 add get_cpu_id syscall with No.700 for testing 2014-07-13 17:05:27 +09:00
3751fa1766 add some functions related to migration into kernel/process.h
... and also add include guard to arch/x86/kernel/include/signal.h
2014-07-13 17:05:09 +09:00
170a54d976 add CPU affinity function
- syscall support
-- sched_setaffinity
-- sched_getaffinity
- migration in scheduler
- resched at return of syscalls/interrupts
2014-07-13 17:04:47 +09:00
1889d10e3a add cpu_set and getter/setter of that (incomplete sched_***affinity) 2014-07-13 17:04:32 +09:00
f923e03565 fix to make CPU idle when len(runq) != 0 but all queued are sleeping 2014-07-13 17:04:09 +09:00
39c8617793 Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-07-13 12:52:16 +09:00
5e6ed852cb Kill child threads when receiving terminating signals(redmine#63)
Create process table (child is missing when sending a signal to a child process just after forking it)(redmine#61)
2014-07-13 12:51:28 +09:00
292b34fe21 signal handler is not passed to a child process(redmine#62) 2014-07-13 12:49:30 +09:00
1d45444d54 Added code for generating core image.
modified:   arch/x86/kernel/gencore.c
	modified:   arch/x86/kernel/include/elfcore.h
	modified:   kernel/include/process.h
	modified:   kernel/process.c
2014-07-10 15:55:35 +09:00
36cff84e05 add zeroobj for private anonymous mappings 2014-07-07 18:11:43 +09:00
380fcbda73 add shmobj for shared anonymous mappings 2014-07-07 18:11:40 +09:00
9057268f0e add memobj's default action 2014-07-07 18:11:38 +09:00
9efb5e4fc5 add memobj_has_pager() 2014-07-07 18:11:36 +09:00
d59628e131 fix debug prints to avoid NULL dereferences 2014-07-07 18:11:34 +09:00
a8a226a443 use PF_POPULATE for resolving delegated page faults
Since a host side PTE does not follow McKernel's copying a COW page,
COW pages cannot be used for resolving delegated page faults.
Therefore, to copy pages eagerly, PF_POPULATE should be used.
2014-07-07 18:11:31 +09:00
79a72809af Prepare inside of core. Not tested.
modified:   arch/x86/kernel/gencore.c
	modified:   arch/x86/kernel/include/elfcore.h
	modified:   kernel/mem.c
2014-07-07 15:46:10 +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
b2ca24d013 remap_file_pages: reject special ranges
special ranges are:
- VR_REMOTE
- VR_IO_NOCACHE
- VR_RESERVED
2014-07-02 15:30:54 +09:00
11bb334bd4 support mremap(2)
fixes #22
2014-07-02 15:30:52 +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
90aaf9dc9c support remap_file_pages(2)
fixes #21
2014-06-30 17:33:51 +09:00
bb3756dc74 add fileoff-type PTE
fileoff-type PTE holds a file offset which the page data should be
loaded from.

refs #21
2014-06-30 17:33:50 +09:00
dc7f38c8c7 Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-06-25 13:45:46 +09:00
770eae0186 support sigaltstack 2014-06-25 13:45:33 +09:00
a9bebf1e14 Make idle loop not miss a chance to schedule
Prevents the case where McKernel misses one chance to schedule a
task when an interrupt occurs just after enabling interrupt and
just before executing "halt" in the idle loop (in kernel/process.c).

refs #45
2014-06-12 11:22:02 +09:00
bbb7f77706 interrupt syscall of signal recieved process 2014-06-11 21:06:52 +09:00
19fc50ee05 Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-06-10 10:42:55 +09:00