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