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