Tomoki Shirasawa
27c3ed7e96
remove debug print
2016-02-21 15:17:42 +09:00
Tomoki Shirasawa
e2b28da32f
signal handler support gdb stepi command
2016-02-21 14:55:34 +09:00
Tomoki Shirasawa
eba2be8a35
support times
2016-02-18 13:14:18 +09:00
Tomoki Shirasawa
f7b5b48266
support x2apic
2016-01-06 13:53:02 +09:00
Balazs Gerofi
0eaa27291a
thread: move clear_child_tid, etc. to main structure
2015-10-29 11:01:27 +09:00
Tomoki Shirasawa
343bfbd30a
rename back status field
2015-10-22 20:26:50 +09:00
Tomoki Shirasawa
04e193de13
refactoring process structures
2015-10-13 23:04:08 +09:00
NAKAMURA Gou
79266f6b97
x86_issue_ipi: keep interrupt disabled while issuing IPI
2015-09-29 19:10:01 +09:00
NAKAMURA Gou
a666b69c2c
make x86_issue_ipi() call wait_icr_idle()
2015-09-29 19:10:01 +09:00
NAKAMURA Gou
47e8552eba
move wait_icr_idle() before x86_issue_ipi()
2015-09-29 19:10:00 +09:00
NAKAMURA Gou
f08e0c0054
guess whether MSR_PLATFORM_INFO exists or not
2015-09-29 19:10:00 +09:00
Balazs Gerofi
40b8587a8a
schedule(): sync CPU_FLAG_NEED_RESCHED flag with clone and migrate
2015-09-16 19:22:40 +09:00
Balazs Gerofi
9ae5bcf46e
gettimeofday(): an implementation based on CPU invariant TSC support
2015-08-24 23:53:56 +02:00
Balazs Gerofi
9ba40dc0ff
schedule(): hold runq lock for the entire duration of context switching
...
releasing the runq lock after loading page tables but before the actual
context switch can leave execution in an inconsistent if the current
process is descheduled from an IRQ between these two steps.
this patch holds the runq lock with IRQs disabled and makes the context
switch a single atomic operation.
2015-08-10 12:37:12 +09:00
Balazs Gerofi
215cd370a1
ap_init(): clean up AP boot kernel messages
2015-08-07 10:57:59 +09:00
Balazs Gerofi
0a0e2c04a0
support for dynamically toggling time sharing when CPU is oversubscribed
2015-08-07 08:51:50 +09:00
Balazs Gerofi
aa191b87d3
schedule(): use XSAVE/XRSTOR and swap floating point registers in context switch
2015-08-07 08:41:00 +09:00
Balazs Gerofi
9b1e691588
fix thread migration code (i.e., sched_setaffinity())
...
- moved migration code into idle() process and updated schedule() to detect
when a thread has moved to another CPU in order to avoid doing housekeeping
on behalf of the original one
- start CPU head from core 0
- keeps track of nested interrupts
2015-07-24 20:09:17 +09:00
Balazs Gerofi
3988b0fc61
keep track of IRQ context and don't do thread migration there
2015-07-23 16:56:58 +09:00
Tomoki Shirasawa
1ff4cf68c2
support SA_RESTART flag and restart syscall
2015-07-16 16:33:14 +09:00
Balazs Gerofi
382614ddae
pstate: use MSR_NHM_TURBO_RATIO_LIMIT as maximum single-core turbo ratio
2015-07-01 22:18:38 +09:00
Balazs Gerofi
fbb776e4fb
cpu init: support for no_turbo kernel argument
2015-06-25 12:18:27 +09:00
NAKAMURA Gou
a0d909af75
add supports for dump analyzer
2015-03-31 12:59:53 +09:00
NAKAMURA Gou
4946964ed0
update copyright notices
2015-03-27 14:50:09 +09:00
NAKAMURA Gou
9271d5346d
add ACSL annotation to cpu.c
2015-03-25 15:54:08 +09:00
Balazs Gerofi
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
Tomoki Shirasawa
e6011be1af
create area for to save fp regs
...
refs #421
2015-03-05 12:18:46 +09:00
NAKAMURA Gou
8db54c2637
make GPE on CPL0 cause panic
2015-03-04 11:29:16 +09:00
Susumu Komae
377341ce5f
change debug output in debug/int3 handler, for struct x86_user_context.
2015-03-03 14:06:30 +09:00
NAKAMURA Gou
1d2f5d9893
set is_gpr_valid to initial user context
2015-02-27 14:47:43 +09:00
Balazs Gerofi
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
NAKAMURA Gou
305ebfed0e
add lookup_user_context(). refs #420
2015-02-26 17:43:10 +09:00
NAKAMURA Gou
fab2c2aa97
wrap x86_regs with x86_user_context
...
and, rename x86_regs to x86_basic_regs.
2015-02-26 17:43:10 +09:00
NAKAMURA Gou
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
Tomoki Shirasawa
3b04043f2a
change to throw signal SIGILL to SIGSEGV when GPE
2015-02-18 14:54:49 +09:00
Dave van Dresser
8cdf70c500
Enable AVX extensions for processors that support it.
2015-02-12 17:51:50 -08:00
Susumu Komae
bd5f43b119
support PTRACE_SINGLESTEP.
...
support debug/int3 exception.
2015-01-29 15:48:05 +09:00
Balazs Gerofi bgerofi@riken.jp
e25d35a191
ihk_mc_init_ap(): cosmetics for reporting IKC, trampoline info
2014-12-25 11:05:52 +09:00
bgerofi@riken.jp
b388f59ebd
ihk_ikc_irq and ihk_ikc_irq_apicid
2014-12-25 11:03:01 +09:00
bgerofi@riken.jp
ff47261337
receive trampoline addr via parameter of arch_start()
2014-12-25 11:03:00 +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
Masamichi Takagi
658b88fd7b
Modify spacing
2014-10-15 14:40:47 +09:00
Masamichi Takagi
dbecaa2fc8
Add ptrace functions of job-control and signal
...
Note that a forked process automatically becomes ptraced state in this
commit.
2014-10-15 14:28:55 +09:00
NAKAMURA Gou
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
NAKAMURA Gou
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
Tomoki Shirasawa
39f36120c1
support sigqueue
2014-09-23 23:17:53 +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
YOSHIDA Masanori
3751fa1766
add some functions related to migration into kernel/process.h
...
... and also add include guard to arch/x86/kernel/include/signal.h
2014-07-13 17:05:09 +09:00
YOSHIDA Masanori
170a54d976
add CPU affinity function
...
- syscall support
-- sched_setaffinity
-- sched_getaffinity
- migration in scheduler
- resched at return of syscalls/interrupts
2014-07-13 17:04:47 +09:00
Masamichi Takagi
a9bebf1e14
Make idle loop not miss a chance to schedule
...
Prevents the case where McKernel misses one chance to schedule a
task when an interrupt occurs just after enabling interrupt and
just before executing "halt" in the idle loop (in kernel/process.c).
refs #45
2014-06-12 11:22:02 +09:00