2005-04-16 15:20:36 -07:00
/*
* linux / include / asm / setup . h
*
* Copyright ( C ) 1997 - 1999 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 .
*
* Structure passed to kernel to tell it about the
* hardware it ' s running on . See Documentation / arm / Setup
* for more info .
*/
# ifndef __ASMARM_SETUP_H
# define __ASMARM_SETUP_H
2012-10-12 13:05:52 +01:00
# include <uapi/asm/setup.h>
2006-12-06 20:40:38 -08:00
2007-05-11 16:18:55 -07:00
# define __tag __used __attribute__((__section__(".taglist.init")))
2006-12-06 20:40:38 -08:00
# define __tagtable(tag, fn) \
2011-07-05 23:59:56 +01:00
static const struct tagtable __tagtable_ # # fn __tag = { tag , fn }
2006-12-06 20:40:38 -08:00
2005-04-16 15:20:36 -07:00
/*
* Memory map description
*/
2011-12-11 10:04:00 +00:00
# define NR_BANKS CONFIG_ARM_NR_BANKS
2005-04-16 15:20:36 -07:00
2006-09-27 10:00:54 +01:00
struct membank {
2011-02-15 12:44:10 +01:00
phys_addr_t start ;
2012-07-12 23:57:35 +01:00
phys_addr_t size ;
2010-05-07 17:40:33 +01:00
unsigned int highmem ;
2006-09-27 10:00:54 +01:00
} ;
2005-04-16 15:20:36 -07:00
struct meminfo {
int nr_banks ;
2006-09-27 10:00:54 +01:00
struct membank bank [ NR_BANKS ] ;
2005-04-16 15:20:36 -07:00
} ;
2008-10-06 13:24:40 -04:00
extern struct meminfo meminfo ;
2010-05-07 17:40:33 +01:00
# define for_each_bank(iter,mi) \
for ( iter = 0 ; iter < ( mi ) - > nr_banks ; iter + + )
2008-10-01 16:56:15 +01:00
# define bank_pfn_start(bank) __phys_to_pfn((bank)->start)
# define bank_pfn_end(bank) __phys_to_pfn((bank)->start + (bank)->size)
# define bank_pfn_size(bank) ((bank)->size >> PAGE_SHIFT)
# define bank_phys_start(bank) (bank)->start
# define bank_phys_end(bank) ((bank)->start + (bank)->size)
# define bank_phys_size(bank) (bank)->size
2012-07-12 23:57:35 +01:00
extern int arm_add_memory ( phys_addr_t start , phys_addr_t size ) ;
2011-04-28 14:27:21 -06:00
extern void early_print ( const char * str , . . . ) ;
extern void dump_machine_table ( void ) ;
2011-04-28 14:27:20 -06:00
2005-04-16 15:20:36 -07:00
# endif