12874c5fdSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 2e2186023SMichael Ellerman /* 3e2186023SMichael Ellerman * Copyright 2013, Michael Ellerman, IBM Corporation. 4e2186023SMichael Ellerman */ 5e2186023SMichael Ellerman 6e2186023SMichael Ellerman /* These are ordered and tested with <= */ 7e2186023SMichael Ellerman #define SYNC_STEP_INITIAL 0 8e2186023SMichael Ellerman #define SYNC_STEP_UNSPLIT 1 /* Set by secondary when it sees unsplit */ 9e2186023SMichael Ellerman #define SYNC_STEP_REAL_MODE 2 /* Set by secondary when in real mode */ 10e2186023SMichael Ellerman #define SYNC_STEP_FINISHED 3 /* Set by secondary when split/unsplit is done */ 11e2186023SMichael Ellerman 12e2186023SMichael Ellerman #ifndef __ASSEMBLY__ 1377b54e9fSShreyas B. Prabhu 1477b54e9fSShreyas B. Prabhu #ifdef CONFIG_SMP 15e2186023SMichael Ellerman void split_core_secondary_loop(u8 *state); 1677b54e9fSShreyas B. Prabhu extern void update_subcore_sibling_mask(void); 1777b54e9fSShreyas B. Prabhu #else update_subcore_sibling_mask(void)18*6c6fdbb2SChengyang Fanstatic inline void update_subcore_sibling_mask(void) { } 1977b54e9fSShreyas B. Prabhu #endif /* CONFIG_SMP */ 2077b54e9fSShreyas B. Prabhu 2177b54e9fSShreyas B. Prabhu #endif /* __ASSEMBLY__ */ 22