7.
8.#define MACHINE_END \
9.};
struct machine_desc 也是定义在 arch/arm/include/asm/mach/arch.h
1.struct machine_desc {
2. /*
3. * Note! The firstfour elements are used
4. * by assembler codein head.S, head-common.S
5. */
6. unsigned int nr; /* architecture number */
7. unsigned int phys_io; /* start of physical io */
8. unsigned int io_pg_offst; /* byte offset for io
9. * page tabe entry */
10.
11. const char *name; /* architecture name */
12. unsigned long boot_params; /* tagged list */
13.
14. unsigned int video_start; /* start of video RAM */
15. unsigned int video_end; /* end of video RAM */
16.
17. unsigned int reserve_lp0:1; /* never has lp0 */
18. unsigned int reserve_lp1:1; /* never has lp1 */
19. unsigned int reserve_lp2:1; /* never has lp2 */
20. unsigned int soft_reboot:1; /* soft reboot */
21. void (*fixup)(struct machine_desc *,
22. struct tag *, char **,
23. struct meminfo *);
24. void (*map_io)(void); /* IO mapping function */
25. void (*init_irq)(void);
26. struct sys_timer *timer; /* system tick timer */
27. void (*init_machine)(void);
28.};
3. MACH HALIBUT 的定义
把 1 中定义的 MACH 展开之后,得到:
1.struct machine_desc __mach_desc_HALIBUT{
2.__used
3.__attribute__((__section__(".arch.info.init")))= {
4. .nr = MACH_TYPE_HALIBUT,
5. .name = "HalibutBoard (QCT SURF7200A)",