2008-04-29 00:14:26 +08:00
|
|
|
/*
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _ASSEMBLER_
|
|
|
|
|
|
|
|
struct cpulaunch {
|
|
|
|
unsigned long pc;
|
|
|
|
unsigned long gp;
|
|
|
|
unsigned long sp;
|
|
|
|
unsigned long a0;
|
|
|
|
unsigned long _pad[3]; /* pad to cache line size to avoid thrashing */
|
|
|
|
unsigned long flags;
|
|
|
|
};
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
#define LOG2CPULAUNCH 5
|
2013-01-22 19:59:30 +08:00
|
|
|
#define LAUNCH_PC 0
|
|
|
|
#define LAUNCH_GP 4
|
|
|
|
#define LAUNCH_SP 8
|
|
|
|
#define LAUNCH_A0 12
|
|
|
|
#define LAUNCH_FLAGS 28
|
2008-04-29 00:14:26 +08:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define LAUNCH_FREADY 1
|
|
|
|
#define LAUNCH_FGO 2
|
|
|
|
#define LAUNCH_FGONE 4
|
|
|
|
|
|
|
|
#define CPULAUNCH 0x00000f00
|
|
|
|
#define NCPULAUNCH 8
|
|
|
|
|
|
|
|
/* Polling period in count cycles for secondary CPU's */
|
|
|
|
#define LAUNCHPERIOD 10000
|