2005-04-16 15:20:36 -07:00
/*
* linux / include / asm - arm / mach / arch . h
*
* Copyright ( C ) 2000 Russell King
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation .
*/
# ifndef __ASSEMBLY__
2006-01-15 17:03:45 +00:00
# include <linux/compiler.h>
2005-04-16 15:20:36 -07:00
struct tag ;
struct meminfo ;
struct sys_timer ;
struct machine_desc {
/*
* Note ! The first five elements are used
* by assembler code in head - armv . S
*/
unsigned int nr ; /* architecture number */
2006-01-13 20:51:52 +00:00
unsigned int __deprecated phys_ram ; /* start of physical ram */
2005-04-16 15:20:36 -07:00
unsigned int phys_io ; /* start of physical io */
unsigned int io_pg_offst ; /* byte offset for io
* page tabe entry */
const char * name ; /* architecture name */
2005-07-04 10:43:36 +01:00
unsigned long boot_params ; /* tagged list */
2005-04-16 15:20:36 -07:00
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 */
void ( * fixup ) ( struct machine_desc * ,
struct tag * , char * * ,
struct meminfo * ) ;
void ( * map_io ) ( void ) ; /* IO mapping function */
void ( * init_irq ) ( void ) ;
struct sys_timer * timer ; /* system tick timer */
void ( * init_machine ) ( void ) ;
} ;
/*
* Set of macros to define architecture features . This is built into
* a table by the linker .
*/
2005-10-28 14:29:43 +01:00
# define MACHINE_START(_type,_name) \
static const struct machine_desc __mach_desc_ # # _type \
2005-10-29 13:15:10 +01:00
__attribute_used__ \
2005-09-20 16:45:20 +01:00
__attribute__ ( ( __section__ ( " .arch.info.init " ) ) ) = { \
2005-10-28 14:29:43 +01:00
. nr = MACH_TYPE_ # # _type , \
2005-04-16 15:20:36 -07:00
. name = _name ,
# define MACHINE_END \
} ;
# endif