summaryrefslogtreecommitdiff
path: root/board/st/u8500/core2.S
blob: 7152e3077b0137d6e7f809e34475c37d61a3649b (plain)
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
 * secondary_wfe()
 * Copyright (c) 2009 ST Ericsson
 * Author: Srinidhi Kasagar <srinidhi.kasagar@stericsson.com>	
 *
 * puts the secondary core in wfe. This is required for the locked
 * version of ST Ericsson SMP platform to attach the debugger at this stage.
 * This is a GCC generated code.
 * 
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
.global secondary_startup
secondary_startup:
	dsb					@ WFI may enter a low-power mode
	wfi
	mov	pc, lr

.global secondary_wfe
secondary_wfe:
.L8:	wfe
	ldr	r0, .L9
	ldr	r1, .L9+4
	ldr	r3, [r0, #4080]
	str	r3, [r1, #0]
	ldr	r3, .L9+8
	ldr	r2, [r1, #0]
	cmp	r2, r3
	bne	.L8
	ldr	r3, [r0, #4084]
	str	r3, [r1, #4]
	blx	r3
	b	.L8
.L10:
	.align	2
.L9:
	.word	-2146103296
	.word	.LANCHOR0
	.word	-1577128703
	.size	secondary_wfe, .-secondary_wfe
	.global	handler
	.global	magic_num
	.bss
	.align	2
.LANCHOR0 = . + 0
	.type	magic_num, %object
	.size	magic_num, 4
magic_num:
	.space	4
	.type	handler, %object
	.size	handler, 4
handler:
	.space	4
	.ident	"GCC: (GNU) 4.2.3"
	.section	.note.GNU-stack,"",%progbits