2 * linux/include/asm-arm/mach/arch.h
4 * Copyright (C) 2000 Russell King
8 * The size of struct machine_desc
11 #define SIZEOF_MACHINE_DESC 44
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 **,
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##, \
54 #define BOOT_MEM(_pram,_pio,_vio) \
59 #define BOOT_PARAMS(_params) \
60 param_offset: _params,
62 #define VIDEO(_start,_end) \
63 video_start: _start, \
66 #define DISABLE_PARPORT(_n) \
75 #define FIXUP(_func) \
78 #define MAPIO(_func) \