Path: blob/master/arch/arm/boot/compressed/head-xscale.S
29269 views
/* SPDX-License-Identifier: GPL-2.0 */1/*2* linux/arch/arm/boot/compressed/head-xscale.S3*4* XScale specific tweaks. This is merged into head.S by the linker.5*6*/78#include <linux/linkage.h>910.section ".start", "ax"1112__XScale_start:1314@ Preserve r8/r7 i.e. kernel entry values1516@ Data cache might be active.17@ Be sure to flush kernel binary out of the cache,18@ whatever state it is, before it is turned off.19@ This is done by fetching through currently executed20@ memory to be sure we hit the same cache.21bic r2, pc, #0x1f22add r3, r2, #0x10000 @ 64 kb is quite enough...231: ldr r0, [r2], #3224teq r2, r325bne 1b26mcr p15, 0, r0, c7, c10, 4 @ drain WB27mcr p15, 0, r0, c7, c7, 0 @ flush I & D caches2829@ disabling MMU and caches30mrc p15, 0, r0, c1, c0, 0 @ read control reg31bic r0, r0, #0x05 @ clear DC, MMU32bic r0, r0, #0x1000 @ clear Icache33mcr p15, 0, r0, c1, c0, 034353637