aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86_64/processor.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-x86_64/processor.h')
-rw-r--r--include/asm-x86_64/processor.h21
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 {
227extern struct cpuinfo_x86 boot_cpu_data; 227extern struct cpuinfo_x86 boot_cpu_data;
228DECLARE_PER_CPU(struct tss_struct,init_tss); 228DECLARE_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
232struct thread_struct { 238struct 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
319extern unsigned long get_wchan(struct task_struct *p); 316extern 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 */
481extern int bootloader_type; 478extern 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 */