kernel内核中处理器类型的定义mach-types.h文件的生成

在Linux内核配置过程中,mach-types.h文件被生成,用于定义处理器ID。该ID由bootloader传递给内核,确保正确匹配处理器类型。新增处理器时,需更新arch/arm/tools/mach-types文件,如S3C2440的ID为362。mach-types.h在2.6.36前位于include/asm-arm,之后位于include/generated。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在linux的kenel配置的时候,会生成一个mach-types.h文件,里面用来定义处理器的ID,在2.6.36之前好像是生成到include/asm-arm文件夹里面,2.6.36之后则会生成到include/generated目录里面。

这个处理器的ID作用大家都知道,就是bootloader一定要把处理器ID号传给内核,这样内核才能找到相应的处理器,如果匹配时出错,则会出现系统死掉。如果是新添加一个处理器,则需要修改arch/arm/tools/mach-types 文件,并在文件里面加上你的处理器的ID号

machine_is_xxx     CONFIG_xxxx      MACH_TYPE_xxx     number

例如,S3C2440的定义如下

s3c2440     ARCH_S3C2440     S3C2440    362

362即是2440的处理器ID号。。。

 

转一篇有用的文章:

http://hi.baidu.com/youren4548/blog/item/2a3eb699ac841d1b6e068cd7.html

 

mach-types.h 的生成
2011-01-27 20:42
        准备将Linux的启动过程仔细的看看,内核为2.6.16,芯片为SEP4020,首先看的部分是机器号的添加。修改的文件为:linux/arch/arm/tools/mach-types,在其最后添加了
sep4020            ARCH_4020     GFD4020          194
bootloader一定要把机器号传给内核,这样内核才能找到相应的处理器,如果匹配时出错,则会出现系统死掉。但是内核又是如何根据这个194找到我们的处理器,找到我们的板级设备??
       对我们有用的是 /linux/include/asm-arm/ mach-types.h文件,但是我们在编译内核时
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值