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