*参照元 [#gde9c0d2]
#backlinks

*説明 [#x52f66a7]
-パス: 複数あり
--arm 版: [[linux-4.4.1/current_thread_info()(arm)]]
--arm64 版: [[linux-4.4.1/current_thread_info()(arm64)]]
--x86 版: [[linux-4.4.1/current_thread_info()(x86)]]

-現在実行中のタスクの情報を返す。
--タスクの情報は、カーネルスタックの末尾
(メモリアドレスで言うとアドレス 0 に近い側)に配置される。
 スタックポインタが 0x87650987 で、
 THREAD_INFO = 8192 の場合
 
 0x00000000 ----> |----------|
                  |**********|
                  ====(略)====
                  |**********|
 0x87650000 ----> |----------| <- カーネルスタックの末尾
                  | thread_  |
                  | info     |
                  |----------|
                  |          |
                  |          |
 stack_pointer -> |----------| <- カーネルスタックは↑に成長する
                  | 使用中   |
                  | カーネル |
                  | スタック |
                  | 領域     |
                  |          |
 0x87651fff ----> |----------| <- カーネルスタックの先頭
                  |**********|
                  ====(略)====
                  |**********|
 0xffffffff ----> |----------|



**参考 [#f4d59907]

-
--[[linux-4.4.1/THREAD_SIZE]]
--[[linux-4.4.1/current_stack_pointer(global)]]


*実装 [#veb280a4]
-各アーキテクチャのページを参照してください。


*コメント [#u52cec06]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS