18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#ifndef _ASSEMBLER_ 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_cistruct cpulaunch { 98c2ecf20Sopenharmony_ci unsigned long pc; 108c2ecf20Sopenharmony_ci unsigned long gp; 118c2ecf20Sopenharmony_ci unsigned long sp; 128c2ecf20Sopenharmony_ci unsigned long a0; 138c2ecf20Sopenharmony_ci unsigned long _pad[3]; /* pad to cache line size to avoid thrashing */ 148c2ecf20Sopenharmony_ci unsigned long flags; 158c2ecf20Sopenharmony_ci}; 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci#else 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci#define LOG2CPULAUNCH 5 208c2ecf20Sopenharmony_ci#define LAUNCH_PC 0 218c2ecf20Sopenharmony_ci#define LAUNCH_GP 4 228c2ecf20Sopenharmony_ci#define LAUNCH_SP 8 238c2ecf20Sopenharmony_ci#define LAUNCH_A0 12 248c2ecf20Sopenharmony_ci#define LAUNCH_FLAGS 28 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci#endif 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci#define LAUNCH_FREADY 1 298c2ecf20Sopenharmony_ci#define LAUNCH_FGO 2 308c2ecf20Sopenharmony_ci#define LAUNCH_FGONE 4 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci#define CPULAUNCH 0x00000f00 338c2ecf20Sopenharmony_ci#define NCPULAUNCH 8 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci/* Polling period in count cycles for secondary CPU's */ 368c2ecf20Sopenharmony_ci#define LAUNCHPERIOD 10000 37