12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- /*
- * SPDX-License-Identifier: GPL-2.0+
- */
- #include <config.h>
- #include <linux/linkage.h>
- ENTRY(save_boot_params)
- b save_boot_params_ret
- ENDPROC(save_boot_params)
- /*
- * cache_inv - invalidate Cache line
- * r0 - dest
- */
- .global cache_inv
- .type cache_inv, %function
- cache_inv:
- stmfd sp!, {r1-r12}
- mcr p15, 0, r0, c7, c6, 1
- ldmfd sp!, {r1-r12}
- bx lr
- /*
- * flush_l1_v6 - l1 cache clean invalidate
- * r0 - dest
- */
- .global flush_l1_v6
- .type flush_l1_v6, %function
- flush_l1_v6:
- stmfd sp!, {r1-r12}
- mcr p15, 0, r0, c7, c10, 5 /* @ data memory barrier */
- mcr p15, 0, r0, c7, c14, 1 /* @ clean & invalidate D line */
- mcr p15, 0, r0, c7, c10, 4 /* @ data sync barrier */
- ldmfd sp!, {r1-r12}
- bx lr
- /*
- * flush_l1_v7 - l1 cache clean invalidate
- * r0 - dest
- */
- .global flush_l1_v7
- .type flush_l1_v7, %function
- flush_l1_v7:
- stmfd sp!, {r1-r12}
- dmb /* @data memory barrier */
- mcr p15, 0, r0, c7, c14, 1 /* @ clean & invalidate D line */
- dsb /* @data sync barrier */
- ldmfd sp!, {r1-r12}
- bx lr
|