You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
3.3 KiB
129 lines
3.3 KiB
/****************************************************************************
|
|
****************************************************************************
|
|
***
|
|
*** This header was automatically generated from a Linux kernel header
|
|
*** of the same name, to make information necessary for userspace to
|
|
*** call into the kernel available to libc. It contains only constants,
|
|
*** structures, and macros generated from the original header, and thus,
|
|
*** contains no copyrightable information.
|
|
***
|
|
*** To edit the content of this header, modify the corresponding
|
|
*** source file (e.g. under external/kernel-headers/original/) then
|
|
*** run bionic/libc/kernel/tools/update_all.py
|
|
***
|
|
*** Any manual change here will be lost the next time this script will
|
|
*** be run. You've been warned!
|
|
***
|
|
****************************************************************************
|
|
****************************************************************************/
|
|
#ifndef _UAPI__ASMARM_SETUP_H
|
|
#define _UAPI__ASMARM_SETUP_H
|
|
#include <linux/types.h>
|
|
#define COMMAND_LINE_SIZE 2048
|
|
#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
|