欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

[optee_os]-optee中的内核栈、中断栈、abort栈的定义

发布时间:2025/3/21 编程问答 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 [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栈的定义的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。