4698bc40c2
implement System V shared memory for LTP syscalls
2015-03-19 16:21:18 +09:00
f5d935b703
support signalfd4 step1
2015-03-18 17:35:43 +09:00
d53865ac5f
change to check sequence of kill syscall, check sig num zero after uid checking
2015-03-18 12:59:05 +09:00
8934eb91a4
kill syscall check uid
2015-03-17 15:04:36 +09:00
ed6d94a358
syscall slowdown when repeat fork/exit/wait (LTP fork13)
2015-03-11 16:09:59 +09:00
fa923da0e3
add host PTE cleaning to execve(). refs #377
...
This removes a cause of LTP gethostid01's wrong behavior.
2015-03-10 18:23:50 +09:00
1f8265efbc
check _PAGE_PWT and _PAGE_PCD directly instead of _PAGE_CACHE_WC
2015-03-07 02:12:48 +09:00
b553de7435
supports PTRACE_GETREGSET, PTRACE_SETREGSET.
...
supports PTRACE_GETFPREGS, PTRACE_SETFPREGS.
refs #421
2015-03-06 19:18:32 +09:00
6a82412d64
modify procfs to read inactive thread's files
...
However, the following files can be read only if the corresponding
thread is in active.
- /proc/<PID>/mem
- /proc/<PID>/task/<TID>/mem
refs #371
2015-03-05 21:41:24 +09:00
fa29c34995
expand the size of kstack 12 KiB
...
When a procfs file belonging to a process which was in PS_TRACED status
was accessed, calling kprintf() from process_procfs_request() caused
stack overrun, and x86_cpu_local_variables was destroyed.
2015-03-05 20:30:33 +09:00
f84b5acf79
map entire buffer to read procfs
...
Reading data from procfs file more than 4096 byte caused a buffer
overrun in McKernel because the buffer was always mapped in McKernel
4096 byte regardless of actual buffer size.
2015-03-05 20:30:33 +09:00
8b24f60861
Combine range and memobj flags before arch_vrflag_to_ptattr()
2015-03-05 16:40:14 +09:00
f82bb284bb
Make pager and devobj debug messages optional
2015-03-05 16:03:21 +09:00
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
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
e6011be1af
create area for to save fp regs
...
refs #421
2015-03-05 12:18:46 +09:00
9946ccd6b1
pipe free fork is implemented (LTP fork09)
2015-03-04 17:40:58 +09:00
daec7de828
implement /proc/stat
...
only for sysconf(_SC_NPROCESSORS_ONLN). This enables Intel OpenMP
runtime to arrange threads with regard for CPU topology.
refs #291
2015-03-04 15:46:53 +09:00
9ad48083aa
make PTRACE_POKETEXT use patch_process_vm()
2015-03-04 12:04:54 +09:00
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
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
8db54c2637
make GPE on CPL0 cause panic
2015-03-04 11:29:16 +09:00
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
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
2239a6b09b
modify page_fault_process()
...
- change its argument from 'struct process *'
to 'struct process_vm *'.
- change its name from 'page_fault_process()'
to 'page_fault_process_vm()'.
- allow to resolve a fault on the process_vm of another process.
2015-03-04 11:29:15 +09:00
8c179d506a
support PTRACE_ARCH_PRCTL.
...
refs #420
2015-03-03 14:22:57 +09:00
377341ce5f
change debug output in debug/int3 handler, for struct x86_user_context.
2015-03-03 14:06:30 +09:00
8caeba7cba
support PTRACE_GETSIGINFO and PTRACE_SETSIGINFO
...
refs #422
2015-03-03 09:54:57 +09:00
1d2f5d9893
set is_gpr_valid to initial user context
2015-02-27 14:47:43 +09:00
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
4751055ee4
make ptrace(2) use lookup_user_context()
2015-02-26 17:43:10 +09:00
305ebfed0e
add lookup_user_context(). refs #420
2015-02-26 17:43:10 +09:00
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
4aa8ba2eef
sort x86_basic_regs into user_regs_struct's order
2015-02-26 17:43:10 +09:00
fab2c2aa97
wrap x86_regs with x86_user_context
...
and, rename x86_regs to x86_basic_regs.
2015-02-26 17:43:10 +09:00
026164eda4
fix PTRACE_ATTACH, PTRACE_DETACH, detach at tracer process terminated.
...
tracee process may have no parent, increment/decrement refcount.
refs #374
refs #280
2015-02-25 21:09:44 +09:00
e91d1e5b7b
stack of signal handler is not 16 byte align
...
refs #429
2015-02-24 17:20:52 +09:00
73743eeeb0
temporary fix for waiting tracee blocked
2015-02-24 15:20:32 +09:00
c1c1fd578a
modify file path of /proc files
...
LTP getsid02 mount06 msgctl08 msgget03 pause02 pipe07 readhead02
swapon03 sysconf01 wait402
2015-02-24 11:33:49 +09:00
f35cc66d18
delete unused argument "ctx" from do_syscall
...
support waitid option "WNOWAIT"
2015-02-23 17:14:14 +09:00
d9cf1d49b1
support waitid
...
send SIGCHLD to parent when SIGSTOP or SIGCONT received
refs #425
refs #283
2015-02-22 20:05:30 +09:00
3d426ada01
use remap_pfn_range() in rus_vm_fault() for kernel versions newer than 3.0
2015-02-19 13:52:55 -08:00
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
0dee04f16b
move parse_args() to after arch_init()
...
In attached-mic, bootparam is not mapped until arch_init() is finished.
In builtin-mic and builtin-x86, virtual address of bootparam is changed
in arch_init().
2015-02-18 20:49:46 +09:00
0e98e87b95
change type of kprintf_lock() to "unsigned long"
...
to match type of ihk_mc_spinlock_lock().
2015-02-18 20:49:46 +09:00
d35e60c1a3
add init_boot_processor_local() for arch_start()
2015-02-18 20:49:46 +09:00
037e17c4ed
fix parsing of "osnum=" kargs
2015-02-18 16:44:14 +09:00
2baf274dac
fix PTRACE_O_TRACEFORK, PTRACE_O_TRACEVFORK and PTRACE_O_TRACECLONE.
...
allocate debug registers area, for new process.
(gdb testsuite gdb.base/inferior-died.exp)
refs #266
refs #372
2015-02-18 16:20:23 +09:00
3b04043f2a
change to throw signal SIGILL to SIGSEGV when GPE
2015-02-18 14:54:49 +09:00
c0edb6fe6f
add new cpu state CPU_STATUS_RESERVED
2015-02-18 13:46:08 +09:00