Commit Graph

40 Commits

Author SHA1 Message Date
11bb334bd4 support mremap(2)
fixes #22
2014-07-02 15:30:52 +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
d2e29bf598 add visit_pte_range()
refs #21
refs #22
2014-06-30 17:33:43 +09:00
badb450153 more detailed report in memory management error path 2014-05-22 17:27:39 +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
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
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
8411f353fe signal part 3 (EFAULT) 2014-01-13 10:52:29 +09:00
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
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
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
27172ad413 support private mapped file 2013-10-15 12:30:41 +09:00
480f6d4c2f rewrite page_fault_handler() 2013-08-08 12:43:00 +09:00
78d9d3fcd2 Revert "trial implementation of private file mapping"
This reverts commit abe57218c4.
2013-07-26 16:44:39 +09:00
abe57218c4 trial implementation of private file mapping
for review only.  will soon be reverted.
2013-07-26 14:40:12 +09:00
334662b7fe implement sys_mprotect() 2013-07-18 09:25:58 +09:00
2aa5194958 rewrite sys_mmap() as sys_new_mmap() 2013-07-10 13:11:19 +09:00
630170fb6a add ihk_mc_allocate_aligned_pages() 2013-07-10 13:11:18 +09:00
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
ff5ee67d06 remove PTATTR_USER from the decision of ihk_mc_ap_flag in __set_pt_page 2013-06-19 12:07:40 +09:00
5fc0d90b7d add ihk_mc_pt_clear_range() 2013-06-12 11:49:19 +09:00
80538d8800 fix a wrong decision in __clear_pt_page() 2013-06-03 14:39:07 +09:00
4a27a65cb0 resolved merge conflicts with futex code 2013-06-02 16:42:08 +09:00
2627d4df55 add PTATTR_FOR_USER flag to enum ihk_mc_ap_flag 2013-06-02 13:57:44 +09:00
5d9efa7241 add rollback when ihk_mc_pt_set_page returns error 2013-06-02 13:54:38 +09:00
d540deab17 change 'pa_ops' to file scope variable 2013-05-28 13:40:19 +09:00
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
bb4caccf98 add memory allocation check 2013-05-28 12:06:41 +09:00
fa1be382c7 release the resources of the process at exit(2)/exit_group(2). 2013-05-28 11:31:23 +09:00
31b83e0b41 stop early_alloc_page correctly (bug#17) 2013-05-17 17:15:14 +09:00
0fdf3d3411 set the PFL1_PCD, if PTATTR_UNCACHABLE is specified. (bug#14) 2013-05-17 17:14:19 +09:00
b83083b9a2 [Bug 16] malfunction of __clear_pt_page when a virtual address is accessed and at that time the corresponding PDTE is invalid: FIX large page issue 2013-05-10 12:40:50 +09:00
d5a6343dd3 [Bug 15] get_pte malfunction in case of 2MiB page size: FIX 2013-05-10 12:40:00 +09:00
4693789608 change function names 2012-12-17 16:15:05 +09:00
0a808057eb modify include lines and Makefiles 2012-12-17 16:10:56 +09:00
158903c7b6 modify file names and create directories 2012-12-17 15:39:24 +09:00