diff options
authorGleb Natapov <>2009-10-14 15:52:32 +0200
committerMarcelo Tosatti <>2009-10-14 15:35:06 -0300
commitb8a7857071b477b28d3055e33ff0298fc91f329a (patch)
tree138cbf2456d3637930dfea09edf53905e41aba82 /
parentComplete cpu initialization before signaling main thread. (diff)
Don't sync mpstate to/from kernel when unneeded.
mp_state, unlike other cpu state, can be changed not only from vcpu context it belongs to, but by other vcpus too. That makes its loading from kernel/saving back not safe if mp_state value is changed inside kernel between load and save. For example vcpu 1 loads mp_sate into user-space and the state is RUNNING, vcpu 0 sends INIT/SIPI to vcpu 1 so in-kernel mp_sate becomes SIPI, vcpu 1 save user-space copy into kernel and calls vcpu_run(). SIPI sate is lost. The patch copies mp_sate into kernel only when it is knows that int-kernel value is outdated. This happens on reset and vmload. Signed-off-by: Gleb Natapov <> Signed-off-by: Marcelo Tosatti <>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions