ARM Linux内核启动2
时间:11-09
来源:互联网
点击:
这段代码也和上面的一样。这段完成的工作主要是判断内核对这个平台的支持。那平台信息在那里定义呢?
MACHINE_START (KEV7A400, "Sharp KEV7a400")
MAINTAINER ("Marc Singer")
BOOT_MEM (0xc0000000, 0x80000000, io_p2v (0x80000000))
BOOT_PARAMS (0xc0000100)
MAPIO (kev7a400_map_io)
INITIRQ (lh7a400_init_irq)
.timer= &lh7a40x_timer,
MACHINE_END
主要是通过MACHINE_START宏,
/*
* Set of macros to define architecture features. This is built into
* a table by the linker.
*/
#define MACHINE_START(_type,_name)\
const struct machine_desc __mach_desc_##_type\
__attribute__((__section__(".arch.info"))) = {\
.nr= MACH_TYPE_##_type,\
.name= _name,
当想要添加新的平台是,需修改Mach-types (arch\arm\tools)这个文件,因为内核在编译时Makefile脚本会根据
Mach-types (arch\arm\tools)文件生成Mach-types.h (include\asm-arm\)文件。
ARMLinux内核启 相关文章:
- ARM Linux内核启动流程(11-21)
- ARM Linux内核启动要求(11-11)
- 装载ARM Linux内核启动过程(11-09)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)