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 (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 #include <sys/cpu_module.h>
28 #include <vm/page.h>
29 #include <vm/seg_map.h>
30
31 /*ARGSUSED*/
32 void
cpu_fiximp(struct cpu_node * cpunode)33 cpu_fiximp(struct cpu_node *cpunode)
34 {}
35
36 /*ARGSUSED*/
37 void
cpu_map_exec_units(struct cpu * cp)38 cpu_map_exec_units(struct cpu *cp)
39 {}
40
41 void
cpu_flush_ecache(void)42 cpu_flush_ecache(void)
43 {}
44
45 /*ARGSUSED*/
46 void
cpu_faulted_enter(struct cpu * cp)47 cpu_faulted_enter(struct cpu *cp)
48 {}
49
50 /*ARGSUSED*/
51 void
cpu_faulted_exit(struct cpu * cp)52 cpu_faulted_exit(struct cpu *cp)
53 {}
54
55 /*
56 * Ecache scrub operations
57 */
58 void
cpu_init_cache_scrub(void)59 cpu_init_cache_scrub(void)
60 {}
61
62 /* ARGSUSED */
63 void
prefetch_page_w(void * pp)64 prefetch_page_w(void *pp)
65 {
66 #define ECACHE_SUBBLOCKS_PER_PAGE 2
67 #define ECACHE_SUBBLOCK_SIZE_BYTES 64
68 #define ECACHE_PAGE_BYTE_MAX \
69 (ECACHE_SUBBLOCKS_PER_PAGE*ECACHE_SUBBLOCK_SIZE_BYTES+1)
70
71 /*
72 * The following line is intended to cause an error
73 * whenever the sun4u page_t grows beyond 128
74 * bytes.
75 *
76 * If you get an error here, you'll need to change
77 * the 'prefetch_page_w' assembly language code
78 * (see also prefetch_page_w prologue comment)
79 */
80 /*LINTED*/
81 volatile int garbage[ECACHE_PAGE_BYTE_MAX - sizeof (page_t)];
82 }
83
84 /* ARGSUSED */
85 void
prefetch_page_r(void * pp)86 prefetch_page_r(void *pp)
87 {
88 #define ECACHE_SUBBLOCKS_PER_PAGE 2
89 #define ECACHE_SUBBLOCK_SIZE_BYTES 64
90 #define ECACHE_PAGE_BYTE_MAX \
91 (ECACHE_SUBBLOCKS_PER_PAGE*ECACHE_SUBBLOCK_SIZE_BYTES+1)
92
93 /*
94 * The following line is intended to cause an error
95 * whenever the sun4u page_t grows beyond 128
96 * bytes.
97 *
98 * If you get an error here, you'll need to change
99 * the 'prefetch_page_r' assembly language code
100 * (see also prefetch_page_w prologue comment)
101 */
102 /*LINTED*/
103 volatile int garbage[ECACHE_PAGE_BYTE_MAX - sizeof (page_t)];
104 }
105
106
107 #ifdef SEGKPM_SUPPORT
108 #define SMAP_SIZE 80
109 #else
110 #define SMAP_SIZE 56
111 #endif
112
113 /* ARGSUSED */
114 void
prefetch_smap_w(void * smp)115 prefetch_smap_w(void *smp)
116 {
117
118 /*
119 * The following lines are intended to cause an error
120 * whenever the smap object size changes from the current
121 * size of 48 bytes. If you get an error here, you'll
122 * need to update the code in the 'prefetch_smap_w' assembly
123 * language code.
124 */
125 /*LINTED*/
126 volatile int smap_size_changed [SMAP_SIZE - sizeof (struct smap) + 1];
127 volatile int smap_size_changed2 [sizeof (struct smap) - SMAP_SIZE + 1];
128 }
129
130 void
kdi_flush_caches(void)131 kdi_flush_caches(void)
132 {}
133
134 /*ARGSUSED*/
135 int
kzero(void * addr,size_t count)136 kzero(void *addr, size_t count)
137 { return (0); }
138
139 /*ARGSUSED*/
140 void
uzero(void * addr,size_t count)141 uzero(void *addr, size_t count)
142 {}
143
144 /*ARGSUSED*/
145 void
bzero(void * addr,size_t count)146 bzero(void *addr, size_t count)
147 {}
148
149 /*ARGSUSED*/
150 void
cpu_inv_tsb(caddr_t tsb_base,uint_t tsb_bytes)151 cpu_inv_tsb(caddr_t tsb_base, uint_t tsb_bytes)
152 {}
153
154 /*
155 * Atomic Function Stubs
156 */
157
158 uint8_t
cas8(uint8_t * target,uint8_t value1,uint8_t value2)159 cas8(uint8_t *target, uint8_t value1, uint8_t value2)
160 { return (0); }
161
162 /* ARGSUSED */
163 uint32_t
cas32(uint32_t * target,uint32_t value1,uint32_t value2)164 cas32(uint32_t *target, uint32_t value1, uint32_t value2)
165 { return (0); }
166
167 /* ARGSUSED */
168 uint64_t
cas64(uint64_t * target,uint64_t value1,uint64_t value2)169 cas64(uint64_t *target, uint64_t value1, uint64_t value2)
170 { return (0); }
171
172 /* ARGSUSED */
173 ulong_t
caslong(ulong_t * target,ulong_t value1,ulong_t value2)174 caslong(ulong_t *target, ulong_t value1, ulong_t value2)
175 { return (0); }
176
177 /* ARGSUSED */
178 void *
casptr(void * ptr1,void * ptr2,void * ptr3)179 casptr(void *ptr1, void *ptr2, void *ptr3)
180 { return (0); }
181
182 /* ARGSUSED */
183 void
atomic_and_long(ulong_t * target,ulong_t value)184 atomic_and_long(ulong_t *target, ulong_t value)
185 {}
186
187 /* ARGSUSED */
188 void
atomic_or_long(ulong_t * target,ulong_t value)189 atomic_or_long(ulong_t *target, ulong_t value)
190 {}
191
192 /* ARGSUSED */
193 void
atomic_inc_8(volatile uint8_t * target)194 atomic_inc_8(volatile uint8_t *target)
195 {}
196
197 /* ARGSUSED */
198 void
atomic_inc_uchar(volatile uchar_t * target)199 atomic_inc_uchar(volatile uchar_t *target)
200 {}
201
202 /* ARGSUSED */
203 void
atomic_inc_16(volatile uint16_t * target)204 atomic_inc_16(volatile uint16_t *target)
205 {}
206
207 /* ARGSUSED */
208 void
atomic_inc_ushort(volatile ushort_t * target)209 atomic_inc_ushort(volatile ushort_t *target)
210 {}
211
212 /* ARGSUSED */
213 void
atomic_inc_32(volatile uint32_t * target)214 atomic_inc_32(volatile uint32_t *target)
215 {}
216
217 /* ARGSUSED */
218 void
atomic_inc_uint(volatile uint_t * target)219 atomic_inc_uint(volatile uint_t *target)
220 {}
221
222 /* ARGSUSED */
223 void
atomic_inc_ulong(volatile ulong_t * target)224 atomic_inc_ulong(volatile ulong_t *target)
225 {}
226
227 /* ARGSUSED */
228 void
atomic_inc_64(volatile uint64_t * target)229 atomic_inc_64(volatile uint64_t *target)
230 {}
231
232 /* ARGSUSED */
233 void
atomic_dec_8(volatile uint8_t * target)234 atomic_dec_8(volatile uint8_t *target)
235 {}
236
237 /* ARGSUSED */
238 void
atomic_dec_uchar(volatile uchar_t * target)239 atomic_dec_uchar(volatile uchar_t *target)
240 {}
241
242 /* ARGSUSED */
243 void
atomic_dec_16(volatile uint16_t * target)244 atomic_dec_16(volatile uint16_t *target)
245 {}
246
247 /* ARGSUSED */
248 void
atomic_dec_ushort(volatile ushort_t * target)249 atomic_dec_ushort(volatile ushort_t *target)
250 {}
251
252 /* ARGSUSED */
253 void
atomic_dec_32(volatile uint32_t * target)254 atomic_dec_32(volatile uint32_t *target)
255 {}
256
257 /* ARGSUSED */
258 void
atomic_dec_uint(volatile uint_t * target)259 atomic_dec_uint(volatile uint_t *target)
260 {}
261
262 /* ARGSUSED */
263 void
atomic_dec_ulong(volatile ulong_t * target)264 atomic_dec_ulong(volatile ulong_t *target)
265 {}
266
267 /* ARGSUSED */
268 void
atomic_dec_64(volatile uint64_t * target)269 atomic_dec_64(volatile uint64_t *target)
270 {}
271
272 /* ARGSUSED */
273 void
atomic_add_8(volatile uint8_t * target,int8_t value)274 atomic_add_8(volatile uint8_t *target, int8_t value)
275 {}
276
277 /* ARGSUSED */
278 void
atomic_add_char(volatile uchar_t * target,signed char value)279 atomic_add_char(volatile uchar_t *target, signed char value)
280 {}
281
282 /* ARGSUSED */
283 void
atomic_add_16(volatile uint16_t * target,int16_t delta)284 atomic_add_16(volatile uint16_t *target, int16_t delta)
285 {}
286
287 /* ARGSUSED */
288 void
atomic_add_ushort(volatile ushort_t * target,short value)289 atomic_add_ushort(volatile ushort_t *target, short value)
290 {}
291
292 /* ARGSUSED */
293 void
atomic_add_32(volatile uint32_t * target,int32_t delta)294 atomic_add_32(volatile uint32_t *target, int32_t delta)
295 {}
296
297 /* ARGSUSED */
298 void
atomic_add_ptr(volatile void * target,ssize_t value)299 atomic_add_ptr(volatile void *target, ssize_t value)
300 {}
301
302 /* ARGSUSED */
303 void
atomic_add_long(volatile ulong_t * target,long delta)304 atomic_add_long(volatile ulong_t *target, long delta)
305 {}
306
307 /* ARGSUSED */
308 void
atomic_add_64(volatile uint64_t * target,int64_t delta)309 atomic_add_64(volatile uint64_t *target, int64_t delta)
310 {}
311
312 /* ARGSUSED */
313 void
atomic_or_8(volatile uint8_t * target,uint8_t bits)314 atomic_or_8(volatile uint8_t *target, uint8_t bits)
315 {}
316
317 /* ARGSUSED */
318 void
atomic_or_uchar(volatile uchar_t * target,uchar_t bits)319 atomic_or_uchar(volatile uchar_t *target, uchar_t bits)
320 {}
321
322 /* ARGSUSED */
323 void
atomic_or_16(volatile uint16_t * target,uint16_t bits)324 atomic_or_16(volatile uint16_t *target, uint16_t bits)
325 {}
326
327 /* ARGSUSED */
328 void
atomic_or_ushort(volatile ushort_t * target,ushort_t bits)329 atomic_or_ushort(volatile ushort_t *target, ushort_t bits)
330 {}
331
332 /* ARGSUSED */
333 void
atomic_or_32(volatile uint32_t * target,uint32_t bits)334 atomic_or_32(volatile uint32_t *target, uint32_t bits)
335 {}
336
337 /* ARGSUSED */
338 void
atomic_or_uint(volatile uint_t * target,uint_t bits)339 atomic_or_uint(volatile uint_t *target, uint_t bits)
340 {}
341
342 /* ARGSUSED */
343 void
atomic_or_ulong(volatile ulong_t * target,ulong_t bits)344 atomic_or_ulong(volatile ulong_t *target, ulong_t bits)
345 {}
346
347 /* ARGSUSED */
348 void
atomic_or_64(volatile uint64_t * target,uint64_t bits)349 atomic_or_64(volatile uint64_t *target, uint64_t bits)
350 {}
351
352 /* ARGSUSED */
353 void
atomic_and_8(volatile uint8_t * target,uint8_t bits)354 atomic_and_8(volatile uint8_t *target, uint8_t bits)
355 {}
356
357 /* ARGSUSED */
358 void
atomic_and_uchar(volatile uchar_t * target,uchar_t bits)359 atomic_and_uchar(volatile uchar_t *target, uchar_t bits)
360 {}
361
362 /* ARGSUSED */
363 void
atomic_and_16(volatile uint16_t * target,uint16_t bits)364 atomic_and_16(volatile uint16_t *target, uint16_t bits)
365 {}
366
367 /* ARGSUSED */
368 void
atomic_and_ushort(volatile ushort_t * target,ushort_t bits)369 atomic_and_ushort(volatile ushort_t *target, ushort_t bits)
370 {}
371
372 /* ARGSUSED */
373 void
atomic_and_32(volatile uint32_t * target,uint32_t bits)374 atomic_and_32(volatile uint32_t *target, uint32_t bits)
375 {}
376
377 /* ARGSUSED */
378 void
atomic_and_uint(volatile uint_t * target,uint_t bits)379 atomic_and_uint(volatile uint_t *target, uint_t bits)
380 {}
381
382 /* ARGSUSED */
383 void
atomic_and_ulong(volatile ulong_t * target,ulong_t bits)384 atomic_and_ulong(volatile ulong_t *target, ulong_t bits)
385 {}
386
387 /* ARGSUSED */
388 void
atomic_and_64(volatile uint64_t * target,uint64_t bits)389 atomic_and_64(volatile uint64_t *target, uint64_t bits)
390 {}
391
392 /* ARGSUSED */
393 uint8_t
atomic_inc_8_nv(volatile uint8_t * target)394 atomic_inc_8_nv(volatile uint8_t *target)
395 { return (0); }
396
397 /* ARGSUSED */
398 uchar_t
atomic_inc_uchar_nv(volatile uchar_t * target)399 atomic_inc_uchar_nv(volatile uchar_t *target)
400 { return (0); }
401
402 /* ARGSUSED */
403 uint16_t
atomic_inc_16_nv(volatile uint16_t * target)404 atomic_inc_16_nv(volatile uint16_t *target)
405 { return (0); }
406
407 /* ARGSUSED */
408 ushort_t
atomic_inc_ushort_nv(volatile ushort_t * target)409 atomic_inc_ushort_nv(volatile ushort_t *target)
410 { return (0); }
411
412 /* ARGSUSED */
413 uint32_t
atomic_inc_32_nv(volatile uint32_t * target)414 atomic_inc_32_nv(volatile uint32_t *target)
415 { return (0); }
416
417 /* ARGSUSED */
418 uint_t
atomic_inc_uint_nv(volatile uint_t * target)419 atomic_inc_uint_nv(volatile uint_t *target)
420 { return (0); }
421
422 /* ARGSUSED */
423 ulong_t
atomic_inc_ulong_nv(volatile ulong_t * target)424 atomic_inc_ulong_nv(volatile ulong_t *target)
425 { return (0); }
426
427 /* ARGSUSED */
428 uint64_t
atomic_inc_64_nv(volatile uint64_t * target)429 atomic_inc_64_nv(volatile uint64_t *target)
430 { return (0); }
431
432 /* ARGSUSED */
433 uint8_t
atomic_dec_8_nv(volatile uint8_t * target)434 atomic_dec_8_nv(volatile uint8_t *target)
435 { return (0); }
436
437 /* ARGSUSED */
438 uchar_t
atomic_dec_uchar_nv(volatile uchar_t * target)439 atomic_dec_uchar_nv(volatile uchar_t *target)
440 { return (0); }
441
442 /* ARGSUSED */
443 uint16_t
atomic_dec_16_nv(volatile uint16_t * target)444 atomic_dec_16_nv(volatile uint16_t *target)
445 { return (0); }
446
447 /* ARGSUSED */
448 ushort_t
atomic_dec_ushort_nv(volatile ushort_t * target)449 atomic_dec_ushort_nv(volatile ushort_t *target)
450 { return (0); }
451
452 /* ARGSUSED */
453 uint32_t
atomic_dec_32_nv(volatile uint32_t * target)454 atomic_dec_32_nv(volatile uint32_t *target)
455 { return (0); }
456
457 /* ARGSUSED */
458 uint_t
atomic_dec_uint_nv(volatile uint_t * target)459 atomic_dec_uint_nv(volatile uint_t *target)
460 { return (0); }
461
462 /* ARGSUSED */
463 ulong_t
atomic_dec_ulong_nv(volatile ulong_t * target)464 atomic_dec_ulong_nv(volatile ulong_t *target)
465 { return (0); }
466
467 /* ARGSUSED */
468 uint64_t
atomic_dec_64_nv(volatile uint64_t * target)469 atomic_dec_64_nv(volatile uint64_t *target)
470 { return (0); }
471
472 /* ARGSUSED */
473 uint8_t
atomic_add_8_nv(volatile uint8_t * target,int8_t value)474 atomic_add_8_nv(volatile uint8_t *target, int8_t value)
475 { return (0); }
476
477 /* ARGSUSED */
478 uchar_t
atomic_add_char_nv(volatile uchar_t * target,signed char value)479 atomic_add_char_nv(volatile uchar_t *target, signed char value)
480 { return (0); }
481
482 /* ARGSUSED */
483 uint16_t
atomic_add_16_nv(volatile uint16_t * target,int16_t delta)484 atomic_add_16_nv(volatile uint16_t *target, int16_t delta)
485 { return (0); }
486
487 /* ARGSUSED */
488 ushort_t
atomic_add_short_nv(volatile ushort_t * target,short value)489 atomic_add_short_nv(volatile ushort_t *target, short value)
490 { return (0); }
491
492 /* ARGSUSED */
493 uint32_t
atomic_add_32_nv(volatile uint32_t * target,int32_t delta)494 atomic_add_32_nv(volatile uint32_t *target, int32_t delta)
495 { return (0); }
496
497 /* ARGSUSED */
498 uint_t
atomic_add_int_nv(volatile uint_t * target,int delta)499 atomic_add_int_nv(volatile uint_t *target, int delta)
500 { return (0); }
501
502 /* ARGSUSED */
503 void *
atomic_add_ptr_nv(volatile void * target,ssize_t value)504 atomic_add_ptr_nv(volatile void *target, ssize_t value)
505 { return (NULL); }
506
507 /* ARGSUSED */
508 ulong_t
atomic_add_long_nv(volatile ulong_t * target,long delta)509 atomic_add_long_nv(volatile ulong_t *target, long delta)
510 { return (0); }
511
512 /* ARGSUSED */
513 uint64_t
atomic_add_64_nv(volatile uint64_t * target,int64_t delta)514 atomic_add_64_nv(volatile uint64_t *target, int64_t delta)
515 { return (0); }
516
517 /* ARGSUSED */
518 uint8_t
atomic_or_8_nv(volatile uint8_t * target,uint8_t value)519 atomic_or_8_nv(volatile uint8_t *target, uint8_t value)
520 { return (0); }
521
522 /* ARGSUSED */
523 uchar_t
atomic_or_uchar_nv(volatile uchar_t * target,uchar_t value)524 atomic_or_uchar_nv(volatile uchar_t *target, uchar_t value)
525 { return (0); }
526
527 /* ARGSUSED */
528 uint16_t
atomic_or_16_nv(volatile uint16_t * target,uint16_t value)529 atomic_or_16_nv(volatile uint16_t *target, uint16_t value)
530 { return (0); }
531
532 /* ARGSUSED */
533 ushort_t
atomic_or_ushort_nv(volatile ushort_t * target,ushort_t value)534 atomic_or_ushort_nv(volatile ushort_t *target, ushort_t value)
535 { return (0); }
536
537 /* ARGSUSED */
538 uint32_t
atomic_or_32_nv(volatile uint32_t * target,uint32_t value)539 atomic_or_32_nv(volatile uint32_t *target, uint32_t value)
540 { return (0); }
541
542 /* ARGSUSED */
543 uint_t
atomic_or_uint_nv(volatile uint_t * target,uint_t value)544 atomic_or_uint_nv(volatile uint_t *target, uint_t value)
545 { return (0); }
546
547 /* ARGSUSED */
548 ulong_t
atomic_or_ulong_nv(volatile ulong_t * target,ulong_t value)549 atomic_or_ulong_nv(volatile ulong_t *target, ulong_t value)
550 { return (0); }
551
552 /* ARGSUSED */
553 uint64_t
atomic_or_64_nv(volatile uint64_t * target,uint64_t value)554 atomic_or_64_nv(volatile uint64_t *target, uint64_t value)
555 { return (0); }
556
557 /* ARGSUSED */
558 uint8_t
atomic_and_8_nv(volatile uint8_t * target,uint8_t value)559 atomic_and_8_nv(volatile uint8_t *target, uint8_t value)
560 { return (0); }
561
562 /* ARGSUSED */
563 uchar_t
atomic_and_uchar_nv(volatile uchar_t * target,uchar_t value)564 atomic_and_uchar_nv(volatile uchar_t *target, uchar_t value)
565 { return (0); }
566
567 /* ARGSUSED */
568 uint16_t
atomic_and_16_nv(volatile uint16_t * target,uint16_t value)569 atomic_and_16_nv(volatile uint16_t *target, uint16_t value)
570 { return (0); }
571
572 /* ARGSUSED */
573 ushort_t
atomic_and_ushort_nv(volatile ushort_t * target,ushort_t value)574 atomic_and_ushort_nv(volatile ushort_t *target, ushort_t value)
575 { return (0); }
576
577 /* ARGSUSED */
578 uint32_t
atomic_and_32_nv(volatile uint32_t * target,uint32_t value)579 atomic_and_32_nv(volatile uint32_t *target, uint32_t value)
580 { return (0); }
581
582 /* ARGSUSED */
583 uint_t
atomic_and_uint_nv(volatile uint_t * target,uint_t value)584 atomic_and_uint_nv(volatile uint_t *target, uint_t value)
585 { return (0); }
586
587 /* ARGSUSED */
588 ulong_t
atomic_and_ulong_nv(volatile ulong_t * target,ulong_t value)589 atomic_and_ulong_nv(volatile ulong_t *target, ulong_t value)
590 { return (0); }
591
592 /* ARGSUSED */
593 uint64_t
atomic_and_64_nv(volatile uint64_t * target,uint64_t value)594 atomic_and_64_nv(volatile uint64_t *target, uint64_t value)
595 { return (0); }
596
597 /* ARGSUSED */
598 uint8_t
atomic_cas_8(volatile uint8_t * target,uint8_t cmp,uint8_t new)599 atomic_cas_8(volatile uint8_t *target, uint8_t cmp, uint8_t new)
600 { return (0); }
601
602 /* ARGSUSED */
603 uchar_t
atomic_cas_uchar(volatile uchar_t * target,uchar_t cmp,uchar_t new)604 atomic_cas_uchar(volatile uchar_t *target, uchar_t cmp, uchar_t new)
605 { return (0); }
606
607 /* ARGSUSED */
608 uint16_t
atomic_cas_16(volatile uint16_t * target,uint16_t cmp,uint16_t new)609 atomic_cas_16(volatile uint16_t *target, uint16_t cmp, uint16_t new)
610 { return (0); }
611
612 /* ARGSUSED */
613 ushort_t
atomic_cas_ushort(volatile ushort_t * target,ushort_t cmp,ushort_t new)614 atomic_cas_ushort(volatile ushort_t *target, ushort_t cmp, ushort_t new)
615 { return (0); }
616
617 /* ARGSUSED */
618 uint32_t
atomic_cas_32(volatile uint32_t * target,uint32_t cmp,uint32_t new)619 atomic_cas_32(volatile uint32_t *target, uint32_t cmp, uint32_t new)
620 { return (0); }
621
622 /* ARGSUSED */
623 uint_t
atomic_cas_uint(volatile uint_t * target,uint_t cmp,uint_t new)624 atomic_cas_uint(volatile uint_t *target, uint_t cmp, uint_t new)
625 { return (0); }
626
627 /* ARGSUSED */
628 ulong_t
atomic_cas_ulong(volatile ulong_t * target,ulong_t cmp,ulong_t new)629 atomic_cas_ulong(volatile ulong_t *target, ulong_t cmp, ulong_t new)
630 { return (0); }
631
632 /* ARGSUSED */
633 uint64_t
atomic_cas_uint64(volatile uint64_t * target,ulong_t cmp,uint64_t new)634 atomic_cas_uint64(volatile uint64_t *target, ulong_t cmp, uint64_t new)
635 { return (0); }
636
637 /* ARGSUSED */
638 void *
atomic_cas_ptr(volatile void * target,void * cmp,void * new)639 atomic_cas_ptr(volatile void *target, void *cmp, void *new)
640 { return (NULL); }
641
642 /* ARGSUSED */
643 uint8_t
atomic_swap_8(volatile uint8_t * target,uint8_t new)644 atomic_swap_8(volatile uint8_t *target, uint8_t new)
645 { return (0); }
646
647 /* ARGSUSED */
648 uchar_t
atomic_swap_char(volatile uchar_t * target,uchar_t new)649 atomic_swap_char(volatile uchar_t *target, uchar_t new)
650 { return (0); }
651
652 /* ARGSUSED */
653 uint16_t
atomic_swap_16(volatile uint16_t * target,uint16_t new)654 atomic_swap_16(volatile uint16_t *target, uint16_t new)
655 { return (0); }
656
657 /* ARGSUSED */
658 ushort_t
atomic_swap_ushort(volatile ushort_t * target,ushort_t new)659 atomic_swap_ushort(volatile ushort_t *target, ushort_t new)
660 { return (0); }
661
662 /* ARGSUSED */
663 uint32_t
atomic_swap_32(volatile uint32_t * target,uint32_t new)664 atomic_swap_32(volatile uint32_t *target, uint32_t new)
665 { return (0); }
666
667 /* ARGSUSED */
668 uint_t
atomic_swap_uint(volatile uint_t * target,uint_t new)669 atomic_swap_uint(volatile uint_t *target, uint_t new)
670 { return (0); }
671
672 /* ARGSUSED */
673 uint64_t
atomic_swap_64(volatile uint64_t * target,uint64_t new)674 atomic_swap_64(volatile uint64_t *target, uint64_t new)
675 { return (0); }
676
677 /* ARGSUSED */
678 void *
atomic_swap_ptr(volatile void * target,void * new)679 atomic_swap_ptr(volatile void *target, void *new)
680 { return (NULL); }
681
682 /* ARGSUSED */
683 ulong_t
atomic_swap_ulong(volatile ulong_t * target,ulong_t new)684 atomic_swap_ulong(volatile ulong_t *target, ulong_t new)
685 { return (0); }
686
687 /* ARGSUSED */
688 int
atomic_set_long_excl(volatile ulong_t * target,uint_t value)689 atomic_set_long_excl(volatile ulong_t *target, uint_t value)
690 { return (0); }
691
692 /* ARGSUSED */
693 int
atomic_clear_long_excl(volatile ulong_t * target,uint_t value)694 atomic_clear_long_excl(volatile ulong_t *target, uint_t value)
695 { return (0); }
696
697 void
fp_zero(void)698 fp_zero(void)
699 {}
700
701 uint64_t
gettick_npt(void)702 gettick_npt(void)
703 { return (0); }
704
705 uint64_t
getstick_npt(void)706 getstick_npt(void)
707 { return (0); }
708