Commit Graph

575 Commits

Author SHA1 Message Date
1f120b929b ptrace: Make unimplemented ptrace requests return error. 2014-10-15 14:50:11 +09:00
f28eb0a672 Fix taking exit status when wait4()-ing stopped 2014-10-15 14:49:36 +09:00
95dd193fd6 Fix reporting of having done execve to ptracer 2014-10-15 14:49:23 +09:00
2997274470 Make __WCLONE option for wait4(2) and flags for clone(2) work properly. 2014-10-15 14:45:58 +09:00
66db108dd3 Use erase-safe Ver. of list traversal in waitpid 2014-10-15 14:42:52 +09:00
759ceac769 Fix deafult signal actions 2014-10-15 14:42:34 +09:00
013d3e95c2 Fix manipulation of fork_tree_node for ptrace 2014-10-15 14:42:17 +09:00
658b88fd7b Modify spacing 2014-10-15 14:40:47 +09:00
da17625be9 gdb: definitions for ptrace() and syscall part of TRACEME 2014-10-15 14:30:17 +09:00
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
ab89de0de6 show the interrupt context in lower case
This commit is intended to make it easier to find the corresponding line
in the objdump output.
2014-10-14 14:16:46 +09:00
759fd2e078 show all GPRs saved in interrupt context
This commit adds:
- rbp, r12 .. r15
- rflags
- error code
2014-10-14 14:16:46 +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
6415559a81 procfs: use current cpu's syscall_channel 2014-10-10 16:20:38 +09:00
2e5874880a procfs: delay ack until get_procfs_entry() ends
This commit avoids the problem that causes get_procfs_entry() to create
entries which have same name.  See get_procfs_entry().
2014-10-10 16:20:38 +09:00
7fcd36fbd3 Lock when setting PTE for kernel virual address
We didn't have any lock variable to guard the manipulation of a PTE for
kernel virual address space. Note that we have one for user virtual
address space.
2014-10-08 14:06:17 +09:00
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
f3ea226d91 fix strncpy buffer overrun 2014-10-01 09:04:11 +09:00
8751b32b30 Suppress kernel message when missing remote PTE
The page-fault handler called on the Linux side looks for a matching PTE
in the page table residing in McKernel. If it fails to find it, it
wrote a confusing kernel message. It's supressed now because it's not an
error.
2014-09-25 20:30:49 +09:00
905fb9abb6 devobj: relax the size limit to 512 pages 2014-09-25 18:07:31 +09:00
43e6de8124 fork()/execve()/ETXTBSY: sync parent a child duing fork() to make sure child holds a reference to the executable in the host kernel using open_exec() 2014-09-25 15:14:18 +09:00
ef52ba7607 kill system call returned bad number 2014-09-25 14:09:07 +09:00
a0c5d5c5de Merge branch 'master' of postpeta.pccluster.org:mckernel 2014-09-23 23:18:27 +09:00
39f36120c1 support sigqueue 2014-09-23 23:17:53 +09:00
a7b0880a8d Make findthread_and_lock take ihk_spinlock_t ** 2014-09-23 12:03:48 +09:00
434597e629 Make lock/unlock in lock.c accord with arch-lock.h
Make both of the lock/unlock function pairs use the same interfaces.
2014-09-23 12:00:18 +09:00
43e54dcf85 procfs: fix for http://postpeta.pccluster.org/redmine/issues/119#note-30 2014-09-22 10:46:33 +09:00
55aeceb1bf execve()/creat(): handle NULL env correctly and support for holding executable file so that write access returns ETXTBSY 2014-09-18 21:25:04 +09:00
b7088e654a Revert "BEGINNING of 'myb'"
This reverts commit 50fc6b03ea.
2014-09-17 19:59:38 +09:00
e5917e6bf1 Revert "fix warnings"
This reverts commit fbd33470e7.
2014-09-17 19:59:37 +09:00
f267b65fba Revert "marker"
This reverts commit b361012563.
2014-09-17 19:59:36 +09:00
500131cbb6 Revert "add some files to .gitignore"
This reverts commit e861dfa1ab.
2014-09-17 19:59:35 +09:00
aaa466ed05 Revert "ihk_mc_pt_print_pte で PTE を表示するようにした"
This reverts commit 9a1d535f5c.
2014-09-17 19:59:34 +09:00
b13b8e91b2 Revert "exit_group 時に空きページ数を表示する"
This reverts commit 219291f40f.
2014-09-17 19:59:33 +09:00
7e12f0db72 Revert "テスト支援コード"
This reverts commit 054cb2ada2.
2014-09-17 19:59:32 +09:00
776dfff734 Revert "terminate するときに空きページ数を表示するようにした"
This reverts commit d4ffe7db8d.
2014-09-17 19:59:29 +09:00
d692b57a67 Revert "idle 開始時に free_list の状況を表示する"
This reverts commit ec47968a48.
2014-09-17 19:59:27 +09:00
f50132bd93 Revert "SC_DEBUG 時のエラーを消した"
This reverts commit 7dfa88ae6b.
2014-09-17 19:59:25 +09:00
7a5764bda4 Revert "mcexec のデバッグ出力を改善"
This reverts commit fb38917bf6.
2014-09-17 19:59:10 +09:00
c9f8bb0201 mmap: support device mapping (in progress) refs #218 2014-09-17 19:52:00 +09:00
438c7fd784 add devobj a new memobj 2014-09-17 19:48:02 +09:00
fdb86115a8 add pager requests for device mapping
- PAGER_REQ_MAP
  map specified file, and create a private device pager.
- PAGER_REQ_UNMAP
  destroy specified private device pager, and unmap related mapping.
- PAGER_REQ_PFN
  report a physical address.
2014-09-17 19:48:00 +09:00
f641090a7e support uncachable on-demand mapping 2014-09-17 19:47:58 +09:00
fb38917bf6 mcexec のデバッグ出力を改善 2014-09-17 19:46:55 +09:00
7dfa88ae6b SC_DEBUG 時のエラーを消した 2014-09-17 19:46:54 +09:00
ec47968a48 idle 開始時に free_list の状況を表示する 2014-09-17 19:46:52 +09:00
d4ffe7db8d terminate するときに空きページ数を表示するようにした 2014-09-17 19:46:50 +09:00
054cb2ada2 テスト支援コード
- vm_range_list のテスト支援コード
- vm_range 一致確認用関数追加
  できれば、指定範囲内の変更を無視させたいのだが、
  指定範囲内の変更のために split されたエントリを無害と判断できない
- page table のテスト支援コード
2014-09-17 19:46:48 +09:00
219291f40f exit_group 時に空きページ数を表示する 2014-09-17 19:46:46 +09:00
9a1d535f5c ihk_mc_pt_print_pte で PTE を表示するようにした 2014-09-17 19:46:45 +09:00