0
我想支持兩個類似的硬件平臺和一個嵌入式Linux內核。內核是否支持多個struct machine_desc
結構?此結構的實例通常通過使用板的C定義文件中的MACHINE_START
和MACHINE_END
宏來定義。定義多個struct machine_desc結構
有一種機制將MACH_TYPE
從引導加載程序傳遞到內核,因此內核可以支持多個機器似乎是有意義的。有什麼特別的事情需要完成嗎?
我想支持兩個類似的硬件平臺和一個嵌入式Linux內核。內核是否支持多個struct machine_desc
結構?此結構的實例通常通過使用板的C定義文件中的MACHINE_START
和MACHINE_END
宏來定義。定義多個struct machine_desc結構
有一種機制將MACH_TYPE
從引導加載程序傳遞到內核,因此內核可以支持多個機器似乎是有意義的。有什麼特別的事情需要完成嗎?
我花了一些時間看內核代碼(版本2.6.33),ARM架構支持同一內核中的多臺機器。但是我不確定其他體系結構是否可以。下面是它如何工作的
CONFIG_MACH_TYPE_*
值需要在配置文件中進行設置。內核在生成時將根據源包含的mach-types版本生成所有機器宏。機器定義的源代碼也將被編譯到內核中。r1
中放置相應的機器類型編號(即最後一列mach-types中的編號)。r1
傳遞到__lookup_machine_type
以查找機器定義並初始化電路板。