diff options
Diffstat (limited to 'arch/arm/mm/proc-v7-2level.S')
-rw-r--r-- | arch/arm/mm/proc-v7-2level.S | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/arm/mm/proc-v7-2level.S b/arch/arm/mm/proc-v7-2level.S index ed448d8a596b..10405b8d31af 100644 --- a/arch/arm/mm/proc-v7-2level.S +++ b/arch/arm/mm/proc-v7-2level.S | |||
@@ -37,15 +37,18 @@ | |||
37 | * It is assumed that: | 37 | * It is assumed that: |
38 | * - we are not using split page tables | 38 | * - we are not using split page tables |
39 | */ | 39 | */ |
40 | ENTRY(cpu_v7_switch_mm) | 40 | ENTRY(cpu_ca8_switch_mm) |
41 | #ifdef CONFIG_MMU | 41 | #ifdef CONFIG_MMU |
42 | mov r2, #0 | 42 | mov r2, #0 |
43 | mmid r1, r1 @ get mm->context.id | ||
44 | ALT_SMP(orr r0, r0, #TTB_FLAGS_SMP) | ||
45 | ALT_UP(orr r0, r0, #TTB_FLAGS_UP) | ||
46 | #ifdef CONFIG_ARM_ERRATA_430973 | 43 | #ifdef CONFIG_ARM_ERRATA_430973 |
47 | mcr p15, 0, r2, c7, c5, 6 @ flush BTAC/BTB | 44 | mcr p15, 0, r2, c7, c5, 6 @ flush BTAC/BTB |
48 | #endif | 45 | #endif |
46 | #endif | ||
47 | ENTRY(cpu_v7_switch_mm) | ||
48 | #ifdef CONFIG_MMU | ||
49 | mmid r1, r1 @ get mm->context.id | ||
50 | ALT_SMP(orr r0, r0, #TTB_FLAGS_SMP) | ||
51 | ALT_UP(orr r0, r0, #TTB_FLAGS_UP) | ||
49 | #ifdef CONFIG_PID_IN_CONTEXTIDR | 52 | #ifdef CONFIG_PID_IN_CONTEXTIDR |
50 | mrc p15, 0, r2, c13, c0, 1 @ read current context ID | 53 | mrc p15, 0, r2, c13, c0, 1 @ read current context ID |
51 | lsr r2, r2, #8 @ extract the PID | 54 | lsr r2, r2, #8 @ extract the PID |
@@ -61,6 +64,7 @@ ENTRY(cpu_v7_switch_mm) | |||
61 | #endif | 64 | #endif |
62 | bx lr | 65 | bx lr |
63 | ENDPROC(cpu_v7_switch_mm) | 66 | ENDPROC(cpu_v7_switch_mm) |
67 | ENDPROC(cpu_ca8_switch_mm) | ||
64 | 68 | ||
65 | /* | 69 | /* |
66 | * cpu_v7_set_pte_ext(ptep, pte) | 70 | * cpu_v7_set_pte_ext(ptep, pte) |