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