Blame view
include/asm-arm/setup.h
4.58 KB
1da177e4c Linux-2.6.12-rc2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
/* * 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 |
7d1362c0d [PATCH] cleanup a... |
16 |
#include <asm/types.h> |
1da177e4c Linux-2.6.12-rc2 |
17 18 19 20 21 22 |
#define COMMAND_LINE_SIZE 1024 /* The list ends with an ATAG_NONE node. */ #define ATAG_NONE 0x00000000 struct tag_header { |
7d1362c0d [PATCH] cleanup a... |
23 24 |
__u32 size; __u32 tag; |
1da177e4c Linux-2.6.12-rc2 |
25 26 27 28 29 30 |
}; /* The list must start with an ATAG_CORE node */ #define ATAG_CORE 0x54410001 struct tag_core { |
7d1362c0d [PATCH] cleanup a... |
31 32 33 |
__u32 flags; /* bit 0 = read-only */ __u32 pagesize; __u32 rootdev; |
1da177e4c Linux-2.6.12-rc2 |
34 35 36 37 38 39 |
}; /* it is allowed to have multiple ATAG_MEM nodes */ #define ATAG_MEM 0x54410002 struct tag_mem32 { |
7d1362c0d [PATCH] cleanup a... |
40 41 |
__u32 size; __u32 start; /* physical start address */ |
1da177e4c Linux-2.6.12-rc2 |
42 43 44 45 46 47 |
}; /* VGA text type displays */ #define ATAG_VIDEOTEXT 0x54410003 struct tag_videotext { |
7d1362c0d [PATCH] cleanup a... |
48 49 50 51 52 53 54 55 56 |
__u8 x; __u8 y; __u16 video_page; __u8 video_mode; __u8 video_cols; __u16 video_ega_bx; __u8 video_lines; __u8 video_isvga; __u16 video_points; |
1da177e4c Linux-2.6.12-rc2 |
57 58 59 60 61 62 |
}; /* describes how the ramdisk will be used in kernel */ #define ATAG_RAMDISK 0x54410004 struct tag_ramdisk { |
7d1362c0d [PATCH] cleanup a... |
63 64 65 |
__u32 flags; /* bit 0 = load, bit 1 = prompt */ __u32 size; /* decompressed ramdisk size in _kilo_ bytes */ __u32 start; /* starting block of floppy-based RAM disk image */ |
1da177e4c Linux-2.6.12-rc2 |
66 67 68 69 70 71 72 73 74 75 76 77 78 |
}; /* describes where the compressed ramdisk image lives (virtual address) */ /* * this one accidentally used virtual addresses - as such, * it's deprecated. */ #define ATAG_INITRD 0x54410005 /* describes where the compressed ramdisk image lives (physical address) */ #define ATAG_INITRD2 0x54420005 struct tag_initrd { |
7d1362c0d [PATCH] cleanup a... |
79 80 |
__u32 start; /* physical start address */ __u32 size; /* size of compressed ramdisk image in bytes */ |
1da177e4c Linux-2.6.12-rc2 |
81 82 83 84 85 86 |
}; /* board serial number. "64 bits should be enough for everybody" */ #define ATAG_SERIAL 0x54410006 struct tag_serialnr { |
7d1362c0d [PATCH] cleanup a... |
87 88 |
__u32 low; __u32 high; |
1da177e4c Linux-2.6.12-rc2 |
89 90 91 92 93 94 |
}; /* board revision */ #define ATAG_REVISION 0x54410007 struct tag_revision { |
7d1362c0d [PATCH] cleanup a... |
95 |
__u32 rev; |
1da177e4c Linux-2.6.12-rc2 |
96 97 98 99 100 101 102 103 |
}; /* initial values for vesafb-type framebuffers. see struct screen_info * in include/linux/tty.h */ #define ATAG_VIDEOLFB 0x54410008 struct tag_videolfb { |
7d1362c0d [PATCH] cleanup a... |
104 105 106 107 108 109 110 111 112 113 114 115 116 117 |
__u16 lfb_width; __u16 lfb_height; __u16 lfb_depth; __u16 lfb_linelength; __u32 lfb_base; __u32 lfb_size; __u8 red_size; __u8 red_pos; __u8 green_size; __u8 green_pos; __u8 blue_size; __u8 blue_pos; __u8 rsvd_size; __u8 rsvd_pos; |
1da177e4c Linux-2.6.12-rc2 |
118 119 120 121 122 123 124 125 126 127 128 129 130 |
}; /* command line: \0 terminated string */ #define ATAG_CMDLINE 0x54410009 struct tag_cmdline { char cmdline[1]; /* this is the minimum size */ }; /* acorn RiscPC specific information */ #define ATAG_ACORN 0x41000101 struct tag_acorn { |
7d1362c0d [PATCH] cleanup a... |
131 132 133 134 |
__u32 memc_control_reg; __u32 vram_pages; __u8 sounddefault; __u8 adfsdrives; |
1da177e4c Linux-2.6.12-rc2 |
135 136 137 138 139 140 |
}; /* footbridge memory clock, see arch/arm/mach-footbridge/arch.c */ #define ATAG_MEMCLK 0x41000402 struct tag_memclk { |
7d1362c0d [PATCH] cleanup a... |
141 |
__u32 fmemclk; |
1da177e4c Linux-2.6.12-rc2 |
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 |
}; struct tag { struct tag_header hdr; union { struct tag_core core; struct tag_mem32 mem; struct tag_videotext videotext; struct tag_ramdisk ramdisk; struct tag_initrd initrd; struct tag_serialnr serialnr; struct tag_revision revision; struct tag_videolfb videolfb; struct tag_cmdline cmdline; /* * Acorn specific */ struct tag_acorn acorn; /* * DC21285 specific */ struct tag_memclk memclk; } u; }; struct tagtable { |
7d1362c0d [PATCH] cleanup a... |
170 |
__u32 tag; |
1da177e4c Linux-2.6.12-rc2 |
171 172 |
int (*parse)(const struct tag *); }; |
1da177e4c Linux-2.6.12-rc2 |
173 174 175 |
#define tag_member_present(tag,member) \ ((unsigned long)(&((struct tag *)0L)->member + 1) \ <= (tag)->hdr.size * 4) |
7d1362c0d [PATCH] cleanup a... |
176 |
#define tag_next(t) ((struct tag *)((__u32 *)(t) + (t)->hdr.size)) |
1da177e4c Linux-2.6.12-rc2 |
177 178 179 180 |
#define tag_size(type) ((sizeof(struct tag_header) + sizeof(struct type)) >> 2) #define for_each_tag(t,base) \ for (t = base; t->hdr.size; t = tag_next(t)) |
7d1362c0d [PATCH] cleanup a... |
181 182 183 184 185 |
#ifdef __KERNEL__ #define __tag __attribute_used__ __attribute__((__section__(".taglist.init"))) #define __tagtable(tag, fn) \ static struct tagtable __tagtable_##fn __tag = { tag, fn } |
1da177e4c Linux-2.6.12-rc2 |
186 187 188 189 190 191 192 193 |
/* * Memory map description */ #ifdef CONFIG_ARCH_LH7A40X # define NR_BANKS 16 #else # define NR_BANKS 8 #endif |
456335e20 [ARM] Separate pa... |
194 195 196 197 198 |
struct membank { unsigned long start; unsigned long size; int node; }; |
1da177e4c Linux-2.6.12-rc2 |
199 200 |
struct meminfo { int nr_banks; |
456335e20 [ARM] Separate pa... |
201 |
struct membank bank[NR_BANKS]; |
1da177e4c Linux-2.6.12-rc2 |
202 203 204 205 206 207 208 209 210 211 212 213 |
}; /* * Early command line parameters. */ struct early_params { const char *arg; void (*fn)(char **p); }; #define __early_param(name,fn) \ static struct early_params __early_##fn __attribute_used__ \ |
bfe6815e0 [ARM] 2925/3: ear... |
214 |
__attribute__((__section__(".early_param.init"))) = { name, fn } |
1da177e4c Linux-2.6.12-rc2 |
215 |
|
7d1362c0d [PATCH] cleanup a... |
216 |
#endif /* __KERNEL__ */ |
1da177e4c Linux-2.6.12-rc2 |
217 |
#endif |