Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
tpidrro_el0 bits allocation More...
Go to the source code of this file.
Macros | |
#define | TPIDRROEL0_IN_EL0 0x0000000000000001 |
#define | TPIDRROEL0_CURR_CPU 0x0000fffffffffff8 |
#define | TPIDRROEL0_EXC_DEPTH 0xff00000000000000 |
#define | TPIDRROEL0_EXC_UNIT 0x0100000000000000 |
#define | TPIDRROEL0_EXC_SHIFT 56 |
tpidrro_el0 bits allocation
Among other things, the tpidrro_el0 holds the address for the current CPU's struct _cpu instance. But such a pointer is at least 8-bytes aligned, and the address space is 48 bits max. That leaves plenty of free bits for other purposes.
#define TPIDRROEL0_CURR_CPU 0x0000fffffffffff8 |
#define TPIDRROEL0_EXC_DEPTH 0xff00000000000000 |
#define TPIDRROEL0_EXC_SHIFT 56 |
#define TPIDRROEL0_EXC_UNIT 0x0100000000000000 |
#define TPIDRROEL0_IN_EL0 0x0000000000000001 |