Commit Graph

58 Commits

Author SHA1 Message Date
NAKAMURA Gou
f093786bec x86: populating PML4e and PDPTe is now lock-free 2016-01-25 09:17:06 +09:00
Tomoki Shirasawa
04e193de13 refactoring process structures 2015-10-13 23:04:08 +09:00
NAKAMURA Gou
4946964ed0 update copyright notices 2015-03-27 14:50:09 +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
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
NAKAMURA Gou
22d8d169b6 change copy-out routines
- restrict copy_to_user() to only current process.
- add write_process_vm() to write specified process space.
2015-03-04 11:29:16 +09:00
NAKAMURA Gou
063fa963c3 change copy-in routines
- restrict copy_from_user() to only current process.
- add read_process_vm() to read specified process space.
2015-03-04 11:29:15 +09:00
NAKAMURA Gou
a6488adcc1 change parameter type of ihk_mc_pt_virt_to_phys()
- add type qualifier 'const' to virtual address parameter.
  that is, change parameter 'virt' from       'void *'
                                     to 'const void *'
2015-03-04 11:29:15 +09:00
bgerofi@riken.jp
ff47261337 receive trampoline addr via parameter of arch_start() 2014-12-25 11:03:00 +09:00
NAKAMURA Gou
55f7ee1526 fix a warning
| mckernel/kernel/../arch/x86/kernel/memory.c: In function '__set_pt_page':
| mckernel/kernel/../arch/x86/kernel/memory.c:367:
|     warning: 'init_pt_lock_flags' may be used uninitialized in this function
2014-12-22 17:03:32 +09:00
NAKAMURA Gou
0942bf0ce0 make dkprintf() evaluate its parameters always
Parameters of dkprintf() should be evaluated even if dkprintf() is
disabled.  Because this enables to find expression of parameter obsolete
and to avoid unnecessary compiler warnings such as "unused variable".
2014-12-22 16:58:03 +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
Masamichi Takagi
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
NAKAMURA Gou
aaa466ed05 Revert "ihk_mc_pt_print_pte で PTE を表示するようにした"
This reverts commit 9a1d535f5c.
2014-09-17 19:59:34 +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
NAKAMURA Gou
9a1d535f5c ihk_mc_pt_print_pte で PTE を表示するようにした 2014-09-17 19:46:45 +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
NAKAMURA Gou
11bb334bd4 support mremap(2)
fixes #22
2014-07-02 15:30:52 +09:00
NAKAMURA Gou
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
NAKAMURA Gou
d2e29bf598 add visit_pte_range()
refs #21
refs #22
2014-06-30 17:33:43 +09:00
Balazs Gerofi bgerofi@riken.jp
badb450153 more detailed report in memory management error path 2014-05-22 17:27:39 +09:00
NAKAMURA Gou
99dec9b805 add parameters to arch_vrflag_to_ptattr()
for other architectures and future use
refs #18
2014-05-07 21:24:45 +09:00
NAKAMURA Gou
769cf79bf8 move vrflag_to_ptattr() to arch/x86/kernel/memory.c
refs #18
2014-05-07 21:24:45 +09:00
Balazs Gerofi bgerofi@riken.jp
0285c99c9c use PT_PHYSMASK on last level PTE entries to avoid returning invalid physical address 2014-04-15 20:21:07 +09:00
NAKAMURA Gou
56f0d3b29f support IA-32e's "execute disable bit" 2014-04-11 14:59:47 +09:00
NAKAMURA Gou
b31a1b6db2 add PTATTR_NO_EXECUTE 2014-04-11 14:59:47 +09:00
NAKAMURA Gou
f60b37ea1b use 'enum ihk_mc_pt_attribute' instead of 'int' 2014-04-11 14:59:46 +09:00
NAKAMURA Gou
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
Tomoki Shirasawa
8411f353fe signal part 3 (EFAULT) 2014-01-13 10:52:29 +09:00
Masamichi Takagi
2f89e26ac0 add modification history entry to the following files,
mckernel/lib/include/*.h
  mckernel/arch/x86/elfboot/*
  mckernel/arch/x86/kboot/main.c
  mckernel/arch/x86/kernel/*
  mckernel/lib/page_alloc.c
  mckernel/lib/string.c
  mckernel/lib/include/ihk/*
except
  mckernel/arch/x86/kernel/include/signal.h
  mckernel/arch/x86/tools/mcreboot-attached-mic.sh.in
  mckernel/arch/x86/kernel/include/syscall_list.h
  mckernel/arch/x86/kernel/syscall.c
.
2013-11-14 18:30:06 +09:00
Masamichi Takagi
384328c6bc add copyright notice to the following files,
mckernel/lib/include/*.h
  mckernel/arch/x86/elfboot/*
  mckernel/arch/x86/kboot/main.c
  mckernel/arch/x86/kernel/*
  mckernel/lib/page_alloc.c
  mckernel/lib/string.c
  mckernel/lib/include/ihk/*
except
  mckernel/arch/x86/kernel/include/signal.h
  mckernel/arch/x86/tools/mcreboot-attached-mic.sh.in
  mckernel/arch/x86/kernel/include/syscall_list.h
  mckernel/arch/x86/kernel/syscall.c
.
2013-11-14 17:09:58 +09:00
NAKAMURA Gou
bbbc6e1570 add shared mapped file (in progress)
implemented:
- Pages can be shared between maps.
- A change made to a map is written to the file, at munmap().

not yet implemented:
- VM operation during page IO execution.
  Because page IO is executed with VM's lock.
- Page IO, which does not change a file size with any case.
  When munmap() races with truncate(), the file size may be changed
  illegally.
2013-11-11 18:18:33 +09:00
NAKAMURA Gou
27172ad413 support private mapped file 2013-10-15 12:30:41 +09:00
NAKAMURA Gou
480f6d4c2f rewrite page_fault_handler() 2013-08-08 12:43:00 +09:00
NAKAMURA Gou
78d9d3fcd2 Revert "trial implementation of private file mapping"
This reverts commit abe57218c4.
2013-07-26 16:44:39 +09:00
NAKAMURA Gou
abe57218c4 trial implementation of private file mapping
for review only.  will soon be reverted.
2013-07-26 14:40:12 +09:00
NAKAMURA Gou
334662b7fe implement sys_mprotect() 2013-07-18 09:25:58 +09:00
NAKAMURA Gou
2aa5194958 rewrite sys_mmap() as sys_new_mmap() 2013-07-10 13:11:19 +09:00
NAKAMURA Gou
630170fb6a add ihk_mc_allocate_aligned_pages() 2013-07-10 13:11:18 +09:00
NAKAMURA Gou
96f02a1d08 delete the access restrictions of whole page table.
access restrictions will be set on individual pages.
2013-06-19 12:07:40 +09:00
NAKAMURA Gou
ff5ee67d06 remove PTATTR_USER from the decision of ihk_mc_ap_flag in __set_pt_page 2013-06-19 12:07:40 +09:00
NAKAMURA Gou
5fc0d90b7d add ihk_mc_pt_clear_range() 2013-06-12 11:49:19 +09:00
NAKAMURA Gou
80538d8800 fix a wrong decision in __clear_pt_page() 2013-06-03 14:39:07 +09:00
Balazs Gerofi bgerofi@riken.jp
4a27a65cb0 resolved merge conflicts with futex code 2013-06-02 16:42:08 +09:00
Tomoki Shirasawa
2627d4df55 add PTATTR_FOR_USER flag to enum ihk_mc_ap_flag 2013-06-02 13:57:44 +09:00
Tomoki Shirasawa
5d9efa7241 add rollback when ihk_mc_pt_set_page returns error 2013-06-02 13:54:38 +09:00
NAKAMURA Gou
d540deab17 change 'pa_ops' to file scope variable 2013-05-28 13:40:19 +09:00
Tomoki Shirasawa
da3965be11 Merge branch 'master' of postpeta.pccluster.org:mckernel
Conflicts:
	kernel/host.c
	kernel/process.c
	lib/include/ihk/mm.h
2013-05-28 12:49:13 +09:00
Tomoki Shirasawa
bb4caccf98 add memory allocation check 2013-05-28 12:06:41 +09:00