PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   七嘴八舌異言堂 (https://www.pcdvd.com.tw/forumdisplay.php?f=12)
-   -   請教高手 ARM linux kernel 的一個問題 (https://www.pcdvd.com.tw/showthread.php?t=937663)

passerx 2011-08-02 10:18 AM

引用:
作者darkangel
就是有那個註解我才會疑惑, 所以一開始我也是認定為保留用.
但是網友大都頃向為可能是 pipeline 的機制, 我才去查 ARM 現在的 pipeline.
我還是不能理解, 一開機時 GOT 都還沒配置, 會跟 ABI 有啥關係?
請高手指點.


ABI跟GOT有什麼關?
ABI只跟軟體有關,你如果要發展自己的系統或compiler,那ABI隨你定.
arm的ABI有改過,現在新的都變成EABI了,

除非你要開發自己的系統或是主導者,不然別花時間在這些東西上面,
因為軟體上的定義延續時間都不長,尤其是arm改動太快一堆介面已經不知道改過多少次了.

:think:

darkangel 2011-08-02 11:10 AM

引用:
作者passerx
ABI跟GOT有什麼關?
ABI只跟軟體有關,你如果要發展自己的系統或compiler,那ABI隨你定.
arm的ABI有改過,現在新的都變成EABI了,

除非你要開發自己的系統或是主導者,不然別花時間在這些東西上面,
因為軟體上的定義延續時間都不長,尤其是arm改動太快一堆介面已經不知道改過多少次了.

:think:


我知道 OABI/ABI/EABI, 但是我完全不能理解一個軟體層的 object interface 會跟 booting 一開始跑的 8 個 nop 有什麼關係?
我意思是: 一開始 booting 時, 連 GOT 都沒做, 此時應該是什麼 ABI 都無所謂吧?
懇請高手指點一二.

darkangel 2011-08-02 11:33 AM

依照 passerx 大大所說的, 我去查了 EABI 的資料, 看到這一行:

Stack alignment

The ARM EABI requires 8-byte stack alignment at public function entry points, compared to the previous 4-byte alignment.

所以答案應該為了保留 8-byte stack 對齊...

http://wiki.debian.org/ArmEabiPort

所以還是我誤會了, 跟 boot 階段完全無關, 那 8 個 nop, 只是為了保留 ABI link 的相容性!

這應該是最合理的答案! 謝謝 passerx 大大指點!

darkangel 2011-08-04 02:11 PM

引用:
作者darkangel
依照 passerx 大大所說的, 我去查了 EABI 的資料, 看到這一行:

Stack alignment

The ARM EABI requires 8-byte stack alignment at public function entry points, compared to the previous 4-byte alignment.

所以答案應該為了保留 8-byte stack 對齊...

http://wiki.debian.org/ArmEabiPort

所以還是我誤會了, 跟 boot 階段完全無關, 那 8 個 nop, 只是為了保留 ABI link 的相容性!

這應該是最合理的答案! 謝謝 passerx 大大指點!


昨天想一想, 還是覺得不太對~ 那個註解, 很可能只是註解 .align 而已!
8 nop = 32 byte, 沒理由為了 8 byte 保留這麼多, ABI 這部份應該 .align 就做掉了.
繼續找答案...
:stupefy: :stupefy: :stupefy: :stupefy: :stupefy:

Kyocera 2011-08-04 04:01 PM

引用:
作者darkangel
昨天想一想, 還是覺得不太對~ 那個註解, 很可能只是註解 .align 而已!
8 nop = 32 byte, 沒理由為了 8 byte 保留這麼多, ABI 這部份應該 .align 就做掉了.
繼續找答案...
:stupefy: :stupefy: :stupefy: :stupefy: :stupefy:

給你另一個答案
剛通電時等待振蕩器穩定
這段code對有些mcu需要

jamin 2011-08-05 02:25 AM

引用:
作者darkangel
昨天想一想, 還是覺得不太對~ 那個註解, 很可能只是註解 .align 而已!
8 nop = 32 byte, 沒理由為了 8 byte 保留這麼多, ABI 這部份應該 .align 就做掉了.
繼續找答案...
:stupefy: :stupefy: :stupefy: :stupefy: :stupefy:

這問題真難

google 找不到 zImage 格式 :jolin:



搜尋的所得資訊, 只知道那8個 nop 並沒有被執行.

nop 不能增減, 否則有些 bootloader 會找不到 start addr .

 


所有的時間均為GMT +8。 現在的時間是12:50 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。