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