Line data Source code
1 1 : /*
2 : * Copyright (c) 2021 BayLibre SAS
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 :
7 : /**
8 : * @file
9 : * @brief tpidrro_el0 bits allocation
10 : *
11 : * Among other things, the tpidrro_el0 holds the address for the current
12 : * CPU's struct _cpu instance. But such a pointer is at least 8-bytes
13 : * aligned, and the address space is 48 bits max. That leaves plenty of
14 : * free bits for other purposes.
15 : */
16 :
17 : #ifndef ZEPHYR_INCLUDE_ARCH_ARM64_TPIDRRO_EL0_H_
18 : #define ZEPHYR_INCLUDE_ARCH_ARM64_TPIDRRO_EL0_H_
19 :
20 0 : #define TPIDRROEL0_IN_EL0 0x0000000000000001
21 :
22 0 : #define TPIDRROEL0_CURR_CPU 0x0000fffffffffff8
23 :
24 0 : #define TPIDRROEL0_EXC_DEPTH 0xff00000000000000
25 0 : #define TPIDRROEL0_EXC_UNIT 0x0100000000000000
26 0 : #define TPIDRROEL0_EXC_SHIFT 56
27 :
28 : #endif /* ZEPHYR_INCLUDE_ARCH_ARM64_TPIDRRO_EL0_H_ */
|