1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  *
4  */
5 
6 #ifndef _ASSEMBLER_
7 
8 struct cpulaunch {
9     unsigned long	pc;
10     unsigned long	gp;
11     unsigned long	sp;
12     unsigned long	a0;
13     unsigned long	_pad[3]; /* pad to cache line size to avoid thrashing */
14     unsigned long	flags;
15 };
16 
17 #else
18 
19 #define LOG2CPULAUNCH	5
20 #define LAUNCH_PC	0
21 #define LAUNCH_GP	4
22 #define LAUNCH_SP	8
23 #define LAUNCH_A0	12
24 #define LAUNCH_FLAGS	28
25 
26 #endif
27 
28 #define LAUNCH_FREADY	1
29 #define LAUNCH_FGO	2
30 #define LAUNCH_FGONE	4
31 
32 #define CPULAUNCH	0x00000f00
33 #define NCPULAUNCH	8
34 
35 /* Polling period in count cycles for secondary CPU's */
36 #define LAUNCHPERIOD	10000
37