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 #define TPIDRROEL0_IN_EL0 0x0000000000000001 21 22 #define TPIDRROEL0_CURR_CPU 0x0000fffffffffff8 23 24 #define TPIDRROEL0_EXC_DEPTH 0xff00000000000000 25 #define TPIDRROEL0_EXC_UNIT 0x0100000000000000 26 #define TPIDRROEL0_EXC_SHIFT 56 27 28 #endif /* ZEPHYR_INCLUDE_ARCH_ARM64_TPIDRRO_EL0_H_ */ 29