Lines Matching +full:cortex +full:- +full:a8

1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * linux/arch/arm/mm/proc-v7.S
9 #include <linux/arm-smccc.h>
15 #include <asm/asm-offsets.h>
17 #include <asm/pgtable-hwdef.h>
20 #include "proc-macros.S"
23 #include "proc-v7-3level.S"
25 #include "proc-v7-2level.S"
28 .arch armv7-a
49 * - loc - location to jump to for soft reset
50 * - hyp - indicate if restart occurs in HYP mode
79 dsb @ WFI may enter a low-power mode
100 stmfd sp!, {r0 - r3}
104 ldmfd sp!, {r0 - r3}
109 stmfd sp!, {r0 - r3}
113 ldmfd sp!, {r0 - r3}
132 /* Suspend/resume support: derived from arch/arm/mach-s5pv210/sleep.S */
137 stmfd sp!, {r4 - r11, lr}
140 stmia r0!, {r4 - r5}
152 mrc p15, 0, r10, c1, c0, 2 @ Co-processor access control
153 stmia r0, {r5 - r11}
154 ldmfd sp!, {r4 - r11, pc}
161 ldmia r0!, {r4 - r5}
164 ldmia r0, {r5 - r11}
186 mcr p15, 0, r10, c1, c0, 2 @ Co-processor access control
198 stmfd sp!, {r4 - r5}
201 stmia r0!, {r4 - r5}
202 ldmfd sp!, {r4 - r5}
207 ldmia r0!, {r4 - r5}
226 dsb @ WFI may enter a low-power mode
237 stmfd sp!, {r6 - r10}
238 mrc p15, 1, r6, c15, c1, 0 @ save CP15 - extra features
239 mrc p15, 1, r7, c15, c2, 0 @ save CP15 - Aux Func Modes Ctrl 0
240 mrc p15, 1, r8, c15, c1, 2 @ save CP15 - Aux Debug Modes Ctrl 2
241 mrc p15, 1, r9, c15, c1, 1 @ save CP15 - Aux Debug Modes Ctrl 1
242 mrc p15, 0, r10, c9, c14, 0 @ save CP15 - PMC
243 stmia r0!, {r6 - r10}
244 ldmfd sp!, {r6 - r10}
249 ldmia r0!, {r6 - r10}
250 mcr p15, 1, r6, c15, c1, 0 @ restore CP15 - extra features
251 mcr p15, 1, r7, c15, c2, 0 @ restore CP15 - Aux Func Modes Ctrl 0
252 mcr p15, 1, r8, c15, c1, 2 @ restore CP15 - Aux Debug Modes Ctrl 2
253 mcr p15, 1, r9, c15, c1, 1 @ restore CP15 - Aux Debug Modes Ctrl 1
254 mcr p15, 0, r10, c9, c14, 0 @ restore CP15 - PMC
271 bl v7_invalidate_l1 @ corrupts {r0-r3, ip, lr}
283 * r1, r2, r4, r5, r9, r13 must be preserved - r13 is not a stack
292 * - cache type register is implemented
323 * r3: contains MIDR rX number in bits 23-20
324 * r6: contains MIDR rXpY as 8-bit XY number
447 #define PJ4B_L1_REP_RR (1 << 30) /* L1 replacement - Strict round robin */
457 #define PJ4B_WFI_WFE (1 << 22) /* WFI/WFE - serve the DVM and back to idle */
497 orr r6, r6, r3, lsr #20-4 @ combine variant and revision
500 /* Cortex-A8 Errata */
501 ldr r10, =0x00000c08 @ Cortex-A8 primary part number
505 /* Cortex-A9 Errata */
506 ldr r10, =0x00000c09 @ Cortex-A9 primary part number
510 /* Cortex-A12 Errata */
511 ldr r10, =0x00000c0d @ Cortex-A12 primary part number
515 /* Cortex-A17 Errata */
516 ldr r10, =0x00000c0e @ Cortex-A17 primary part number
520 /* Cortex-A15 Errata */
521 ldr r10, =0x00000c0f @ Cortex-A15 primary part number
551 ARM_BE8(orr r6, r6, #1 << 25) @ big-endian page tables
567 @ define struct processor (see <asm/proc-fns.h> and proc-macros.S)
591 @ Cortex-A8 - always needs bpiall switch_mm implementation
606 @ Cortex-A9 - needs more registers preserved across suspend/resume
622 @ Cortex-A15 - needs iciallu switch_mm for hardening
674 * ARM Ltd. Cortex A5 processor.
681 .size __v7_ca5mp_proc_info, . - __v7_ca5mp_proc_info
684 * ARM Ltd. Cortex A9 processor.
691 .size __v7_ca9mp_proc_info, . - __v7_ca9mp_proc_info
694 * ARM Ltd. Cortex A8 processor.
701 .size __v7_ca8_proc_info, . - __v7_ca8_proc_info
714 .size __v7_pj4b_proc_info, . - __v7_pj4b_proc_info
718 * ARM Ltd. Cortex R7 processor.
725 .size __v7_cr7mp_proc_info, . - __v7_cr7mp_proc_info
728 * ARM Ltd. Cortex R8 processor.
735 .size __v7_cr8mp_proc_info, . - __v7_cr8mp_proc_info
738 * ARM Ltd. Cortex A7 processor.
745 .size __v7_ca7mp_proc_info, . - __v7_ca7mp_proc_info
748 * ARM Ltd. Cortex A12 processor.
755 .size __v7_ca12mp_proc_info, . - __v7_ca12mp_proc_info
758 * ARM Ltd. Cortex A15 processor.
765 .size __v7_ca15mp_proc_info, . - __v7_ca15mp_proc_info
768 * Broadcom Corporation Brahma-B15 processor.
775 .size __v7_b15mp_proc_info, . - __v7_b15mp_proc_info
778 * ARM Ltd. Cortex A17 processor.
785 .size __v7_ca17mp_proc_info, . - __v7_ca17mp_proc_info
787 /* ARM Ltd. Cortex A73 processor */
793 .size __v7_ca73_proc_info, . - __v7_ca73_proc_info
795 /* ARM Ltd. Cortex A75 processor */
801 .size __v7_ca75_proc_info, . - __v7_ca75_proc_info
817 .size __krait_proc_info, . - __krait_proc_info
827 .size __v7_proc_info, . - __v7_proc_info