1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _UAPI__ASMARM_SETUP_H
20 #define _UAPI__ASMARM_SETUP_H
21 #include <linux/types.h>
22 #define COMMAND_LINE_SIZE 1024
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #define ATAG_NONE 0x00000000
25 struct tag_header {
26  __u32 size;
27  __u32 tag;
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 };
30 #define ATAG_CORE 0x54410001
31 struct tag_core {
32  __u32 flags;
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34  __u32 pagesize;
35  __u32 rootdev;
36 };
37 #define ATAG_MEM 0x54410002
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 struct tag_mem32 {
40  __u32 size;
41  __u32 start;
42 };
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 #define ATAG_VIDEOTEXT 0x54410003
45 struct tag_videotext {
46  __u8 x;
47  __u8 y;
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49  __u16 video_page;
50  __u8 video_mode;
51  __u8 video_cols;
52  __u16 video_ega_bx;
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54  __u8 video_lines;
55  __u8 video_isvga;
56  __u16 video_points;
57 };
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 #define ATAG_RAMDISK 0x54410004
60 struct tag_ramdisk {
61  __u32 flags;
62  __u32 size;
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64  __u32 start;
65 };
66 #define ATAG_INITRD 0x54410005
67 #define ATAG_INITRD2 0x54420005
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 struct tag_initrd {
70  __u32 start;
71  __u32 size;
72 };
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 #define ATAG_SERIAL 0x54410006
75 struct tag_serialnr {
76  __u32 low;
77  __u32 high;
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 };
80 #define ATAG_REVISION 0x54410007
81 struct tag_revision {
82  __u32 rev;
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 };
85 #define ATAG_VIDEOLFB 0x54410008
86 struct tag_videolfb {
87  __u16 lfb_width;
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89  __u16 lfb_height;
90  __u16 lfb_depth;
91  __u16 lfb_linelength;
92  __u32 lfb_base;
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94  __u32 lfb_size;
95  __u8 red_size;
96  __u8 red_pos;
97  __u8 green_size;
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99  __u8 green_pos;
100  __u8 blue_size;
101  __u8 blue_pos;
102  __u8 rsvd_size;
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104  __u8 rsvd_pos;
105 };
106 #define ATAG_CMDLINE 0x54410009
107 struct tag_cmdline {
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109  char cmdline[1];
110 };
111 #define ATAG_ACORN 0x41000101
112 struct tag_acorn {
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114  __u32 memc_control_reg;
115  __u32 vram_pages;
116  __u8 sounddefault;
117  __u8 adfsdrives;
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119 };
120 #define ATAG_MEMCLK 0x41000402
121 struct tag_memclk {
122  __u32 fmemclk;
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124 };
125 struct tag {
126  struct tag_header hdr;
127  union {
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  struct tag_core core;
130  struct tag_mem32 mem;
131  struct tag_videotext videotext;
132  struct tag_ramdisk ramdisk;
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134  struct tag_initrd initrd;
135  struct tag_serialnr serialnr;
136  struct tag_revision revision;
137  struct tag_videolfb videolfb;
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139  struct tag_cmdline cmdline;
140  struct tag_acorn acorn;
141  struct tag_memclk memclk;
142  } u;
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144 };
145 struct tagtable {
146  __u32 tag;
147  int (*parse)(const struct tag *);
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 };
150 #define tag_member_present(tag,member)   ((unsigned long)(&((struct tag *)0L)->member + 1)   <= (tag)->hdr.size * 4)
151 #define tag_next(t) ((struct tag *)((__u32 *)(t) + (t)->hdr.size))
152 #define tag_size(type) ((sizeof(struct tag_header) + sizeof(struct type)) >> 2)
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154 #define for_each_tag(t,base)   for (t = base; t->hdr.size; t = tag_next(t))
155 #endif
156