5 * These are x86 specific/private SysCalls that
6 * the kernel modules may provide/support
9 #define SC_X86CHANGEPMSTATE 0xFF
10 #define SC_X86CPUWAKE 0xFE
11 #define SC_X86CPUSPINLOCK 0xFD
12 #define SC_X86SWITCH 0xFC
13 #define SC_X86RESCHEDTASK 0xFB
15 #define krnSysCallSwitch() \
17 __asm__ __volatile__ ("int $0xfe"::"a"(SC_X86SWITCH):"memory"); \
20 #define krnSysCallReschedTask(task, state) \
22 __asm__ __volatile__ ("int $0xfe"::"a"(SC_X86RESCHEDTASK),"b"(task),"c"(state):"memory"); \
25 #define krnSysCallSpinLock(spindata) \
27 spinlock_t *__value; \
28 __asm__ __volatile__ ("int $0xfe":"=a"(__value):"a"(SC_X86CPUSPINLOCK),"b"(spindata):"memory"); \
32 #define krnSysCallCPUWake(wakedata) \
35 __asm__ __volatile__ ("int $0xfe":"=a"(__value):"a"(SC_X86CPUWAKE),"b"(wakedata):"memory"); \
39 #define krnSysCallChangePMState(state) \
42 __asm__ __volatile__ ("int $0xfe":"=a"(__value):"a"(SC_X86CHANGEPMSTATE),"b"(state):"memory"); \
46 #endif /* !X86_SYSCALLS_H */