参照元

説明

引数

返り値

参考

実装

#ifdef CONFIG_ARM_ERRATA_411920
/*
 * Invalidate the entire I cache (this code is a workaround for the ARM1136
 * erratum 411920 - Invalidate Instruction Cache operation can fail. This
 * erratum is present in 1136, 1156 and 1176. It does not affect the MPCore.
 *
 * Registers:
 *   r0 - set to 0
 *   r1 - corrupted
 */
ENTRY(v6_icache_inval_all)
	mov	r0, #0
	mrs	r1, cpsr
	cpsid	ifa				@ disable interrupts
	mcr	p15, 0, r0, c7, c5, 0		@ invalidate entire I-cache
	mcr	p15, 0, r0, c7, c5, 0		@ invalidate entire I-cache
	mcr	p15, 0, r0, c7, c5, 0		@ invalidate entire I-cache
	mcr	p15, 0, r0, c7, c5, 0		@ invalidate entire I-cache
	msr	cpsr_cx, r1			@ restore interrupts
	.rept	11				@ ARM Ltd recommends at least
	nop					@ 11 NOPs
	.endr
	mov	pc, lr
#endif

コメント


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-09-13 (土) 08:26:44