blob: 70ed17e4e94f5e5be4d775db9a294ae051822410 (
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
|
/*
* common.S - common definitions useful for boot code
*
* Copyright (C) 2013 ARM Limited. All rights reserved.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE.txt file.
*/
#define MPIDR_ID_BITS (0xff00ffffff)
#define CURRENTEL_EL3 (3 << 2)
#define SPSR_A (1 << 8) /* System Error masked */
#define SPSR_D (1 << 9) /* Debug masked */
#define SPSR_I (1 << 7) /* IRQ masked */
#define SPSR_F (1 << 6) /* FIQ masked */
#define SPSR_EL2H (9 << 0) /* EL2 Handler mode */
#define SPSR_KERNEL (SPSR_A | SPSR_D | SPSR_I | SPSR_F | SPSR_EL2H)
/*
* Drop EL to that specified by the spsr value in register mode, at
* the address specified in register addr.
*/
.macro drop_el mode addr
msr elr_el3, \addr
msr spsr_el3, \mode
eret
.endm
|