Go to the documentation of this file.
12 #ifndef _ASM_PROCESSOR_H
13 #define _ASM_PROCESSOR_H
15 #include <asm/mem-layout.h>
22 #define current_text_addr() ({ __label__ _l; _l: &&_l;})
24 #include <linux/compiler.h>
25 #include <linux/linkage.h>
26 #include <asm/sections.h>
27 #include <asm/segment.h>
29 #include <asm/registers.h>
30 #include <asm/ptrace.h>
31 #include <asm/current.h>
32 #include <asm/cache.h>
42 unsigned long *pgd_quick;
43 unsigned long *pte_quick;
44 unsigned long pgtable_cache_sz;
50 #define cpu_data (&boot_cpu_data)
51 #define current_cpu_data boot_cpu_data
80 #define INIT_THREAD_FRAME0 \
82 (sizeof(init_stack) + (unsigned long) init_stack - sizeof(struct user_context)))
84 #define INIT_THREAD { \
86 (struct task_struct *) init_stack, \
88 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, \
90 { INIT_THREAD_FRAME0 }, \
96 #define start_thread(_regs, _pc, _usp) \
99 _regs->psr &= ~PSR_S; \
100 _regs->sp = (_usp); \
111 #define copy_segments(tsk, mm) do { } while (0)
112 #define release_segments(mm) do { } while (0)
113 #define forget_segments() do { } while (0)
129 #define KSTK_EIP(tsk) ((tsk)->thread.frame0->pc)
130 #define KSTK_ESP(tsk) ((tsk)->thread.frame0->sp)
132 #define cpu_relax() barrier()
135 #define ARCH_HAS_PREFETCH
136 static inline void prefetch(
const void *
x)
138 asm volatile(
"dcpl %0,gr0,#0" : :
"r"(
x));