[optee_os]-optee中的内核栈、中断栈、abort栈的定义
生活随笔
收集整理的這篇文章主要介紹了
[optee_os]-optee中的内核栈、中断栈、abort栈的定义
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
(在thread.c中)
有一個(gè)宏,專門定義棧的
#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個(gè)棧,分別用于: 中斷棧、abort棧、進(jìn)程棧
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總結(jié)
以上是生活随笔為你收集整理的[optee_os]-optee中的内核栈、中断栈、abort栈的定义的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [ARM-assembly]-A64指令
- 下一篇: linux kernel中的进程栈