1.设备树的引入目的
当然我们主要讨论arm了,事情起源于https://lkml.org/lkml/2011/3/18/54这个合并请求,显然linus大佬非常不爽,直接在邮件回复里面开骂了。
Gaah. Guys, this whole ARM thing is a f*cking pain in the ass.
这一骂引出了对设备文件信息的思考,原有的linux内核里面大部分对硬件资源的描述做了硬编码,当然这个邮件还是值得一看的,linus大佬还是摆事实,讲道理的,现在做一次合并,arm架构下的变动都超过60%。
[torvalds @ i5 linux] $ git diff -C --dirstat = 5 --cumulative v2.6.38 .. arch
14.0%arch / arm / mach-omap2 /
5.8%arch / arm / plat-mxc / include / mach /
6.3%arch / arm / plat-mxc /
57.1%arch / arm /
5.4%arch / m68k /
9.6 %arch / unicore32 /
6.9%arch / x86 /
100.0%arch /
2.设备树的加载过程