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