| /* | |
| * This file is auto-generated. Modifications will be lost. | |
| * | |
| * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ | |
| * for more information. | |
| */ | |
| #ifndef _UAPI__ASMARM_SETUP_H | |
| #define _UAPI__ASMARM_SETUP_H | |
| #include <linux/types.h> | |
| #define COMMAND_LINE_SIZE 1024 | |
| #define ATAG_NONE 0x00000000 | |
| struct tag_header { | |
| __u32 size; | |
| __u32 tag; | |
| }; | |
| #define ATAG_CORE 0x54410001 | |
| struct tag_core { | |
| __u32 flags; | |
| __u32 pagesize; | |
| __u32 rootdev; | |
| }; | |
| #define ATAG_MEM 0x54410002 | |
| struct tag_mem32 { | |
| __u32 size; | |
| __u32 start; | |
| }; | |
| #define ATAG_VIDEOTEXT 0x54410003 | |
| struct tag_videotext { | |
| __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; | |
| }; | |
| #define ATAG_RAMDISK 0x54410004 | |
| struct tag_ramdisk { | |
| __u32 flags; | |
| __u32 size; | |
| __u32 start; | |
| }; | |
| #define ATAG_INITRD 0x54410005 | |
| #define ATAG_INITRD2 0x54420005 | |
| struct tag_initrd { | |
| __u32 start; | |
| __u32 size; | |
| }; | |
| #define ATAG_SERIAL 0x54410006 | |
| struct tag_serialnr { | |
| __u32 low; | |
| __u32 high; | |
| }; | |
| #define ATAG_REVISION 0x54410007 | |
| struct tag_revision { | |
| __u32 rev; | |
| }; | |
| #define ATAG_VIDEOLFB 0x54410008 | |
| struct tag_videolfb { | |
| __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; | |
| }; | |
| #define ATAG_CMDLINE 0x54410009 | |
| struct tag_cmdline { | |
| char cmdline[1]; | |
| }; | |
| #define ATAG_ACORN 0x41000101 | |
| struct tag_acorn { | |
| __u32 memc_control_reg; | |
| __u32 vram_pages; | |
| __u8 sounddefault; | |
| __u8 adfsdrives; | |
| }; | |
| #define ATAG_MEMCLK 0x41000402 | |
| struct tag_memclk { | |
| __u32 fmemclk; | |
| }; | |
| 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; | |
| struct tag_acorn acorn; | |
| struct tag_memclk memclk; | |
| } u; | |
| }; | |
| struct tagtable { | |
| __u32 tag; | |
| int(* parse) (const struct tag *); | |
| }; | |
| #define tag_member_present(tag,member) ((unsigned long) (& ((struct tag *) 0L)->member + 1) <= (tag)->hdr.size * 4) | |
| #define tag_next(t) ((struct tag *) ((__u32 *) (t) + (t)->hdr.size)) | |
| #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)) | |
| #endif |