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
bb137bc9bb
make brk region just follow data region
...
This effectively reverts commit d70dd2338c .
2015-02-18 11:52:15 +09:00
16af976a71
support msync() system call. refs #382
...
Msync(2) of this version writes only the pages which the calling process
modified. Modifications of the other processes are not written.
2015-02-18 11:52:15 +09:00
6485578a7f
sched_yield implementation
2015-02-17 16:20:51 -08:00
d2d0fc6721
The mcexec command became executable from a command-line at the same time
2015-02-17 18:33:38 +09:00
9574a28a5f
The same CPU is assigned to a different process.
...
refs #423
2015-02-17 18:27:46 +09:00
dbe4ec3247
support PTRACE_O_TRACECLONE and PTRACE_O_TRACEEXEC.
2015-02-17 17:00:48 +09:00
99debc548f
detach traced process, when tracer process terminate.
...
some fixes on PTRACE_DETACH.
refs #374
refs #280
2015-02-17 16:58:29 +09:00
fa15f6b106
support PTRACE_SYSCALL.
...
support PTRACE_O_TRACESYSGOOD.
ptrace_report_exec() calls ptrace_report_signal().
refs #265
2015-02-17 16:56:27 +09:00
8568a73f33
traced process should stop by any signal except for SIGKILL,
...
even if SIG_IGN. (LTP ptrace01)
2015-02-17 16:51:29 +09:00
8b57b2ee57
change signal handling at mcexec
2015-02-15 17:54:11 +09:00
9a36e7b84a
restart waitpid if it returns with EINTR.
2015-02-13 16:00:40 +09:00
d998691425
fix setpgid(0, 0)
2015-02-13 13:51:00 +09:00
8cdf70c500
Enable AVX extensions for processors that support it.
2015-02-12 17:51:50 -08:00