Root/
Source at commit 1548 created 12 years 10 months ago. By blackosx, Added detection for FAT format created by Lion's Disk Utility. Enhanced install 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.h␉1.7␉05/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)␉\␊ |
47 | ␉DTRACE_LABEL(p,n)␉\␊ |
48 | ␉DTRACE_CALL_INSN(p,n)␊ |
49 | ␊ |
50 | #else␉/* !DTRACE_CALL_TEST */␊ |
51 | ␊ |
52 | #define DTRACE_CALL(p,n)␉\␊ |
53 | ␉DTRACE_LABEL(p,n)␉\␊ |
54 | ␉DTRACE_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_EXTENT␉1␊ |
67 | #define ARGS2_EXTENT␉2␊ |
68 | #define ARGS3_EXTENT␉3␊ |
69 | #define ARGS4_EXTENT␉4␊ |
70 | #define ARGS5_EXTENT␉5␊ |
71 | #define ARGS6_EXTENT␉6␊ |
72 | #define ARGS7_EXTENT␉7␊ |
73 | #define ARGS8_EXTENT␉8␊ |
74 | #define ARGS9_EXTENT␉9␊ |
75 | #define ARGS10_EXTENT␉10␉␊ |
76 | ␊ |
77 | #define DTRACE_CALL0ARGS(provider, name)␉␉␉␉␉␉␉\␊ |
78 | ␉asm volatile (␉␉␉␉␉␉␉␉␉␉\␊ |
79 | ␉ DTRACE_CALL(provider, name)␉␉␉␉␉␉\␊ |
80 | ␉ "# eat trailing nl+tab from DTRACE_CALL"␉␉␉␉␉\␊ |
81 | ␉ :␉␉␉␉␉␉␉␉␉␉\␊ |
82 | ␉ :␉␉␉␉␉␉␉␉␉␉\␊ |
83 | ␉);␊ |
84 | ␊ |
85 | #define DTRACE_CALL1ARG(provider, name)␉␉␉␉␉␉␉␉\␊ |
86 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
96 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
107 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
119 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
132 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
146 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
161 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
177 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
194 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
213 | ␉asm 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_EXTENT␉1␊ |
244 | #define ARGS2_EXTENT␉2␊ |
245 | #define ARGS3_EXTENT␉3␊ |
246 | #define ARGS4_EXTENT␉4␊ |
247 | #define ARGS5_EXTENT␉5␊ |
248 | #define ARGS6_EXTENT␉6␊ |
249 | #define ARGS7_EXTENT␉7␊ |
250 | #define ARGS8_EXTENT␉8␊ |
251 | #define ARGS9_EXTENT␉9␊ |
252 | #define ARGS10_EXTENT␉10␉␊ |
253 | ␊ |
254 | #define DTRACE_CALL0ARGS(provider, name)␉␉␉␉␉␉␉\␊ |
255 | ␉asm 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)␉␉␉␉␉␉␉␉\␊ |
264 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
274 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
285 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
297 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
310 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
324 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
339 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
355 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
372 | ␉asm 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)␉␉␉␉␉␉␉\␊ |
391 | ␉asm 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 |