Root/
Source at commit 1084 created 13 years 1 month ago. By meklort, BiosDisk Read() function working. Write() complete but untested | |
---|---|
1 | /*␊ |
2 | * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.␊ |
3 | *␊ |
4 | * @APPLE_OSREFERENCE_LICENSE_HEADER_START@␊ |
5 | * ␊ |
6 | * This file contains Original Code and/or Modifications of Original Code␊ |
7 | * as defined in and that are subject to the Apple Public Source License␊ |
8 | * Version 2.0 (the 'License'). You may not use this file except in␊ |
9 | * compliance with the License. The rights granted to you under the License␊ |
10 | * may not be used to create, or enable the creation or redistribution of,␊ |
11 | * unlawful or unlicensed copies of an Apple operating system, or to␊ |
12 | * circumvent, violate, or enable the circumvention or violation of, any␊ |
13 | * terms of an Apple operating system software license agreement.␊ |
14 | * ␊ |
15 | * Please obtain a copy of the License at␊ |
16 | * http://www.opensource.apple.com/apsl/ and read it before using this file.␊ |
17 | * ␊ |
18 | * The Original Code and all software distributed under the License are␊ |
19 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER␊ |
20 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,␊ |
21 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,␊ |
22 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.␊ |
23 | * Please see the License for the specific language governing rights and␊ |
24 | * limitations under the License.␊ |
25 | * ␊ |
26 | * @APPLE_OSREFERENCE_LICENSE_HEADER_END@␊ |
27 | */␊ |
28 | /*␊ |
29 | * @OSF_COPYRIGHT@␊ |
30 | */␊ |
31 | /* ␊ |
32 | * Mach Operating System␊ |
33 | * Copyright (c) 1991,1990,1989,1988 Carnegie Mellon University␊ |
34 | * All Rights Reserved.␊ |
35 | * ␊ |
36 | * Permission to use, copy, modify and distribute this software and its␊ |
37 | * documentation is hereby granted, provided that both the copyright␊ |
38 | * notice and this permission notice appear in all copies of the␊ |
39 | * software, derivative works or modified versions, and any portions␊ |
40 | * thereof, and that both notices appear in supporting documentation.␊ |
41 | * ␊ |
42 | * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"␊ |
43 | * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR␊ |
44 | * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.␊ |
45 | * ␊ |
46 | * Carnegie Mellon requests users of this software to return to␊ |
47 | * ␊ |
48 | * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU␊ |
49 | * School of Computer Science␊ |
50 | * Carnegie Mellon University␊ |
51 | * Pittsburgh PA 15213-3890␊ |
52 | * ␊ |
53 | * any improvements or extensions that they make and grant Carnegie Mellon␊ |
54 | * the rights to redistribute these changes.␊ |
55 | */␊ |
56 | /*␊ |
57 | */␊ |
58 | ␊ |
59 | /*␊ |
60 | *␉File:␉vm_types.h␊ |
61 | *␉Author:␉Avadis Tevanian, Jr.␊ |
62 | *␉Date: 1985␊ |
63 | *␊ |
64 | *␉Header file for VM data types. PPC version.␊ |
65 | */␊ |
66 | ␊ |
67 | #ifndef␉_MACH_PPC_VM_TYPES_H_␊ |
68 | #define _MACH_PPC_VM_TYPES_H_␊ |
69 | ␊ |
70 | #ifndef␉ASSEMBLER␊ |
71 | ␊ |
72 | #include <ppc/_types.h>␊ |
73 | #include <mach/ppc/vm_param.h>␊ |
74 | #include <stdint.h>␊ |
75 | ␊ |
76 | /*␊ |
77 | * natural_t and integer_t are Mach's legacy types for machine-␊ |
78 | * independent integer types (unsigned, and signed, respectively).␊ |
79 | * Their original purpose was to define other types in a machine/␊ |
80 | * compiler independent way.␊ |
81 | *␊ |
82 | * They also had an implicit "same size as pointer" characteristic␊ |
83 | * to them (i.e. Mach's traditional types are very ILP32 or ILP64␊ |
84 | * centric). We support PowerPC ABIs that do not follow either of␊ |
85 | * these models (specifically LP64). Therefore, we had to make a␊ |
86 | * choice between making these types scale with pointers or stay␊ |
87 | * tied to integers. Because their use is predominantly tied to␊ |
88 | * to the size of an integer, we are keeping that association and␊ |
89 | * breaking free from pointer size guarantees.␊ |
90 | *␊ |
91 | * New use of these types is discouraged.␊ |
92 | */␊ |
93 | typedef __darwin_natural_t␉natural_t;␊ |
94 | typedef int␉␉␉integer_t;␊ |
95 | ␊ |
96 | #if defined(__ppc__)␊ |
97 | ␊ |
98 | /*␊ |
99 | * For 32-bit PowerPC ABIs, the scalable types were␊ |
100 | * always based upon natural_t (unsigned int). ␊ |
101 | * Because of potential legacy issues with name mangling,␊ |
102 | * we cannot use the stdint uintptr_t type.␊ |
103 | */␊ |
104 | typedef␉natural_t␉␉vm_offset_t;␊ |
105 | typedef␉natural_t␉␉vm_size_t;␊ |
106 | ␊ |
107 | #else /* __ppc64__ */␊ |
108 | ␊ |
109 | /*␊ |
110 | * For 64-bit PowerPC ABIs, we have no legacy name mangling␊ |
111 | * issues, so we use the stdint types for scaling these␊ |
112 | * types to the same size as a pointer.␊ |
113 | */␊ |
114 | typedef␉uintptr_t␉␉vm_offset_t;␊ |
115 | typedef uintptr_t␉␉vm_size_t;␊ |
116 | ␊ |
117 | #endif ␊ |
118 | ␊ |
119 | /*␊ |
120 | * This new type is independent of a particular vm map's␊ |
121 | * implementation size - and represents appropriate types␊ |
122 | * for all possible maps. This is used for interfaces␊ |
123 | * where the size of the map is not known - or we don't␊ |
124 | * want to have to distinguish.␊ |
125 | */␊ |
126 | typedef uint64_t␉␉mach_vm_address_t;␊ |
127 | typedef uint64_t␉␉mach_vm_offset_t;␊ |
128 | typedef uint64_t␉␉mach_vm_size_t;␊ |
129 | ␊ |
130 | typedef uint64_t␉␉vm_map_offset_t;␊ |
131 | typedef uint64_t␉␉vm_map_address_t;␊ |
132 | typedef uint64_t␉␉vm_map_size_t;␊ |
133 | ␊ |
134 | ␊ |
135 | #endif␉/* ASSEMBLER */␊ |
136 | ␊ |
137 | /*␊ |
138 | * If composing messages by hand (please do not)␊ |
139 | */␊ |
140 | #define␉MACH_MSG_TYPE_INTEGER_T␉MACH_MSG_TYPE_INTEGER_32␊ |
141 | ␊ |
142 | #endif␉/* _MACH_PPC_VM_TYPES_H_ */␊ |
143 |