Chameleon

Chameleon Svn Source Tree

Root/tags/2.0/i386/include/mach/ppc/sdt_isa.h

Source at commit 1733 created 12 years 6 months ago.
By blackosx, Use the result from an intitial check to find if the target volume has an EFI system partition, later on in the installation process before checking for previous Chameleon installations. Add some feedback to the installer log.
1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
7 * with the License.
8 *
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22/*
23 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27#ifndef _MACH_PPC_SDT_ISA_H
28#define_MACH_PPC_SDT_ISA_H
29
30/* #pragma ident"@(#)sdt.h1.705/06/08 SMI" */
31
32/*
33 * Only define when testing. This makes the calls into actual calls to
34 * test functions.
35 */
36/* #define DTRACE_CALL_TEST */
37
38#define DTRACE_STRINGIFY(s) #s
39#define DTRACE_TOSTRING(s) DTRACE_STRINGIFY(s)
40
41#define DTRACE_LABEL(p, n)\
42"__dtrace_probe$" DTRACE_TOSTRING(__LINE__) DTRACE_STRINGIFY(_##p##___##n) ":""\n\t"
43
44#ifdef DTRACE_CALL_TEST
45
46#define DTRACE_CALL(p,n)\
47DTRACE_LABEL(p,n)\
48DTRACE_CALL_INSN(p,n)
49
50#else/* !DTRACE_CALL_TEST */
51
52#define DTRACE_CALL(p,n)\
53DTRACE_LABEL(p,n)\
54DTRACE_NOPS
55
56#endif/* !DTRACE_CALL_TEST */
57
58#ifdef __ppc__
59
60#define DTRACE_NOPS\
61"nop""\n\t"
62
63#define DTRACE_CALL_INSN(p,n)\
64"bl _dtracetest" DTRACE_STRINGIFY(_##p##_##n)"\n\t"
65
66#define ARG1_EXTENT1
67#define ARGS2_EXTENT2
68#define ARGS3_EXTENT3
69#define ARGS4_EXTENT4
70#define ARGS5_EXTENT5
71#define ARGS6_EXTENT6
72#define ARGS7_EXTENT7
73#define ARGS8_EXTENT8
74#define ARGS9_EXTENT9
75#define ARGS10_EXTENT10
76
77#define DTRACE_CALL0ARGS(provider, name)\
78asm volatile (\
79 DTRACE_CALL(provider, name)\
80 "# eat trailing nl+tab from DTRACE_CALL"\
81 :\
82 :\
83);
84
85#define DTRACE_CALL1ARG(provider, name)\
86asm volatile ("subi r1,r1,0x20""\n\t"\
87 "lwz r3,0x0(%0)""\n\t"\
88 DTRACE_CALL(provider, name)\
89 "addi r1,r1,0x20"\
90 :\
91 : "b" (__dtrace_args)\
92 : "memory", "r3"\
93);
94
95#define DTRACE_CALL2ARGS(provider, name)\
96asm volatile ("subi r1,r1,0x20""\n\t"\
97 "lwz r3,0x0(%0)""\n\t"\
98 "lwz r4,0x4(%0)""\n\t"\
99 DTRACE_CALL(provider, name)\
100 "addi r1,r1,0x20"\
101 :\
102 : "b" (__dtrace_args)\
103 : "memory", "r3", "r4"\
104);
105
106#define DTRACE_CALL3ARGS(provider, name)\
107asm volatile ("subi r1,r1,0x30""\n\t"\
108 "lwz r3,0x0(%0)""\n\t"\
109 "lwz r4,0x4(%0)""\n\t"\
110 "lwz r5,0x8(%0)""\n\t"\
111 DTRACE_CALL(provider, name)\
112 "addi r1,r1,0x30"\
113 :\
114 : "b" (__dtrace_args)\
115 : "memory", "r3", "r4", "r5"\
116);
117
118#define DTRACE_CALL4ARGS(provider, name)\
119asm volatile ("subi r1,r1,0x30""\n\t"\
120 "lwz r3,0x0(%0)""\n\t"\
121 "lwz r4,0x4(%0)""\n\t"\
122 "lwz r5,0x8(%0)""\n\t"\
123 "lwz r6,0xc(%0)""\n\t"\
124 DTRACE_CALL(provider, name)\
125 "addi r1,r1,0x30"\
126 :\
127 : "b" (__dtrace_args)\
128 : "memory", "r3", "r4", "r5", "r6"\
129);
130
131#define DTRACE_CALL5ARGS(provider, name)\
132asm volatile ("subi r1,r1,0x30""\n\t"\
133 "lwz r3,0x0(%0)""\n\t"\
134 "lwz r4,0x4(%0)""\n\t"\
135 "lwz r5,0x8(%0)""\n\t"\
136 "lwz r6,0xc(%0)""\n\t"\
137 "lwz r7,0x10(%0)""\n\t"\
138 DTRACE_CALL(provider, name)\
139 "addi r1,r1,0x30"\
140 :\
141 : "b" (__dtrace_args)\
142 : "memory", "r3", "r4", "r5", "r6", "r7"\
143);
144
145#define DTRACE_CALL6ARGS(provider, name)\
146asm volatile ("subi r1,r1,0x30""\n\t"\
147 "lwz r3,0x0(%0)""\n\t"\
148 "lwz r4,0x4(%0)""\n\t"\
149 "lwz r5,0x8(%0)""\n\t"\
150 "lwz r6,0xc(%0)""\n\t"\
151 "lwz r7,0x10(%0)""\n\t"\
152 "lwz r8,0x14(%0)""\n\t"\
153 DTRACE_CALL(provider, name)\
154 "addi r1,r1,0x30"\
155 :\
156 : "b" (__dtrace_args)\
157 : "memory", "r3", "r4", "r5", "r6", "r7", "r8"\
158);
159
160#define DTRACE_CALL7ARGS(provider, name)\
161asm volatile ("subi r1,r1,0x40""\n\t"\
162 "lwz r3,0x0(%0)""\n\t"\
163 "lwz r4,0x4(%0)""\n\t"\
164 "lwz r5,0x8(%0)""\n\t"\
165 "lwz r6,0xc(%0)""\n\t"\
166 "lwz r7,0x10(%0)""\n\t"\
167 "lwz r8,0x14(%0)""\n\t"\
168 "lwz r9,0x18(%0)""\n\t"\
169 DTRACE_CALL(provider, name)\
170 "addi r1,r1,0x40"\
171 :\
172 : "b" (__dtrace_args)\
173 : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9"\
174);
175
176#define DTRACE_CALL8ARGS(provider, name)\
177asm volatile ("subi r1,r1,0x40""\n\t"\
178 "lwz r3,0x0(%0)""\n\t"\
179 "lwz r4,0x4(%0)""\n\t"\
180 "lwz r5,0x8(%0)""\n\t"\
181 "lwz r6,0xc(%0)""\n\t"\
182 "lwz r7,0x10(%0)""\n\t"\
183 "lwz r8,0x14(%0)""\n\t"\
184 "lwz r9,0x18(%0)""\n\t"\
185 "lwz r10,0x1c(%0)""\n\t"\
186 DTRACE_CALL(provider, name)\
187 "addi r1,r1,0x40"\
188 :\
189 : "b" (__dtrace_args)\
190 : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10"\
191);
192
193#define DTRACE_CALL9ARGS(provider, name)\
194asm volatile ("subi r1,r1,0x40""\n\t"\
195 "lwz r3,0x0(%0)""\n\t"\
196 "lwz r4,0x4(%0)""\n\t"\
197 "lwz r5,0x8(%0)""\n\t"\
198 "lwz r6,0xc(%0)""\n\t"\
199 "lwz r7,0x10(%0)""\n\t"\
200 "lwz r8,0x14(%0)""\n\t"\
201 "lwz r9,0x18(%0)""\n\t"\
202 "lwz r10,0x1c(%0)""\n\t"\
203 "lwz r11,0x20(%0)""\n\t"\
204 "stw r11,0x38(r1)""\n\t"\
205 DTRACE_CALL(provider, name)\
206 "addi r1,r1,0x40"\
207 :\
208 : "b" (__dtrace_args)\
209 : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11"\
210);
211
212#define DTRACE_CALL10ARGS(provider, name)\
213asm volatile ("subi r1,r1,0x40""\n\t"\
214 "lwz r3,0x0(%0)""\n\t"\
215 "lwz r4,0x4(%0)""\n\t"\
216 "lwz r5,0x8(%0)""\n\t"\
217 "lwz r6,0xc(%0)""\n\t"\
218 "lwz r7,0x10(%0)""\n\t"\
219 "lwz r8,0x14(%0)""\n\t"\
220 "lwz r9,0x18(%0)""\n\t"\
221 "lwz r10,0x1c(%0)""\n\t"\
222 "lwz r11,0x20(%0)""\n\t"\
223 "lwz r12,0x24(%0)""\n\t"\
224 "stw r11,0x38(r1)""\n\t"\
225 "stw r12,0x3c(r1)""\n\t"\
226 DTRACE_CALL(provider, name)\
227 "addi r1,r1,0x40"\
228 :\
229 : "b" (__dtrace_args)\
230 : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"\
231);
232
233#endif // __ppc__
234
235#ifdef __ppc64__
236
237#define DTRACE_NOPS\
238"nop""\n\t"
239
240#define DTRACE_CALL_INSN(p,n)\
241"bl _dtracetest" DTRACE_STRINGIFY(_##p##_##n)"\n\t"
242
243#define ARG1_EXTENT1
244#define ARGS2_EXTENT2
245#define ARGS3_EXTENT3
246#define ARGS4_EXTENT4
247#define ARGS5_EXTENT5
248#define ARGS6_EXTENT6
249#define ARGS7_EXTENT7
250#define ARGS8_EXTENT8
251#define ARGS9_EXTENT9
252#define ARGS10_EXTENT10
253
254#define DTRACE_CALL0ARGS(provider, name)\
255asm volatile ("subi r1,r1,0x30""\n\t"\
256 DTRACE_CALL(provider, name)\
257 "addi r1,r1,0x30"\
258 :\
259 :\
260 :\
261);
262
263#define DTRACE_CALL1ARG(provider, name)\
264asm volatile ("ld r3,0x0(%0)""\n\t"\
265 "subi r1,r1,0x38""\n\t"\
266 DTRACE_CALL(provider, name)\
267 "addi r1,r1,0x38"\
268 :\
269 : "b" (__dtrace_args)\
270 : "memory", "r3"\
271);
272
273#define DTRACE_CALL2ARGS(provider, name)\
274asm volatile ("subi r1,r1,0x40""\n\t"\
275 "ld r3,0x0(%0)""\n\t"\
276 "ld r4,0x8(%0)""\n\t"\
277 DTRACE_CALL(provider, name)\
278 "addi r1,r1,0x40"\
279 :\
280 : "b" (__dtrace_args)\
281 : "memory", "r3", "r4"\
282);
283
284#define DTRACE_CALL3ARGS(provider, name)\
285asm volatile ("subi r1,r1,0x48""\n\t"\
286 "ld r3,0x0(%0)""\n\t"\
287 "ld r4,0x8(%0)""\n\t"\
288 "ld r5,0x10(%0)""\n\t"\
289 DTRACE_CALL(provider, name)\
290 "addi r1,r1,0x48"\
291 :\
292 : "b" (__dtrace_args)\
293 : "memory", "r3", "r4", "r5"\
294);
295
296#define DTRACE_CALL4ARGS(provider, name)\
297asm volatile ("subi r1,r1,0x50""\n\t"\
298 "ld r3,0x0(%0)""\n\t"\
299 "ld r4,0x8(%0)""\n\t"\
300 "ld r5,0x10(%0)""\n\t"\
301 "ld r6,0x18(%0)""\n\t"\
302 DTRACE_CALL(provider, name)\
303 "addi r1,r1,0x50"\
304 :\
305 : "b" (__dtrace_args)\
306 : "memory", "r3", "r4", "r5", "r6"\
307);
308
309#define DTRACE_CALL5ARGS(provider, name)\
310asm volatile ("subi r1,r1,0x58""\n\t"\
311 "ld r3,0x0(%0)""\n\t"\
312 "ld r4,0x8(%0)""\n\t"\
313 "ld r5,0x10(%0)""\n\t"\
314 "ld r6,0x18(%0)""\n\t"\
315 "ld r7,0x20(%0)""\n\t"\
316 DTRACE_CALL(provider, name)\
317 "addi r1,r1,0x58"\
318 :\
319 : "b" (__dtrace_args)\
320 : "memory", "r3", "r4", "r5", "r6", "r7"\
321);
322
323#define DTRACE_CALL6ARGS(provider, name)\
324asm volatile ("subi r1,r1,0x60""\n\t"\
325 "ld r3,0x0(%0)""\n\t"\
326 "ld r4,0x8(%0)""\n\t"\
327 "ld r5,0x10(%0)""\n\t"\
328 "ld r6,0x18(%0)""\n\t"\
329 "ld r7,0x20(%0)""\n\t"\
330 "ld r8,0x28(%0)""\n\t"\
331 DTRACE_CALL(provider, name)\
332 "addi r1,r1,0x60"\
333 :\
334 : "b" (__dtrace_args)\
335 : "memory", "r3", "r4", "r5", "r6", "r7", "r8"\
336);
337
338#define DTRACE_CALL7ARGS(provider, name)\
339asm volatile ("subi r1,r1,0x68""\n\t"\
340 "ld r3,0x0(%0)""\n\t"\
341 "ld r4,0x8(%0)""\n\t"\
342 "ld r5,0x10(%0)""\n\t"\
343 "ld r6,0x18(%0)""\n\t"\
344 "ld r7,0x20(%0)""\n\t"\
345 "ld r8,0x28(%0)""\n\t"\
346 "ld r9,0x30(%0)""\n\t"\
347 DTRACE_CALL(provider, name)\
348 "addi r1,r1,0x68"\
349 :\
350 : "b" (__dtrace_args)\
351 : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9"\
352);
353
354#define DTRACE_CALL8ARGS(provider, name)\
355asm volatile ("subi r1,r1,0x70""\n\t"\
356 "ld r3,0x0(%0)""\n\t"\
357 "ld r4,0x8(%0)""\n\t"\
358 "ld r5,0x10(%0)""\n\t"\
359 "ld r6,0x18(%0)""\n\t"\
360 "ld r7,0x20(%0)""\n\t"\
361 "ld r8,0x28(%0)""\n\t"\
362 "ld r9,0x30(%0)""\n\t"\
363 "ld r10,0x38(%0)""\n\t"\
364 DTRACE_CALL(provider, name)\
365 "addi r1,r1,0x70"\
366 :\
367 : "b" (__dtrace_args)\
368 : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10"\
369);
370
371#define DTRACE_CALL9ARGS(provider, name)\
372asm volatile ("subi r1,r1,0x78""\n\t"\
373 "ld r3,0x0(%0)""\n\t"\
374 "ld r4,0x8(%0)""\n\t"\
375 "ld r5,0x10(%0)""\n\t"\
376 "ld r6,0x18(%0)""\n\t"\
377 "ld r7,0x20(%0)""\n\t"\
378 "ld r8,0x28(%0)""\n\t"\
379 "ld r9,0x30(%0)""\n\t"\
380 "ld r10,0x38(%0)""\n\t"\
381 "ld r11,0x40(%0)""\n\t"\
382 "std r11,0x70(r1)""\n\t"\
383 DTRACE_CALL(provider, name)\
384 "addi r1,r1,0x78"\
385 :\
386 : "b" (__dtrace_args)\
387 : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11"\
388);
389
390#define DTRACE_CALL10ARGS(provider, name)\
391asm volatile ("subi r1,r1,0x80""\n\t"\
392 "ld r3,0x0(%0)""\n\t"\
393 "ld r4,0x8(%0)""\n\t"\
394 "ld r5,0x10(%0)""\n\t"\
395 "ld r6,0x18(%0)""\n\t"\
396 "ld r7,0x20(%0)""\n\t"\
397 "ld r8,0x28(%0)""\n\t"\
398 "ld r9,0x30(%0)""\n\t"\
399 "ld r10,0x38(%0)""\n\t"\
400 "ld r11,0x40(%0)""\n\t"\
401 "ld r12,0x48(%0)""\n\t"\
402 "std r11,0x70(r1)""\n\t"\
403 "std r12,0x78(r1)""\n\t"\
404 DTRACE_CALL(provider, name)\
405 "addi r1,r1,0x80"\
406 :\
407 : "b" (__dtrace_args)\
408 : "memory", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12"\
409);
410
411#endif // __ppc64__
412
413#endif/* _MACH_PPC_SDT_ISA_H */
414

Archive Download this file

Revision: 1733