123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- #ifndef ZEPHYR_INCLUDE_ARCH_ARM_AARCH32_THREAD_H_
- #define ZEPHYR_INCLUDE_ARCH_ARM_AARCH32_THREAD_H_
- #ifndef _ASMLANGUAGE
- #include <zephyr/types.h>
- struct _callee_saved {
- uint32_t v1;
- uint32_t v2;
- uint32_t v3;
- uint32_t v4;
- uint32_t v5;
- uint32_t v6;
- uint32_t v7;
- uint32_t v8;
- uint32_t psp;
- };
- typedef struct _callee_saved _callee_saved_t;
- #if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
- struct _preempt_float {
- float s16;
- float s17;
- float s18;
- float s19;
- float s20;
- float s21;
- float s22;
- float s23;
- float s24;
- float s25;
- float s26;
- float s27;
- float s28;
- float s29;
- float s30;
- float s31;
- };
- #endif
- struct _thread_arch {
-
- uint32_t basepri;
-
- uint32_t swap_return_value;
- #if defined(CONFIG_FPU) && defined(CONFIG_FPU_SHARING)
-
- struct _preempt_float preempt_float;
- #endif
- #if defined(CONFIG_ARM_STORE_EXC_RETURN) || defined(CONFIG_USERSPACE)
-
- union {
- uint32_t mode;
- #if defined(CONFIG_ARM_STORE_EXC_RETURN)
- struct {
- uint8_t mode_bits;
- uint8_t mode_exc_return;
- uint16_t mode_reserved2;
- };
- #endif
- };
- #if defined(CONFIG_USERSPACE)
- uint32_t priv_stack_start;
- #if defined(CONFIG_CPU_CORTEX_R)
- uint32_t priv_stack_end;
- uint32_t sp_usr;
- #endif
- #endif
- #endif
- };
- #if defined(CONFIG_FPU_SHARING) && defined(CONFIG_MPU_STACK_GUARD)
- #define Z_ARM_MODE_MPU_GUARD_FLOAT_Msk (1 << 3)
- #endif
- typedef struct _thread_arch _thread_arch_t;
- #endif
- #endif
|