篆体字作品 | 篆体字知识 | 加入收藏 篆体字转换器软件可转换多种篆体字在线预览 网页版 V2.0
篆体字转换器

当前位置:篆体字网 > 知识库 >

machine_start

时间:2024-01-03 12:29:20 编辑:篆字君 来源:篆体字网

原文:http://blog.chinaunix.net/u2/60011/showart_1010489.html

MACHINE_START宏

linux2.6.18内核,在Mach-s3c2410.c文件中,有如下的宏定义:

MACHINE_START定义在include/asm-arm/mach/arch.h中

将前面定义的MACHINE_START展开后得到,

MACH_TYPE_SMDK2410定义在arch/include/asm-arm/mach-types.h内,值为193.
#define MACH_TYPE_SMDK2410 193
这个值是机器的类型值,编译时由arch/arm/tool/mach-types里面定义的数据生成的。
smdk2410 ARCH_SMDK2410 SMDK2410 193

由上发现,MACHINE_START主要是定义了"struct machine_desc"的类型,放在 section(".arch.info.init"),是初始化数据,Kernel 起来之后将被丢弃。

各个成员函数在不同时期被调用:
1. .init_machine 在 arch/arm/kernel/setup.c 中被 customize_machine 调用,放在 arch_initcall() 段里面,会自动按顺序被调用。

2. init_irq在start_kernel() -->init_IRQ() -->init_arch_irq() 被调用
3. map_io 在 setup_arch() -->paging_init() -->devicemaps_init()被调用

其他主要都在 setup_arch() 中用到。

Copyright:2021-2023 篆体字转换器 www.dddtedu.com All rights reserved.