darwin-xnu/pexpert/pexpert/ppc/boot.h
<<
>>
Prefs
   1/*
   2 * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
   3 *
   4 * @APPLE_LICENSE_HEADER_START@
   5 * 
   6 * The contents of this file constitute Original Code as defined in and
   7 * are subject to the Apple Public Source License Version 1.1 (the
   8 * "License").  You may not use this file except in compliance with the
   9 * License.  Please obtain a copy of the License at
  10 * http://www.apple.com/publicsource and read it before using this file.
  11 * 
  12 * This Original Code and all software distributed under the License are
  13 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  14 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  15 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  16 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
  17 * License for the specific language governing rights and limitations
  18 * under the License.
  19 * 
  20 * @APPLE_LICENSE_HEADER_END@
  21 */
  22/*
  23 * @OSF_COPYRIGHT@
  24 */
  25
  26#ifndef _PEXPERT_PPC_BOOT_H_
  27#define _PEXPERT_PPC_BOOT_H_
  28
  29#define BOOT_LINE_LENGTH        256
  30
  31/*
  32 * Video information.. 
  33 */
  34
  35struct Boot_Video {
  36        unsigned long   v_baseAddr;     /* Base address of video memory */
  37        unsigned long   v_display;      /* Display Code (if Applicable */
  38        unsigned long   v_rowBytes;     /* Number of bytes per pixel row */
  39        unsigned long   v_width;        /* Width */
  40        unsigned long   v_height;       /* Height */
  41        unsigned long   v_depth;        /* Pixel Depth */
  42};
  43
  44typedef struct Boot_Video       Boot_Video;
  45
  46/* DRAM Bank definitions - describes physical memory layout.
  47 */
  48#define kMaxDRAMBanks   26              /* maximum number of DRAM banks */
  49
  50struct DRAMBank
  51{
  52        unsigned long   base;           /* physical base of DRAM bank */
  53        unsigned long   size;           /* size of bank */
  54};
  55typedef struct DRAMBank DRAMBank;
  56
  57
  58/* Boot argument structure - passed into Mach kernel at boot time.
  59 */
  60#define kBootArgsRevision               1
  61#define kBootArgsVersion1               1
  62#define kBootArgsVersion2               2
  63
  64typedef struct boot_args {
  65  unsigned short        Revision;       /* Revision of boot_args structure */
  66  unsigned short        Version;        /* Version of boot_args structure */
  67  char          CommandLine[BOOT_LINE_LENGTH];  /* Passed in command line */
  68  DRAMBank      PhysicalDRAM[kMaxDRAMBanks];    /* base and range pairs for the 26 DRAM banks */
  69  Boot_Video    Video;          /* Video Information */
  70    unsigned long       machineType;    /* Machine Type (gestalt) */
  71    void                *deviceTreeP;   /* Base of flattened device tree */
  72    unsigned long       deviceTreeLength;/* Length of flattened tree */
  73    unsigned long       topOfKernelData;/* Highest address used in kernel data area */
  74} boot_args;
  75
  76extern boot_args passed_args;
  77
  78#endif /* _PEXPERT_PPC_BOOT_H_ */
  79
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.