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

