Commit | Line | Data |
---|---|---|
27f85f12 AV |
1 | #ifndef __UM_PROCESSOR_H |
2 | #define __UM_PROCESSOR_H | |
3 | ||
4 | /* include faultinfo structure */ | |
5 | #include <sysdep/faultinfo.h> | |
6 | ||
7 | #ifdef CONFIG_X86_32 | |
8 | # include "processor_32.h" | |
9 | #else | |
10 | # include "processor_64.h" | |
11 | #endif | |
12 | ||
a10c95d8 | 13 | #define KSTK_EIP(tsk) KSTK_REG(tsk, HOST_IP) |
cc11f9ed | 14 | #define KSTK_ESP(tsk) KSTK_REG(tsk, HOST_SP) |
a10c95d8 AV |
15 | #define KSTK_EBP(tsk) KSTK_REG(tsk, HOST_BP) |
16 | ||
c7ea591c AV |
17 | #define ARCH_IS_STACKGROW(address) \ |
18 | (address + 65536 + 32 * sizeof(unsigned long) >= UPT_SP(¤t->thread.regs.regs)) | |
19 | ||
c56334db AV |
20 | #include <asm/user.h> |
21 | ||
22 | /* REP NOP (PAUSE) is a good thing to insert into busy-wait loops. */ | |
23 | static inline void rep_nop(void) | |
24 | { | |
25 | __asm__ __volatile__("rep;nop": : :"memory"); | |
26 | } | |
27 | ||
3a6bfbc9 | 28 | #define cpu_relax() rep_nop() |
79ab11cd | 29 | #define cpu_relax_yield() cpu_relax() |
3a6bfbc9 | 30 | #define cpu_relax_lowlatency() cpu_relax() |
c56334db | 31 | |
f8d65d27 RW |
32 | #define task_pt_regs(t) (&(t)->thread.regs) |
33 | ||
27f85f12 AV |
34 | #include <asm/processor-generic.h> |
35 | ||
36 | #endif |