File: virtex405-head.S

package info (click to toggle)
linux 4.19.20-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 954,852 kB
  • sloc: ansic: 16,749,828; asm: 271,286; makefile: 38,257; sh: 32,808; perl: 27,671; python: 21,022; cpp: 5,063; yacc: 4,648; lex: 2,585; awk: 1,385; ruby: 25; sed: 5
file content (31 lines) | stat: -rw-r--r-- 712 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* SPDX-License-Identifier: GPL-2.0 */
#include "ppc_asm.h"

	.text
	.global _zimage_start
_zimage_start:

	/* PPC errata 213: needed by Virtex-4 FX */
	mfccr0  0
	oris    0,0,0x50000000@h
	mtccr0  0

	/*
	 * Invalidate the data cache if the data cache is turned off.
	 * - The 405 core does not invalidate the data cache on power-up
	 *   or reset but does turn off the data cache. We cannot assume
	 *   that the cache contents are valid.
	 * - If the data cache is turned on this must have been done by
	 *   a bootloader and we assume that the cache contents are
	 *   valid.
	 */
	mfdccr	r9
	cmplwi	r9,0
	bne	2f
	lis	r9,0
	li	r8,256
	mtctr	r8
1:	dccci	r0,r9
	addi	r9,r9,0x20
	bdnz	1b
2:	b	_zimage_start_lib