Home | History | Annotate | Download | only in asm
      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 #define ATAG_NONE 0x00000000
     24 struct tag_header {
     25   __u32 size;
     26   __u32 tag;
     27 };
     28 #define ATAG_CORE 0x54410001
     29 struct tag_core {
     30   __u32 flags;
     31   __u32 pagesize;
     32   __u32 rootdev;
     33 };
     34 #define ATAG_MEM 0x54410002
     35 struct tag_mem32 {
     36   __u32 size;
     37   __u32 start;
     38 };
     39 #define ATAG_VIDEOTEXT 0x54410003
     40 struct tag_videotext {
     41   __u8 x;
     42   __u8 y;
     43   __u16 video_page;
     44   __u8 video_mode;
     45   __u8 video_cols;
     46   __u16 video_ega_bx;
     47   __u8 video_lines;
     48   __u8 video_isvga;
     49   __u16 video_points;
     50 };
     51 #define ATAG_RAMDISK 0x54410004
     52 struct tag_ramdisk {
     53   __u32 flags;
     54   __u32 size;
     55   __u32 start;
     56 };
     57 #define ATAG_INITRD 0x54410005
     58 #define ATAG_INITRD2 0x54420005
     59 struct tag_initrd {
     60   __u32 start;
     61   __u32 size;
     62 };
     63 #define ATAG_SERIAL 0x54410006
     64 struct tag_serialnr {
     65   __u32 low;
     66   __u32 high;
     67 };
     68 #define ATAG_REVISION 0x54410007
     69 struct tag_revision {
     70   __u32 rev;
     71 };
     72 #define ATAG_VIDEOLFB 0x54410008
     73 struct tag_videolfb {
     74   __u16 lfb_width;
     75   __u16 lfb_height;
     76   __u16 lfb_depth;
     77   __u16 lfb_linelength;
     78   __u32 lfb_base;
     79   __u32 lfb_size;
     80   __u8 red_size;
     81   __u8 red_pos;
     82   __u8 green_size;
     83   __u8 green_pos;
     84   __u8 blue_size;
     85   __u8 blue_pos;
     86   __u8 rsvd_size;
     87   __u8 rsvd_pos;
     88 };
     89 #define ATAG_CMDLINE 0x54410009
     90 struct tag_cmdline {
     91   char cmdline[1];
     92 };
     93 #define ATAG_ACORN 0x41000101
     94 struct tag_acorn {
     95   __u32 memc_control_reg;
     96   __u32 vram_pages;
     97   __u8 sounddefault;
     98   __u8 adfsdrives;
     99 };
    100 #define ATAG_MEMCLK 0x41000402
    101 struct tag_memclk {
    102   __u32 fmemclk;
    103 };
    104 struct tag {
    105   struct tag_header hdr;
    106   union {
    107     struct tag_core core;
    108     struct tag_mem32 mem;
    109     struct tag_videotext videotext;
    110     struct tag_ramdisk ramdisk;
    111     struct tag_initrd initrd;
    112     struct tag_serialnr serialnr;
    113     struct tag_revision revision;
    114     struct tag_videolfb videolfb;
    115     struct tag_cmdline cmdline;
    116     struct tag_acorn acorn;
    117     struct tag_memclk memclk;
    118   } u;
    119 };
    120 struct tagtable {
    121   __u32 tag;
    122   int(* parse) (const struct tag *);
    123 };
    124 #define tag_member_present(tag,member) ((unsigned long) (& ((struct tag *) 0L)->member + 1) <= (tag)->hdr.size * 4)
    125 #define tag_next(t) ((struct tag *) ((__u32 *) (t) + (t)->hdr.size))
    126 #define tag_size(type) ((sizeof(struct tag_header) + sizeof(struct type)) >> 2)
    127 #define for_each_tag(t,base) for(t = base; t->hdr.size; t = tag_next(t))
    128 #endif
    129