25 lines
451 B
C
25 lines
451 B
C
|
|
#ifndef __MACHINE_MP_H__
|
|
#define __MACHINE_MP_H__
|
|
|
|
#define CPUSTATE_NOT_PRESENT 0
|
|
#define CPUSTATE_BOOTED 1
|
|
#define CPUSTATE_HALTED 2
|
|
#define CPUSTATE_MAX 2
|
|
|
|
void MP_Init();
|
|
void MP_InitAP();
|
|
void MP_SetState(int state);
|
|
int MP_GetCPUs();
|
|
|
|
/* Cross Calls */
|
|
typedef int (*CrossCallCB)(void *);
|
|
void MP_CrossCallTrap();
|
|
int MP_CrossCall(CrossCallCB cb, void *arg);
|
|
|
|
uint32_t LAPIC_CPU();
|
|
#define THISCPU LAPIC_CPU
|
|
|
|
#endif /* __MACHINE_MP__ */
|
|
|