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 Fan static inline void update_subcore_sibling_mask(void) { }
1977b54e9fSShreyas B. Prabhu #endif /* CONFIG_SMP */
2077b54e9fSShreyas B. Prabhu 
2177b54e9fSShreyas B. Prabhu #endif /* __ASSEMBLY__ */
22