seL4/include
Adrian Danis 7252ab185b x86: Avoid modifying thread running on different core in sendSignal
When sending a signal to a notification object that has a bound thread that is
in the 'runningVM' start we, ordinarily, want to deliver it by switching back
to the native execution of that thread and delivering the message. If the thread
is in the 'runningVM' state on a different core, then we must not modify its
thread state. Previously we would modify the thread state (changing it to
Running) and then attemptSwitchTo. Switching would fail, as its affinity would
be for a different core, resulting in us enqueing the thread into the
scheduling queue, despite the thread also presently running.

This commit both adds a check to prevent us manipulating a thread that
is actively running on a different core, as well as a remote operation
to tell that core that if it is running a VM it should recheck its
endpoint for a message.
2016-11-23 16:49:08 +11:00
..
api Correct constant type in userError 2016-11-22 17:22:50 +11:00
arch x86: Avoid modifying thread running on different core in sendSignal 2016-11-23 16:49:08 +11:00
benchmark Refactor includes so trace point support builds 2016-11-23 14:29:00 +11:00
fastpath x64: Fastpath 2016-10-12 12:22:32 +11:00
kernel Revert SELFOUR-242 2016-11-16 14:02:11 +11:00
machine Replace #pragma once with include guards 2016-10-21 12:05:02 +11:00
model Revert SELFOUR-242 2016-11-16 14:02:11 +11:00
object Refactor includes so trace point support builds 2016-11-23 14:29:00 +11:00
plat Refactor includes so trace point support builds 2016-11-23 14:29:00 +11:00
api.h Release snapshot 2014-07-18 05:03:59 +10:00
assert.h Always have compile_assert enabled 2015-11-11 11:09:24 +11:00
basic_types.h Rename uint32_t -> word_t in any relevant places 2015-12-10 10:45:20 +11:00
bootinfo.h SELFOUR-114: remove bootinfo.h duplication 2016-03-01 17:25:22 +11:00
compound_types.h unsigned int -> word_t 2015-12-10 10:45:21 +11:00
config.h SELFOUR-444: Preemptible zeroing for retype. 2016-11-01 17:05:36 +11:00
machine.h SELFOUR-607: inline remaining irq path functions 2016-08-09 16:18:34 +10:00
Makefile Release snapshot 2014-07-18 05:03:59 +10:00
object.h SELFOUR-317: rename async endpoint to notification object, and other 2015-11-09 17:18:43 +11:00
stdarg.h Release snapshot 2014-07-18 05:03:59 +10:00
stdint.h conversion: fixed unnecessary word_t change 2015-12-10 10:45:22 +11:00
string.h Correct separation of printing and debug builds 2016-05-17 15:10:08 +10:00
types.h ia32: added the option to disable prefetchers 2015-04-15 14:38:55 +10:00
util.h Merge pull request #274 in SEL4/sel4 from ~MFERNANDEZ/sel4:8dafd43a-daa8-4d38-ad7e-3ac425d50087 to master 2016-07-21 05:03:02 +00:00