aboutsummaryrefslogtreecommitdiff
path: root/core/cpu.c
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2017-11-29 15:36:47 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-12-03 21:49:12 -0600
commit171b7858a5598edf65becdaf9c5e2fbc281a052e (patch)
treee2de131e05f844e65b3fa7190ddc36e4ff5820d7 /core/cpu.c
parent068de7bc7688cb6b47e04edf76ce0461a8f6708b (diff)
downloadskiboot-171b7858a5598edf65becdaf9c5e2fbc281a052e.zip
skiboot-171b7858a5598edf65becdaf9c5e2fbc281a052e.tar.gz
skiboot-171b7858a5598edf65becdaf9c5e2fbc281a052e.tar.bz2
fast-reboot: add more barriers around cpu state changes
This is a bit of paranoia, but when a CPU changes state to signal it has reached a particular point, all previous stores should be visible. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'core/cpu.c')
-rw-r--r--core/cpu.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/core/cpu.c b/core/cpu.c
index d079110..2dba2f5 100644
--- a/core/cpu.c
+++ b/core/cpu.c
@@ -1126,7 +1126,10 @@ void cpu_bringup(void)
void cpu_callin(struct cpu_thread *cpu)
{
+ sync();
cpu->state = cpu_state_active;
+ sync();
+
cpu->job_has_no_return = false;
init_hid();