3e00189de0
kprintf: fix checking if interrupt is disabled
...
Change-Id: I2ee1a1e2438ae761c4136593953ede2738bc6f74
2021-03-11 07:03:04 +00:00
a9973e913d
uti: futex call function in mcctrl
...
Previously, futex code of McKerenl was called by mccontrol,
but there ware some problems with this method.
(Mainly, location of McKernel image on memory)
Call futex code in mcctrl instead of the one in McKernel image,
giving the following benefits:
1. Not relying on shared kernel virtual address space with Linux any more
2. The cpu id store / retrieve is not needed and resulting in the code
Change-Id: Ic40929b64a655b270c435859fa287fedb713ee5c
refe: #1428
2021-02-26 10:24:19 +09:00
a0d446b27f
smp: make smp_call_func() arch independent
...
Change-Id: Ib60604ceb3274b173bd7f96cf57c8c35c1889e44
2021-02-18 06:16:17 +00:00
4f7fd90300
TO RESET: lock: check if runq lock is held with IRQs disabled
...
Change-Id: I9a79ceaf9e399ad3695ed8959ca10c587591751a
2020-12-25 11:34:09 +09:00
8f2c8791bf
TO RESET: arm64: enable interrupt on panic
...
Change-Id: I1ceb321de324f307fc82366b162c72f64184247b
2020-12-24 17:18:37 +09:00
5719b4c64a
perf: update event structure
...
Change-Id: I5bc0fdd42db509b5d2daca7d97e29ad1f7d11f1a
2020-03-03 13:23:30 +09:00
343121c3d0
perf: set event period
...
Change-Id: Ibf569de7af8697e766c10b8d70905b8cdc4df083
2020-03-03 13:23:30 +09:00
86c45484e3
perf: add struct hw_perf_event
...
Change-Id: I0938e2b18064ad805a9edb6e15d26cf438bf0a59
2020-03-03 13:23:29 +09:00
8e4073c2ca
freeze: allow interrupts in frozen state
...
Change-Id: I1d502f828ab9f9c0e1223d021979ac3dcf4d0c25
2019-09-26 02:13:23 +00:00
9c78d4d249
pmu: define event validation in architecture dependent code.
...
Change-Id: Ia053af146ba3c89810892271cae93def6d9fd7c8
2019-07-31 16:18:50 +09:00
06af2d62c6
pmu: implement event mapping function.
...
Change-Id: Iac1ec99152b17a19dba0bf1a35f07724b8abc5a1
2019-07-18 16:39:18 +09:00
3fda54ece8
IHK: support for using Linux work IRQ as IKC interrupt (optional)
...
Change-Id: I2a0e59a47c229fd9271866199c3c4d30e1ddd7f9
2019-04-09 01:52:49 +00:00
9b6a88eeeb
x86_64: Move arch-specific interrupt vector number to arch-dependent code
...
Change-Id: Ie3cc631ec351503a619b019432388a827d75334c
Fujitsu: POSTK_DEBUG_ARCH_DEP_75
2019-04-08 01:48:07 +00:00
fb98664f49
clone_thread: Add arch_clone_thread()
...
Fujitsu: POSTK_DEBUG_ARCH_DEP_23
Refs: #969
Change-Id: Ic15765b8c9e956c95fc50b333b01464d87450d3c
2018-11-21 07:10:01 +00:00
3e3ccf377c
compiler.h: add READ_ONCE/WRITE_ONCE macro
...
These macros are needed to make sure the compiler does not optimize away
atomic constructs such as "while (!READ_ONCE(foo))" loops that do not
modify foo within the loop
Also move the barrier() define where it belongs while we are here, it is
needed for READ_ONCE/WRITE_ONCE and including ihk/cpu.h here causes
include loops
Change-Id: Ia533a849ed674719ccbc0495be47d22a3c47b8f8
2018-10-11 08:54:13 +00:00
4439b04d9f
ihk_mc_get_linux_kernel_pgt(): add declaration
...
Cherry-pick of caff967a442907dd75f8cd878b9f2ea7608c77b2
2018-09-04 19:51:10 +09:00
0758f6254e
headers: declare void arguments for functions
...
Not giving any argument means that any argument is OK,
this is not what is meant here.
Change-Id: Ide651c1dec973d4b8709cf00646988f4c4f3acdd
2018-07-03 09:18:25 +00:00
12840601e1
support PERF_TYPE_{HARDWARE|HW_CACHE} in perf_event_open
...
refs #829
2017-10-20 23:10:20 +09:00
3bd0137c25
Fix some race condition on arm64
...
* move barrier() to architecture depended region
* add barrier() in issue_ipi, kprintf, map_virtual
* enable the workaround for cavium thunderx
2017-10-18 09:20:51 +09:00
43db8e2d65
remove osnum from mckernel kargs. refs #338
2017-09-12 14:53:44 +09:00
9989f41fd3
add arm64 support
...
- add arm64 dependent codes with GICv3 and SVE support
- fix bugs based on architecture separation requests
2017-09-05 15:06:27 +09:00
72e3f5ee50
ihk_mc_get_ikc_cpu(): Get IKC destination CPU
2017-07-11 20:20:40 +09:00
dd2ef89997
SMP: generic function call facility for CPU sets
2017-05-28 07:41:48 +09:00
ba7edf1981
move out local IRQ vector definitions to shared header
2017-05-28 07:36:21 +09:00
d66af42f7b
Revert "IKC: separate IRQ between Master-channel and Regular-channel"
...
This reverts commit 3c98b9410966ceebe187ebae1038317b628fbb03.
2017-05-19 10:26:30 +09:00
4b964b8e0d
IKC: allocate Linux channel table dynamically
2017-05-19 10:26:30 +09:00
65dc3440cb
IKC: separate IRQ between Master-channel and Regular-channel
2017-05-19 10:26:30 +09:00
8daffa939e
IKC: distribute IKC-interrupt to Linux cpus.
2017-05-19 10:26:29 +09:00
202bfd9955
IHK-API: expand and fix for ver 1.2.
2016-12-08 17:28:53 +09:00
f39fa54c39
NUMA: default policy: allocate from CPU's NUMA node
2016-10-14 21:34:30 +09:00
1bb948f43b
hwloc support
2016-04-11 22:25:27 +09:00
7298d8e179
vdso: correct pvti array element type
...
struct pvclock_vsyscall_time_info <-- struct pvclock_vcpu_time_info
2016-04-11 22:20:38 +09:00
41bb2ab5e6
support vdso which borrows clocksource from linux
2016-03-28 22:57:44 +09:00
31595b7409
fix REQ-43
2016-03-25 12:57:31 +09:00
1aac2c8e23
add CPU timer initialization (refs #402 )
...
There is no actual initialization in x86 now.
The initialization rely on hardware reset and Linux initialization.
2016-03-11 19:20:37 +09:00
9ae5bcf46e
gettimeofday(): an implementation based on CPU invariant TSC support
2015-08-24 23:53:56 +02:00
b388f59ebd
ihk_ikc_irq and ihk_ikc_irq_apicid
2014-12-25 11:03:01 +09:00
101a0f6e4a
remote TLB invalidation code for multi-threaded applications (e.g., during munmap())
2014-07-22 12:24:07 +09:00
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
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
f9cb60ef33
IHK query free memory request and implementation
2013-06-24 09:00:48 +09:00
fa1be382c7
release the resources of the process at exit(2)/exit_group(2).
2013-05-28 11:31:23 +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