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
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
31a605f94b
push/pop r15 when entering/leaving kernel space (fix for bug #53 : r15 wasn't propagated during fork())
2014-07-10 13:53:12 +09:00
11bb334bd4
support mremap(2)
...
fixes #22
2014-07-02 15:30:52 +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
04f1b3f401
add pte_xchg()
2014-06-30 17:33:46 +09:00
c395dc2410
add pte_is_dirty()
2014-06-30 17:33:45 +09:00
d2e29bf598
add visit_pte_range()
...
refs #21
refs #22
2014-06-30 17:33:43 +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
2f4f3628f9
support tgkill
2014-06-10 10:42:29 +09:00
3f13862a98
ptrace: add error stub to prevent mcexec from waiting
...
In LTP's ptrace03 test,
there is a exit() preceded by ptrace(PTRACE_TRACEME).
In this case, processes will be usually finished immediately.
But mcexec will fall into waiting for parent's ptrace(PTRACE_CONT),
because mcexec sends itself a signal in processing of exit().
2014-06-09 19:03:59 +09:00
badb450153
more detailed report in memory management error path
2014-05-22 17:27:39 +09:00
3e830521c1
move rt_sigaction to device dependent
...
fix call kill(getpid(), ) after sigaction aborted
2014-05-16 09:50:06 +09:00
99dec9b805
add parameters to arch_vrflag_to_ptattr()
...
for other architectures and future use
refs #18
2014-05-07 21:24:45 +09:00
769cf79bf8
move vrflag_to_ptattr() to arch/x86/kernel/memory.c
...
refs #18
2014-05-07 21:24:45 +09:00
7e788f06f7
add PTATTR_DIRTY
...
refs #18
2014-05-07 21:24:45 +09:00
604d1da50f
change macro name: PF_DONTCOW --> PF_POPULATE
...
refs #18
2014-04-25 11:19:21 +09:00
0e348e6295
SIGCHLD and wait4(), i.e. wait()/waitpid() implementation
2014-04-23 13:33:18 +09:00
0285c99c9c
use PT_PHYSMASK on last level PTE entries to avoid returning invalid physical address
2014-04-15 20:21:07 +09:00
56f0d3b29f
support IA-32e's "execute disable bit"
2014-04-11 14:59:47 +09:00
b31a1b6db2
add PTATTR_NO_EXECUTE
2014-04-11 14:59:47 +09:00
f60b37ea1b
use 'enum ihk_mc_pt_attribute' instead of 'int'
2014-04-11 14:59:46 +09:00
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
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
7eeafb0d85
change parameter types of arch-regs to "void *"
2014-04-03 15:33:34 +09:00
ab13f9a57c
declare fork() so that __NR_fork is available
2014-04-02 18:00:09 +09:00
3ce94072b4
save/restore rbp when entering/leaving kernel (required for fork() in glibc)
2014-04-02 14:02:20 +09:00
11ddbcf3c8
wait only 10 secs in mcreboot-attached
2014-03-27 15:35:42 +09:00
b2b9b566c8
implement munlock()
2014-02-05 11:31:01 +09:00
f2a6515448
implement mlock()
2014-02-05 11:30:59 +09:00
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
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
26d68d391d
signal part 4 (sigsuspend etc)
2014-01-24 10:14:49 +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
8411f353fe
signal part 3 (EFAULT)
2014-01-13 10:52:29 +09:00
0465cc16b9
signal (part 2) sigpending
2014-01-07 19:52:06 +09:00
a8c249ddaf
signal (part 1)
2014-01-07 11:57:57 +09:00
9e00275120
fork & execve return EOPNOTSUPP (temporary hack)
2013-12-18 16:10:13 +09:00
96576aaee7
fix general protection fault caused by SIGALARM
2013-12-16 13:45:45 +09:00
c01cccd1b2
Add "ihkosctl 0 shutdown" to mcreboot.sh
2013-12-10 14:17:55 +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