/* | |
* | |
*/ | |
#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 | |
#define LAUNCH_PC 0 | |
#define LAUNCH_GP 4 | |
#define LAUNCH_SP 8 | |
#define LAUNCH_A0 12 | |
#define LAUNCH_FLAGS 28 | |
#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 |