diff options
Diffstat (limited to 'include/asm-arm/mach/arch.h')
-rw-r--r-- | include/asm-arm/mach/arch.h | 59 |
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 \ }; |