]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * We need constants.h for: | |
3 | * VMA_VM_MM | |
4 | * VMA_VM_FLAGS | |
5 | * VM_EXEC | |
6 | */ | |
e6ae744d | 7 | #include <asm/asm-offsets.h> |
1da177e4 LT |
8 | #include <asm/thread_info.h> |
9 | ||
10 | /* | |
11 | * vma_vm_mm - get mm pointer from vma pointer (vma->vm_mm) | |
12 | */ | |
13 | .macro vma_vm_mm, rd, rn | |
14 | ldr \rd, [\rn, #VMA_VM_MM] | |
15 | .endm | |
16 | ||
17 | /* | |
18 | * vma_vm_flags - get vma->vm_flags | |
19 | */ | |
20 | .macro vma_vm_flags, rd, rn | |
21 | ldr \rd, [\rn, #VMA_VM_FLAGS] | |
22 | .endm | |
23 | ||
24 | .macro tsk_mm, rd, rn | |
25 | ldr \rd, [\rn, #TI_TASK] | |
26 | ldr \rd, [\rd, #TSK_ACTIVE_MM] | |
27 | .endm | |
28 | ||
29 | /* | |
30 | * act_mm - get current->active_mm | |
31 | */ | |
32 | .macro act_mm, rd | |
33 | bic \rd, sp, #8128 | |
34 | bic \rd, \rd, #63 | |
35 | ldr \rd, [\rd, #TI_TASK] | |
36 | ldr \rd, [\rd, #TSK_ACTIVE_MM] | |
37 | .endm | |
38 | ||
39 | /* | |
40 | * mmid - get context id from mm pointer (mm->context.id) | |
41 | */ | |
42 | .macro mmid, rd, rn | |
43 | ldr \rd, [\rn, #MM_CONTEXT_ID] | |
44 | .endm | |
45 | ||
46 | /* | |
47 | * mask_asid - mask the ASID from the context ID | |
48 | */ | |
49 | .macro asid, rd, rn | |
50 | and \rd, \rn, #255 | |
51 | .endm | |
22b19086 RK |
52 | |
53 | .macro crval, clear, mmuset, ucset | |
54 | #ifdef CONFIG_MMU | |
55 | .word \clear | |
56 | .word \mmuset | |
57 | #else | |
58 | .word \clear | |
59 | .word \ucset | |
60 | #endif | |
61 | .endm |