diff options
Diffstat (limited to 'include/asm-x86_64/processor.h')
| -rw-r--r-- | include/asm-x86_64/processor.h | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/include/asm-x86_64/processor.h b/include/asm-x86_64/processor.h index 4861246548f7..8c8d88c036ed 100644 --- a/include/asm-x86_64/processor.h +++ b/include/asm-x86_64/processor.h | |||
| @@ -227,7 +227,13 @@ struct tss_struct { | |||
| 227 | extern struct cpuinfo_x86 boot_cpu_data; | 227 | extern struct cpuinfo_x86 boot_cpu_data; |
| 228 | DECLARE_PER_CPU(struct tss_struct,init_tss); | 228 | DECLARE_PER_CPU(struct tss_struct,init_tss); |
| 229 | 229 | ||
| 230 | #ifdef CONFIG_X86_VSMP | ||
| 231 | #define ARCH_MIN_TASKALIGN (1 << INTERNODE_CACHE_SHIFT) | ||
| 232 | #define ARCH_MIN_MMSTRUCT_ALIGN (1 << INTERNODE_CACHE_SHIFT) | ||
| 233 | #else | ||
| 230 | #define ARCH_MIN_TASKALIGN 16 | 234 | #define ARCH_MIN_TASKALIGN 16 |
| 235 | #define ARCH_MIN_MMSTRUCT_ALIGN 0 | ||
| 236 | #endif | ||
| 231 | 237 | ||
| 232 | struct thread_struct { | 238 | struct thread_struct { |
| 233 | unsigned long rsp0; | 239 | unsigned long rsp0; |
| @@ -267,15 +273,6 @@ struct thread_struct { | |||
| 267 | #define INIT_MMAP \ | 273 | #define INIT_MMAP \ |
| 268 | { &init_mm, 0, 0, NULL, PAGE_SHARED, VM_READ | VM_WRITE | VM_EXEC, 1, NULL, NULL } | 274 | { &init_mm, 0, 0, NULL, PAGE_SHARED, VM_READ | VM_WRITE | VM_EXEC, 1, NULL, NULL } |
| 269 | 275 | ||
| 270 | #define STACKFAULT_STACK 1 | ||
| 271 | #define DOUBLEFAULT_STACK 2 | ||
| 272 | #define NMI_STACK 3 | ||
| 273 | #define DEBUG_STACK 4 | ||
| 274 | #define MCE_STACK 5 | ||
| 275 | #define N_EXCEPTION_STACKS 5 /* hw limit: 7 */ | ||
| 276 | #define EXCEPTION_STKSZ (PAGE_SIZE << EXCEPTION_STACK_ORDER) | ||
| 277 | #define EXCEPTION_STACK_ORDER 0 | ||
| 278 | |||
| 279 | #define start_thread(regs,new_rip,new_rsp) do { \ | 276 | #define start_thread(regs,new_rip,new_rsp) do { \ |
| 280 | asm volatile("movl %0,%%fs; movl %0,%%es; movl %0,%%ds": :"r" (0)); \ | 277 | asm volatile("movl %0,%%fs; movl %0,%%es; movl %0,%%ds": :"r" (0)); \ |
| 281 | load_gs_index(0); \ | 278 | load_gs_index(0); \ |
| @@ -317,8 +314,8 @@ extern long kernel_thread(int (*fn)(void *), void * arg, unsigned long flags); | |||
| 317 | #define thread_saved_pc(t) (*(unsigned long *)((t)->thread.rsp - 8)) | 314 | #define thread_saved_pc(t) (*(unsigned long *)((t)->thread.rsp - 8)) |
| 318 | 315 | ||
| 319 | extern unsigned long get_wchan(struct task_struct *p); | 316 | extern unsigned long get_wchan(struct task_struct *p); |
| 320 | #define KSTK_EIP(tsk) \ | 317 | #define task_pt_regs(tsk) ((struct pt_regs *)(tsk)->thread.rsp0 - 1) |
| 321 | (((struct pt_regs *)(tsk->thread.rsp0 - sizeof(struct pt_regs)))->rip) | 318 | #define KSTK_EIP(tsk) (task_pt_regs(tsk)->rip) |
| 322 | #define KSTK_ESP(tsk) -1 /* sorry. doesn't work for syscall. */ | 319 | #define KSTK_ESP(tsk) -1 /* sorry. doesn't work for syscall. */ |
| 323 | 320 | ||
| 324 | 321 | ||
| @@ -480,4 +477,6 @@ extern unsigned long boot_option_idle_override; | |||
| 480 | /* Boot loader type from the setup header */ | 477 | /* Boot loader type from the setup header */ |
| 481 | extern int bootloader_type; | 478 | extern int bootloader_type; |
| 482 | 479 | ||
| 480 | #define HAVE_ARCH_PICK_MMAP_LAYOUT 1 | ||
| 481 | |||
| 483 | #endif /* __ASM_X86_64_PROCESSOR_H */ | 482 | #endif /* __ASM_X86_64_PROCESSOR_H */ |
