Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  setup.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
 *  linux/include/asm/setup.h
 *
 *  Copyright (C) 1997-1999 Russell King
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 *  Structure passed to kernel to tell it about the
 *  hardware it's running on.  See Documentation/arch/arm/setup.rst
 *  for more info.
 */

#ifndef _UAPI__ASMARM_SETUP_H
#define _UAPI__ASMARM_SETUP_H

#include <linux/types.h>

#define COMMAND_LINE_SIZE 1024

/* The list ends with an ATAG_NONE node. */
#define ATAG_NONE 0x00000000

struct tag_header {
 __u32 size;
 __u32 tag;
};

/* The list must start with an ATAG_CORE node */
#define ATAG_CORE 0x54410001

struct tag_core {
 __u32 flags;  /* bit 0 = read-only */
 __u32 pagesize;
 __u32 rootdev;
};

/* it is allowed to have multiple ATAG_MEM nodes */
#define ATAG_MEM 0x54410002

struct tag_mem32 {
 __u32 size;
 __u32 start; /* physical start address */
};

/* VGA text type displays */
#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;
};

/* describes how the ramdisk will be used in kernel */
#define ATAG_RAMDISK 0x54410004

struct tag_ramdisk {
 __u32 flags; /* bit 0 = load, bit 1 = prompt */
 __u32 size; /* decompressed ramdisk size in _kilo_ bytes */
 __u32 start; /* starting block of floppy-based RAM disk image */
};

/* describes where the compressed ramdisk image lives (virtual address) */
/*
 * this one accidentally used virtual addresses - as such,
 * it's deprecated.
 */

#define ATAG_INITRD 0x54410005

/* describes where the compressed ramdisk image lives (physical address) */
#define ATAG_INITRD2 0x54420005

struct tag_initrd {
 __u32 start; /* physical start address */
 __u32 size; /* size of compressed ramdisk image in bytes */
};

/* board serial number. "64 bits should be enough for everybody" */
#define ATAG_SERIAL 0x54410006

struct tag_serialnr {
 __u32 low;
 __u32 high;
};

/* board revision */
#define ATAG_REVISION 0x54410007

struct tag_revision {
 __u32 rev;
};

/* initial values for vesafb-type framebuffers. see struct screen_info
 * in include/linux/tty.h
 */

#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;
};

/* command line: \0 terminated string */
#define ATAG_CMDLINE 0x54410009

struct tag_cmdline {
 char cmdline[1]; /* this is the minimum size */
};

/* acorn RiscPC specific information */
#define ATAG_ACORN 0x41000101

struct tag_acorn {
 __u32 memc_control_reg;
 __u32 vram_pages;
 __u8 sounddefault;
 __u8 adfsdrives;
};

/* footbridge memory clock, see arch/arm/mach-footbridge/arch.c */
#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;

  /*
 * Acorn specific
 */

  struct tag_acorn acorn;

  /*
 * DC21285 specific
 */

  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 /* _UAPI__ASMARM_SETUP_H */

Messung V0.5
C=87 H=95 G=90

¤ Dauer der Verarbeitung: 0.4 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge