- pre3:
[davej-history.git] / include / asm-arm / mach / arch.h
bloba0e0e6502d204e7181355d0a348024101d1b5206
1 /*
2 * linux/include/asm-arm/mach/arch.h
4 * Copyright (C) 2000 Russell King
5 */
7 /*
8 * The size of struct machine_desc
9 * (for assembler code)
11 #define SIZEOF_MACHINE_DESC 44
13 #ifndef __ASSEMBLY__
15 struct machine_desc {
17 * Note! The first four elements are used
18 * by assembler code in head-armv.S
20 unsigned int nr; /* architecture number */
21 unsigned int phys_ram; /* start of physical ram */
22 unsigned int phys_io; /* start of physical io */
23 unsigned int virt_io; /* start of virtual io */
25 const char *name; /* architecture name */
26 unsigned int param_offset; /* parameter page */
28 unsigned int video_start; /* start of video RAM */
29 unsigned int video_end; /* end of video RAM */
31 unsigned int reserve_lp0 :1; /* never has lp0 */
32 unsigned int reserve_lp1 :1; /* never has lp1 */
33 unsigned int reserve_lp2 :1; /* never has lp2 */
34 unsigned int broken_hlt :1; /* hlt is broken */
35 unsigned int soft_reboot :1; /* soft reboot */
36 void (*fixup)(struct machine_desc *,
37 struct param_struct *, char **,
38 struct meminfo *);
39 void (*map_io)(void);/* IO mapping function */
43 * Set of macros to define architecture features. This is built into
44 * a table by the linker.
46 #define MACHINE_START(_type,_name) \
47 const struct machine_desc __mach_desc_##_type \
48 __attribute__((__section__(".arch.info"))) = { \
49 nr: MACH_TYPE_##_type##, \
50 name: _name,
52 #define MAINTAINER(n)
54 #define BOOT_MEM(_pram,_pio,_vio) \
55 phys_ram: _pram, \
56 phys_io: _pio, \
57 virt_io: _vio,
59 #define BOOT_PARAMS(_params) \
60 param_offset: _params,
62 #define VIDEO(_start,_end) \
63 video_start: _start, \
64 video_end: _end,
66 #define DISABLE_PARPORT(_n) \
67 reserve_lp##_n##: 1,
69 #define BROKEN_HLT \
70 broken_hlt: 1,
72 #define SOFT_REBOOT \
73 soft_reboot: 1,
75 #define FIXUP(_func) \
76 fixup: _func,
78 #define MAPIO(_func) \
79 map_io: _func,
81 #define MACHINE_END \
84 #endif