Go to the documentation of this file.
11 #ifndef __ASM_PROCFNS_H
12 #define __ASM_PROCFNS_H
30 void (*_data_abort)(
unsigned long pc);
34 unsigned long (*_prefetch_abort)(
unsigned long lr);
68 #ifdef CONFIG_ARM_LPAE
75 unsigned int suspend_size;
76 void (*do_suspend)(
void *);
77 void (*do_resume)(
void *);
86 #ifdef CONFIG_ARM_LPAE
97 #define cpu_proc_init processor._proc_init
98 #define cpu_proc_fin processor._proc_fin
99 #define cpu_reset processor.reset
100 #define cpu_do_idle processor._do_idle
101 #define cpu_dcache_clean_area processor.dcache_clean_area
102 #define cpu_set_pte_ext processor.set_pte_ext
103 #define cpu_do_switch_mm processor.switch_mm
106 #define cpu_do_suspend processor.do_suspend
107 #define cpu_do_resume processor.do_resume
112 #include <asm/memory.h>
116 #define cpu_switch_mm(pgd,mm) cpu_do_switch_mm(virt_to_phys(pgd),mm)
118 #ifdef CONFIG_ARM_LPAE
119 #define cpu_get_pgd() \
121 unsigned long pg, pg2; \
122 __asm__("mrrc p15, 0, %0, %1, c2" \
123 : "=r" (pg), "=r" (pg2) \
126 pg &= ~(PTRS_PER_PGD*sizeof(pgd_t)-1); \
127 (pgd_t *)phys_to_virt(pg); \
130 #define cpu_get_pgd() \
133 __asm__("mrc p15, 0, %0, c2, c0, 0" \
134 : "=r" (pg) : : "cc"); \
136 (pgd_t *)phys_to_virt(pg); \