Balazs Gerofi
328e69a335
schedule(): do not preempt while holding spinlocks or while in offloaded syscall
2015-08-06 10:36:13 +09:00
Tomoki Shirasawa
1ff4cf68c2
support SA_RESTART flag and restart syscall
2015-07-16 16:33:14 +09:00
Tomoki Shirasawa
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
NAKAMURA Gou
a0d909af75
add supports for dump analyzer
2015-03-31 12:59:53 +09:00
NAKAMURA Gou
4946964ed0
update copyright notices
2015-03-27 14:50:09 +09:00
Balazs Gerofi
5f19842a6a
support for process_vm_readv()/process_vm_writev()
2015-03-25 19:44:56 +09:00
NAKAMURA Gou
055769254d
implement mlockall()/munlockall() for LTP syscall
2015-03-19 16:46:31 +09:00
NAKAMURA Gou
786ae83380
add arch-dependent mman.h
2015-03-19 16:36:57 +09:00
NAKAMURA Gou
8c662c83be
implement mincore(2) for LTP
2015-03-19 16:32:03 +09:00
NAKAMURA Gou
4698bc40c2
implement System V shared memory for LTP syscalls
2015-03-19 16:21:18 +09:00
Tomoki Shirasawa
f5d935b703
support signalfd4 step1
2015-03-18 17:35:43 +09:00
Tomoki Shirasawa
8934eb91a4
kill syscall check uid
2015-03-17 15:04:36 +09:00
Balazs Gerofi
bf12a5c45e
Introduction of write-combined memory type mappings.
...
Introduction of VR_WRITE_COMBINED, PTATTR_WRITE_COMBINED and modification
to the memobj's get_page() interface so that Linux communicates back mapping
flags (such as write-combined).
2015-03-05 16:03:21 +09:00
Balazs Gerofi
ea5681232e
x86 Page Attribute Table (PAT) MSR support.
...
Reconfigure PAT to permit write-combining memory type to be assigned
on a page-by-page basis. Changes PWT and PCD bit combinations in page
table entries so that they correspond to the following format:
PAT
|PCD
||PWT
|||
000 WB Write Back (WB)
001 WC Write Combining (WC)
010 UC- Uncached (UC-)
011 UC Uncacheable (UC)
2015-03-05 16:03:20 +09:00
Tomoki Shirasawa
e6011be1af
create area for to save fp regs
...
refs #421
2015-03-05 12:18:46 +09:00
NAKAMURA Gou
2eac58aab3
add patch_process_vm(). (in progress)
...
This function patches specified range of specified user space even if
the range is not writable.
refs #401
2015-03-04 12:00:51 +09:00
Balazs Gerofi
e4f47df3c3
initialize pstate, turbo mode and power/performace bias MSR registers
...
MSR_IA32_MISC_ENABLE, MSR_IA32_PERF_CTL and MSR_IA32_ENERGY_PERF_BIAS
are responsible for performance settings, this change enables McKernel
to perform on par with Linux when running the fwq benchmark.
2015-02-27 11:29:11 +09:00
NAKAMURA Gou
b66b950129
add x86_sregs into x86_user_context
...
x86_sregs contains the registers which are included in user_regs_struct
but not included in x86_basic_regs.
2015-02-26 17:43:10 +09:00
NAKAMURA Gou
4aa8ba2eef
sort x86_basic_regs into user_regs_struct's order
2015-02-26 17:43:10 +09:00
NAKAMURA Gou
fab2c2aa97
wrap x86_regs with x86_user_context
...
and, rename x86_regs to x86_basic_regs.
2015-02-26 17:43:10 +09:00
Tomoki Shirasawa
d9cf1d49b1
support waitid
...
send SIGCHLD to parent when SIGSTOP or SIGCONT received
refs #425
refs #283
2015-02-22 20:05:30 +09:00
Balazs Gerofi
0307f6a6cc
impementation of sched_{setparam, getparam, setscheduler, getscheduler, get_priority_min, get_priority_max, rr_get_interval} system calls
2015-02-19 11:46:03 -08:00
NAKAMURA Gou
16af976a71
support msync() system call. refs #382
...
Msync(2) of this version writes only the pages which the calling process
modified. Modifications of the other processes are not written.
2015-02-18 11:52:15 +09:00
Dave van Dresser
8cdf70c500
Enable AVX extensions for processors that support it.
2015-02-12 17:51:50 -08:00
NAKAMURA Gou
d21ae28843
add dummy NUMA system calls. refs #405
...
ENOSYS system call handlers for the following.
- get_mempolicy()
- mbind()
- migrate_pages()
- move_pages()
- set_mempolicy()
2015-02-10 21:16:19 +09:00
NAKAMURA Gou
d30d8fe71c
support getcpu() system call. refs #385
...
It appeared on Linux(x86) in kernel 3.1.
2015-02-10 18:35:41 +09:00
Susumu Komae
bd5f43b119
support PTRACE_SINGLESTEP.
...
support debug/int3 exception.
2015-01-29 15:48:05 +09:00
Susumu Komae
c3ade864d9
fix PTRACE_PEEKUSER, PTRACE_POKEUSER, PTRACE_GETREGS.
...
support PTRACE_SETREGS.
In struct process, add 'unsigned long *ptrace_debugreg', instead of 'struct user *userp'.
debug registers are read/written from/to ptrace_debugreg, save/restore in schedule().
most general registers are proc->uctx.
fs_base is proc->thread.tlsblock_base.
gs_base,ds,es,fs,gs and orig_rax are uncompleted.
other members in 'struct user' are ignored, same as Linux implementation.
refs #257
refs #373
refs #263
2015-01-29 14:08:38 +09:00
Tomoki Shirasawa
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
Susumu Komae
d46110b4d9
support PTRACE_DETACH.
...
change getppid() to use proc->ftn->ppid_parent->pid, for ptraced process.
refs #280
2015-01-08 12:39:52 +09:00
bgerofi@riken.jp
b388f59ebd
ihk_ikc_irq and ihk_ikc_irq_apicid
2014-12-25 11:03:01 +09:00
bgerofi@riken.jp
ff47261337
receive trampoline addr via parameter of arch_start()
2014-12-25 11:03:00 +09:00
bgerofi@riken.jp
d4ba4dc8b3
introduction of mckernel_procfs_file_operations; fix /proc/self path resolution;
...
implementation of /proc/self/pagemap (LTP mmap12)
2014-12-15 12:46:05 +09:00
bgerofi@riken.jp
86f2a9067b
getppid() implementation
2014-12-04 16:55:17 +09:00
Masamichi Takagi
dbecaa2fc8
Add ptrace functions of job-control and signal
...
Note that a forked process automatically becomes ptraced state in this
commit.
2014-10-15 14:28:55 +09:00
Tomoki Shirasawa
658aa18ade
add memory debug (kmalloc/kfree)
...
* support "memdebug" mckernel option
* check buffer overrun when memory free and next mcexec run
* check double free
* check memory leak when next mcexec run
2014-10-07 15:45:16 +09:00
Tomoki Shirasawa
39f36120c1
support sigqueue
2014-09-23 23:17:53 +09:00
NAKAMURA Gou
7e12f0db72
Revert "テスト支援コード"
...
This reverts commit 054cb2ada2 .
2014-09-17 19:59:32 +09:00
NAKAMURA Gou
054cb2ada2
テスト支援コード
...
- vm_range_list のテスト支援コード
- vm_range 一致確認用関数追加
できれば、指定範囲内の変更を無視させたいのだが、
指定範囲内の変更のために split されたエントリを無害と判断できない
- page table のテスト支援コード
2014-09-17 19:46:48 +09:00
Masamichi Takagi
19fa391d4f
Implement vfork system call
...
It's implemented by making it issue clone system call internally with
the arguments of (SIGCHLD, 0, 0, 0, 0). The feature in which the caller
of vfork blocks until the child issues exit/execve is not implemented.
Refer to #233 .
2014-09-08 17:06:05 +09:00
Tomoki Shirasawa
78d10cce80
support process group
2014-08-18 17:08:28 +09:00
Naoki Hamada
530535c162
Merge remote branch 'origin/master' into gdb
2014-07-23 10:29:07 +09:00
Balazs Gerofi bgerofi@riken.jp
101a0f6e4a
remote TLB invalidation code for multi-threaded applications (e.g., during munmap())
2014-07-22 12:24:07 +09:00
Naoki Hamada
9dd7d6283c
Merge remote branch 'origin/master' into gdb
...
Conflicts:
kernel/include/process.h
2014-07-18 16:03:35 +09:00
Naoki Hamada
6c3d901069
Include switch for a plain Xeon.
2014-07-17 17:26:54 +09:00
Naoki Hamada
97a74f4692
Fix for core NOTE alignment & al.
2014-07-17 16:56:28 +09:00
bgerofi@riken.jp
35b8716966
push/pop r12,r13 and r14 as well when entering/leaving kernel space
2014-07-15 18:03:44 +09:00
YOSHIDA Masanori
99931179e1
add get_cpu_id syscall with No.700 for testing
2014-07-13 17:05:27 +09:00
YOSHIDA Masanori
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
Naoki Hamada
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