1
2
3
4
5
6
7
8
9
10
11#ifndef __ASSEMBLY__
12
13struct tag;
14struct meminfo;
15struct sys_timer;
16
17struct machine_desc {
18
19
20
21
22 unsigned int nr;
23 unsigned int phys_io;
24 unsigned int io_pg_offst;
25
26
27 const char *name;
28 unsigned long boot_params;
29
30 unsigned int video_start;
31 unsigned int video_end;
32
33 unsigned int reserve_lp0 :1;
34 unsigned int reserve_lp1 :1;
35 unsigned int reserve_lp2 :1;
36 unsigned int soft_reboot :1;
37 void (*fixup)(struct machine_desc *,
38 struct tag *, char **,
39 struct meminfo *);
40 void (*map_io)(void);
41 void (*init_irq)(void);
42 struct sys_timer *timer;
43 void (*init_machine)(void);
44};
45
46
47
48
49
50#define MACHINE_START(_type,_name) \
51static const struct machine_desc __mach_desc_##_type \
52 __used \
53 __attribute__((__section__(".arch.info.init"))) = { \
54 .nr = MACH_TYPE_##_type, \
55 .name = _name,
56
57#define MACHINE_END \
58};
59
60#endif
61