2 * linux/include/asm/setup.h
4 * Copyright (C) 1997-1999 Russell King
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
10 * Structure passed to kernel to tell it about the
11 * hardware it's running on. See Documentation/arm/Setup
14 #ifndef __ASMARM_SETUP_H
15 #define __ASMARM_SETUP_H
17 #include <uapi/asm/setup.h>
20 #define __tag __used __attribute__((__section__(".taglist.init")))
21 #define __tagtable(tag, fn) \
22 static const struct tagtable __tagtable_##fn __tag = { tag, fn }
25 * Memory map description
27 #define NR_BANKS CONFIG_ARM_NR_BANKS
37 struct membank bank
[NR_BANKS
];
40 extern struct meminfo meminfo
;
42 #define for_each_bank(iter,mi) \
43 for (iter = 0; iter < (mi)->nr_banks; iter++)
45 #define bank_pfn_start(bank) __phys_to_pfn((bank)->start)
46 #define bank_pfn_end(bank) __phys_to_pfn((bank)->start + (bank)->size)
47 #define bank_pfn_size(bank) ((bank)->size >> PAGE_SHIFT)
48 #define bank_phys_start(bank) (bank)->start
49 #define bank_phys_end(bank) ((bank)->start + (bank)->size)
50 #define bank_phys_size(bank) (bank)->size
52 extern int arm_add_memory(phys_addr_t start
, phys_addr_t size
);
53 extern void early_print(const char *str
, ...);
54 extern void dump_machine_table(void);