1 2 #ifndef __MACHINE_MP_H__ 3 #define __MACHINE_MP_H__ 4 5 #define CPUSTATE_NOT_PRESENT 0 6 #define CPUSTATE_BOOTED 1 7 #define CPUSTATE_HALTED 2 8 #define CPUSTATE_MAX 2 9 10 void MP_Init(); 11 void MP_InitAP(); 12 void MP_SetState(int state); 13 int MP_GetCPUs(); 14 15 /* Cross Calls */ 16 typedef int (*CrossCallCB)(void *); 17 void MP_CrossCallTrap(); 18 int MP_CrossCall(CrossCallCB cb, void *arg); 19 20 uint32_t LAPIC_CPU(); 21 #define THISCPU LAPIC_CPU 22 23 #endif /* __MACHINE_MP__ */ 24 25