Import 2.3.43pre4
[davej-history.git] / include / asm-arm / setup.h
blob2fe6424b8c7e50829b3b4d4ca3e1997e90256805
1 /*
2 * include/asm/setup.h
4 * Structure passed to kernel to tell it about the
5 * hardware it's running on. See linux/Documentation/arm/Setup
6 * for more info.
8 * Copyright (C) 1997-1999 Russell King
9 */
10 #ifndef __ASMARM_SETUP_H
11 #define __ASMARM_SETUP_H
14 * Usage:
15 * - do not go blindly adding fields, add them at the end
16 * - when adding fields, don't rely on the address until
17 * a patch from me has been released
18 * - unused fields should be zero (for future expansion)
19 * - this structure is relatively short-lived - only
20 * guaranteed to contain useful data in setup_arch()
22 #define COMMAND_LINE_SIZE 1024
24 struct param_struct {
25 union {
26 struct {
27 unsigned long page_size; /* 0 */
28 unsigned long nr_pages; /* 4 */
29 unsigned long ramdisk_size; /* 8 */
30 unsigned long flags; /* 12 */
31 #define FLAG_READONLY 1
32 #define FLAG_RDLOAD 4
33 #define FLAG_RDPROMPT 8
34 unsigned long rootdev; /* 16 */
35 unsigned long video_num_cols; /* 20 */
36 unsigned long video_num_rows; /* 24 */
37 unsigned long video_x; /* 28 */
38 unsigned long video_y; /* 32 */
39 unsigned long memc_control_reg; /* 36 */
40 unsigned char sounddefault; /* 40 */
41 unsigned char adfsdrives; /* 41 */
42 unsigned char bytes_per_char_h; /* 42 */
43 unsigned char bytes_per_char_v; /* 43 */
44 unsigned long pages_in_bank[4]; /* 44 */
45 unsigned long pages_in_vram; /* 60 */
46 unsigned long initrd_start; /* 64 */
47 unsigned long initrd_size; /* 68 */
48 unsigned long rd_start; /* 72 */
49 unsigned long system_rev; /* 76 */
50 unsigned long system_serial_low; /* 80 */
51 unsigned long system_serial_high; /* 84 */
52 } s;
53 char unused[256];
54 } u1;
55 union {
56 char paths[8][128];
57 struct {
58 unsigned long magic;
59 char n[1024 - sizeof(unsigned long)];
60 } s;
61 } u2;
62 char commandline[COMMAND_LINE_SIZE];
66 * Memory map description
68 #define NR_BANKS 4
70 struct meminfo {
71 int nr_banks;
72 unsigned long end;
73 struct {
74 unsigned long start;
75 unsigned long size;
76 } bank[NR_BANKS];
79 extern struct meminfo meminfo;
81 #endif