]>
Commit | Line | Data |
---|---|---|
04fee52e A |
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 | * boot_args.h - Data stuctures for the information passed to the kernel. | |
24 | * | |
25 | * Copyright (c) 1998-2000 Apple Computer, Inc. | |
26 | * | |
27 | * DRI: Josh de Cesare | |
28 | */ | |
29 | ||
30 | #ifndef _BOOTX_BOOT_ARGS_H_ | |
31 | #define _BOOTX_BOOT_ARGS_H_ | |
32 | ||
33 | // Video information.. | |
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 | typedef struct Boot_Video Boot_Video, *Boot_Video_Ptr; | |
44 | ||
45 | ||
46 | // DRAM Bank definitions - describes physical memory layout. | |
47 | #define kMaxDRAMBanks (26) /* maximum number of DRAM banks */ | |
48 | ||
49 | struct DRAMBank { | |
50 | unsigned long base; /* physical base of DRAM bank */ | |
51 | unsigned long size; /* size of bank */ | |
52 | }; | |
53 | typedef struct DRAMBank DRAMBank, *DRAMBankPtr; | |
54 | ||
55 | ||
56 | // Boot argument structure - passed into kernel at boot time. | |
57 | ||
58 | #define kBootArgsRevision (1) | |
59 | #define kBootArgsVersion (1) | |
60 | ||
61 | #define BOOT_LINE_LENGTH (256) | |
62 | ||
63 | 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/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; /* Last address of kernel data area*/ | |
73 | }; | |
74 | typedef struct boot_args boot_args, *boot_args_ptr; | |
75 | ||
76 | #endif /* ! _BOOTX_BOOT_ARGS_H_ */ |