summaryrefslogtreecommitdiffstats
path: root/include/asm-arm/mach/arch.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-arm/mach/arch.h')
-rw-r--r--include/asm-arm/mach/arch.h59
1 files changed, 34 insertions, 25 deletions
diff --git a/include/asm-arm/mach/arch.h b/include/asm-arm/mach/arch.h
index f5297ecf1..d6e6c4daf 100644
--- a/include/asm-arm/mach/arch.h
+++ b/include/asm-arm/mach/arch.h
@@ -12,35 +12,42 @@
* The size of struct machine_desc
* (for assembler code)
*/
-#define SIZEOF_MACHINE_DESC 44
+#define SIZEOF_MACHINE_DESC 56
#ifndef __ASSEMBLY__
+extern void setup_initrd(unsigned int start, unsigned int size);
+extern void setup_ramdisk(int doload, int prompt, int start, unsigned int rd_sz);
+
+struct tagtable;
+
struct machine_desc {
/*
* Note! The first four elements are used
* by assembler code in head-armv.S
*/
- unsigned int nr; /* architecture number */
- unsigned int phys_ram; /* start of physical ram */
- unsigned int phys_io; /* start of physical io */
- unsigned int virt_io; /* start of virtual io */
-
- const char *name; /* architecture name */
- unsigned int param_offset; /* parameter page */
-
- unsigned int video_start; /* start of video RAM */
- unsigned int video_end; /* end of video RAM */
-
- unsigned int reserve_lp0 :1; /* never has lp0 */
- unsigned int reserve_lp1 :1; /* never has lp1 */
- unsigned int reserve_lp2 :1; /* never has lp2 */
- unsigned int broken_hlt :1; /* hlt is broken */
- unsigned int soft_reboot :1; /* soft reboot */
- void (*fixup)(struct machine_desc *,
- struct param_struct *, char **,
- struct meminfo *);
- void (*map_io)(void);/* IO mapping function */
+ unsigned int nr; /* architecture number */
+ unsigned int phys_ram; /* start of physical ram */
+ unsigned int phys_io; /* start of physical io */
+ unsigned int virt_io; /* start of virtual io */
+
+ const char *name; /* architecture name */
+ unsigned int param_offset; /* parameter page */
+
+ unsigned int video_start; /* start of video RAM */
+ unsigned int video_end; /* end of video RAM */
+
+ unsigned int reserve_lp0 :1; /* never has lp0 */
+ unsigned int reserve_lp1 :1; /* never has lp1 */
+ unsigned int reserve_lp2 :1; /* never has lp2 */
+ unsigned int soft_reboot :1; /* soft reboot */
+ const struct tagtable * tagtable; /* tag table */
+ int tagsize; /* tag table size */
+ void (*fixup)(struct machine_desc *,
+ struct param_struct *, char **,
+ struct meminfo *);
+ void (*map_io)(void);/* IO mapping function */
+ void (*init_irq)(void);
};
/*
@@ -50,7 +57,7 @@ struct machine_desc {
#define MACHINE_START(_type,_name) \
const struct machine_desc __mach_desc_##_type \
__attribute__((__section__(".arch.info"))) = { \
- nr: MACH_TYPE_##_type##, \
+ nr: MACH_TYPE_##_type, \
name: _name,
#define MAINTAINER(n)
@@ -68,10 +75,9 @@ const struct machine_desc __mach_desc_##_type \
video_end: _end,
#define DISABLE_PARPORT(_n) \
- reserve_lp##_n##: 1,
+ reserve_lp##_n: 1,
-#define BROKEN_HLT \
- broken_hlt: 1,
+#define BROKEN_HLT /* unused */
#define SOFT_REBOOT \
soft_reboot: 1,
@@ -82,6 +88,9 @@ const struct machine_desc __mach_desc_##_type \
#define MAPIO(_func) \
map_io: _func,
+#define INITIRQ(_func) \
+ init_irq: _func,
+
#define MACHINE_END \
};