Commit Graph

965 Commits

Author SHA1 Message Date
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
e861dfa1ab add some files to .gitignore 2014-09-17 19:46:43 +09:00
b361012563 marker 2014-09-17 19:46:41 +09:00
fbd33470e7 fix warnings 2014-09-17 19:46:39 +09:00
50fc6b03ea BEGINNING of 'myb' 2014-09-17 19:46:37 +09:00
d7436652bf procfs: add support for <pid>/mem files and ad hoc fix for memory incoherency. 2014-09-17 15:49:47 +09:00
e2dc359ba7 execve(): iterate and close fds with FD_CLOEXEC, resolves LTP fcntl07_64 2014-09-17 15:32:53 +09:00
878ba35804 /proc/mcos?/<pid>/task/<tid>/stat support 2014-09-15 19:21:27 +09:00
f7780cfe93 kmalloc()/kfree(): allow CPU cores to kfree() a piece of memory that was kmalloc()ed by another core through embedding CPU id into malloc_header 2014-09-14 23:22:43 +09:00
225509786f do_fork(): fix variable name when DEBUG_PRINT_SC enabled 2014-09-11 16:58:59 +09:00
2a0e9c689f Fixed mckernel procfs so that the host kernel does not complain about leaking. 2014-09-11 15:25:52 +09:00