Commit Graph

571 Commits

Author SHA1 Message Date
Balazs Gerofi
828a3ea57a futex(): support for cross address-space futexes 2015-11-24 14:58:04 +09:00
Tomoki Shirasawa
eb6de9d1de delete debug code 2015-11-13 15:10:14 +09:00
Balazs Gerofi
42c8ef6539 do_fork(): fix CLONE_PARENT_SETTID bug 2015-11-13 12:46:09 +09:00
Balazs Gerofi
780d4fc29b futex_wait(): support for FUTEX_CLOCK_REALTIME 2015-11-13 12:46:02 +09:00
Tomoki Shirasawa
94fcc5bb9a futex_wait: add to check signal 2015-11-12 09:38:36 +09:00
Tomoki Shirasawa
e822fc47dd fix dead locking when kill subthreads 2015-11-11 23:03:43 +09:00
NAKAMURA Gou
26492a2895 vsyscall_gettimeofday: make timeval from TSC 2015-11-11 19:45:14 +09:00
NAKAMURA Gou
1a5ff7f535 gettimeofday: gather variables into new struct 2015-11-11 18:31:33 +09:00
NAKAMURA Gou
4c181d7fc0 smp-x86: add supports for dump analyzer 2015-11-09 16:06:55 +09:00
NAKAMURA Gou
be78eb752e time_init: fix zero divide on KVM 2015-11-06 19:31:42 +09:00
NAKAMURA Gou
0ad7c8ac50 nanosleep: fix arguments to be delegated 2015-11-06 19:31:42 +09:00
Tomoki Shirasawa
e9458a6cd3 fix ptrace02 failed 2015-10-30 16:59:03 +09:00
Tomoki Shirasawa
9e3b0b5866 bug fix 'GDB: missing parent-child relationship'
refs #641
2015-10-30 15:06:27 +09:00
Balazs Gerofi
0eaa27291a thread: move clear_child_tid, etc. to main structure 2015-10-29 11:01:27 +09:00
NAKAMURA Gou
0b07dd1b79 support madvise(MADV_REMOVE) partially
This MADV_REMOVE works with a mapping which is
- created with shmat() and
- not sharing memobj with other mappings.
2015-10-28 18:41:28 +09:00
NAKAMURA Gou
c25f8c7a39 support settimeofday() 2015-10-27 19:21:50 +09:00
NAKAMURA Gou
153a59a6f4 gettimeofday: avoid per-cpu data in calculation
Because it is difficult to safely update per-cpu data of other cpus in
settimeofday().
2015-10-27 19:21:50 +09:00
Tomoki Shirasawa
343bfbd30a rename back status field 2015-10-22 20:26:50 +09:00
Tomoki Shirasawa
4e4f1208f7 delete unused member 2015-10-19 20:12:26 +09:00
Tomoki Shirasawa
a325a78866 refactoring to send signal 2015-10-15 17:10:02 +09:00
Tomoki Shirasawa
04e193de13 refactoring process structures 2015-10-13 23:04:08 +09:00
NAKAMURA Gou
cb4f3a4d65 take into account args/envs' offset in page
- prepare_process_ranges_args_envs()
2015-10-01 21:08:42 +09:00
NAKAMURA Gou
51789fcd38 initialize idle_vm for page faluts 2015-10-01 21:08:35 +09:00
NAKAMURA Gou
8dd9175411 schedule: fix null pointer dereference 2015-09-29 19:10:00 +09:00
NAKAMURA Gou
a14768c49a kmalloc: fix missing unlock on out-of-memory path 2015-09-18 21:26:15 +09:00
NAKAMURA Gou
56e57775e7 clone: fix error message 2015-09-18 21:26:15 +09:00
NAKAMURA Gou
b3b752ba41 nanosleep: use copy_from_user instead of direct access 2015-09-17 21:46:32 +09:00
NAKAMURA Gou
7b32f2f73b nanosleep: fix tscs_rem underflow issue 2015-09-17 21:46:26 +09:00
NAKAMURA Gou
ea5a1a8693 nanosleep: update *rem whenever signaled 2015-09-17 21:44:49 +09:00
NAKAMURA Gou
92f8fb2b2b nanosleep: use copy_to_user instead of direct access 2015-09-17 21:44:49 +09:00
NAKAMURA Gou
a3e440414d nanosleep: cosmetic change 2015-09-17 21:44:49 +09:00
Balazs Gerofi
ccb7c30a05 page_fault_handler(): reenable preempt after failed PF when process is exiting 2015-09-17 10:05:32 +09:00
NAKAMURA Gou
7dfeb8e7ce create demand-paging mapping in case of MAP_SHARED
On current McKernel, only mappings for demand paging can be shared.
Therefore, if MAP_SHARED and MAP_ANONYMOUS are specified and
anon_on_demand is disabled, then mmap(2) should create a mapping which
is for demand paging and is entirely populated with physical pages.
2015-09-16 21:38:00 +09:00
NAKAMURA Gou
bd5708286d make sys_gettimeofday() use copy_to_user() 2015-09-16 21:26:32 +09:00
NAKAMURA Gou
c8a13cf213 make gettimeofday ignore NULL parameter 2015-09-16 21:26:24 +09:00
NAKAMURA Gou
5ad0a03d18 make gettimeofday handle second parameter (timezone) 2015-09-16 21:25:29 +09:00
NAKAMURA Gou
3819eec03f cosmetic changes
- sys_gettimeofday()
2015-09-16 21:13:12 +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
e1a01803d0 disable demand paging on ANONYMOUS mappings unless anon_on_demand kernel argument is passed 2015-09-14 17:26:37 +09:00
Balazs Gerofi
69f4b0e1ad gettimeofday()/nanosleep(): check arguments, return on pending signal 2015-09-14 17:05:30 +09:00
Tomoki Shirasawa
0909a5bed5 tracee context is broken when tracee call execve 2015-09-03 10:05:25 +09:00
Tomoki Shirasawa
9dd224385e When SIGSEGV occurred on a tracee process, a tracee process freezes. 2015-09-01 17:37:56 +09:00
Balazs Gerofi
9ae5bcf46e gettimeofday(): an implementation based on CPU invariant TSC support 2015-08-24 23:53:56 +02:00
Balazs Gerofi
c85a9b99e1 a couple of cosmetic changes of debug messages 2015-08-22 18:53:14 +09:00
Tomoki Shirasawa
5a0cd3f53f ptrace_detach when exiting
refs #590
2015-08-18 18:03:09 +09:00
Balazs Gerofi
9fa62adfe7 execve(): stay compliant with locked context switching 2015-08-10 14:18:11 +09:00
Balazs Gerofi
f0ab8ec89a sched_request_migrate(): change CPU flags atomically 2015-08-10 12:45:59 +09:00
Balazs Gerofi
f4cc82578d check_need_resched(): no thread migration in IRQ context 2015-08-10 12:43:35 +09: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
8d6c97ea5c schedule(): disable auto thread migration 2015-08-07 16:07:31 +09:00