]> git.saurik.com Git - apple/xnu.git/blob - pexpert/pexpert/ppc/boot.h
0c74f8eb683a2ed7162fed5d66912f09ba26a675
[apple/xnu.git] / pexpert / pexpert / ppc / boot.h
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
35 struct 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
44 typedef 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
50 struct DRAMBank
51 {
52 unsigned long base; /* physical base of DRAM bank */
53 unsigned long size; /* size of bank */
54 };
55 typedef struct DRAMBank DRAMBank;
56
57
58 /* Boot argument structure - passed into Mach kernel at boot time.
59 */
60 #define kBootArgsVersion 1
61 #define kBootArgsRevision 1
62
63 typedef struct boot_args {
64 unsigned short Revision; /* Revision of boot_args structure */
65 unsigned short Version; /* Version of boot_args structure */
66 char CommandLine[BOOT_LINE_LENGTH]; /* Passed in command line */
67 DRAMBank PhysicalDRAM[kMaxDRAMBanks]; /* base and range pairs for the 26 DRAM banks */
68 Boot_Video Video; /* Video Information */
69 unsigned long machineType; /* Machine Type (gestalt) */
70 void *deviceTreeP; /* Base of flattened device tree */
71 unsigned long deviceTreeLength;/* Length of flattened tree */
72 unsigned long topOfKernelData;/* Highest address used in kernel data area */
73 } boot_args;
74
75 extern boot_args passed_args;
76
77 #endif /* _PEXPERT_PPC_BOOT_H_ */