[optee_os]-optee中的内核栈、中断栈、abort栈的定义
生活随笔
收集整理的这篇文章主要介绍了
[optee_os]-optee中的内核栈、中断栈、abort栈的定义
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
(在thread.c中)
有一个宏,专门定义栈的
#define DECLARE_STACK(name, num_stacks, stack_size, linkage) \ linkage uint32_t name[num_stacks] \[ROUNDUP(stack_size + STACK_CANARY_SIZE, STACK_ALIGNMENT) / \sizeof(uint32_t)] \__attribute__((section(".nozi_stack"), \aligned(STACK_ALIGNMENT)))然后我们定义了3个栈,分别用于: 中断栈、abort栈、进程栈
DECLARE_STACK(stack_tmp, CFG_TEE_CORE_NB_CORE, STACK_TMP_SIZE, static); DECLARE_STACK(stack_abt, CFG_TEE_CORE_NB_CORE, STACK_ABT_SIZE, static); #ifndef CFG_WITH_PAGER DECLARE_STACK(stack_thread, CFG_NUM_THREADS, STACK_THREAD_SIZE, static); #endif它们的大小分别是2k, 8k ,3k
#ifdef ARM64 #define STACK_TMP_SIZE (2048 + STACK_TMP_OFFS) #define STACK_THREAD_SIZE 8192#if TRACE_LEVEL > 0 #define STACK_ABT_SIZE 3072 #else #define STACK_ABT_SIZE 1024 #endif总结
以上是生活随笔为你收集整理的[optee_os]-optee中的内核栈、中断栈、abort栈的定义的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: [ARM-assembly]-A64指令
- 下一篇: 博客阅读学习笔记-目录