17c478bd9Sstevel@tonic-gate /*
27c478bd9Sstevel@tonic-gate  * CDDL HEADER START
37c478bd9Sstevel@tonic-gate  *
47c478bd9Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
57bafd143Sjb145095  * Common Development and Distribution License (the "License").
67bafd143Sjb145095  * You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate  *
87c478bd9Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate  * See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate  * and limitations under the License.
127c478bd9Sstevel@tonic-gate  *
137c478bd9Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate  *
197c478bd9Sstevel@tonic-gate  * CDDL HEADER END
207c478bd9Sstevel@tonic-gate  */
21459190a5Srsmaeda 
227c478bd9Sstevel@tonic-gate /*
23023e71deSHaik Aftandilian  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
247c478bd9Sstevel@tonic-gate  * Use is subject to license terms.
257c478bd9Sstevel@tonic-gate  */
267c478bd9Sstevel@tonic-gate 
277c478bd9Sstevel@tonic-gate #include <sys/cpu_module.h>
287c478bd9Sstevel@tonic-gate #include <vm/page.h>
297c478bd9Sstevel@tonic-gate #include <vm/seg_map.h>
307c478bd9Sstevel@tonic-gate 
31459190a5Srsmaeda /*ARGSUSED*/
327c478bd9Sstevel@tonic-gate void
cpu_fiximp(struct cpu_node * cpunode)337c478bd9Sstevel@tonic-gate cpu_fiximp(struct cpu_node *cpunode)
347c478bd9Sstevel@tonic-gate {}
357c478bd9Sstevel@tonic-gate 
36459190a5Srsmaeda /*ARGSUSED*/
37459190a5Srsmaeda void
cpu_map_exec_units(struct cpu * cp)38459190a5Srsmaeda cpu_map_exec_units(struct cpu *cp)
39459190a5Srsmaeda {}
40459190a5Srsmaeda 
417c478bd9Sstevel@tonic-gate void
cpu_flush_ecache(void)427c478bd9Sstevel@tonic-gate cpu_flush_ecache(void)
437c478bd9Sstevel@tonic-gate {}
447c478bd9Sstevel@tonic-gate 
457c478bd9Sstevel@tonic-gate /*ARGSUSED*/
467c478bd9Sstevel@tonic-gate void
cpu_faulted_enter(struct cpu * cp)477c478bd9Sstevel@tonic-gate cpu_faulted_enter(struct cpu *cp)
487c478bd9Sstevel@tonic-gate {}
497c478bd9Sstevel@tonic-gate 
507c478bd9Sstevel@tonic-gate /*ARGSUSED*/
517c478bd9Sstevel@tonic-gate void
cpu_faulted_exit(struct cpu * cp)527c478bd9Sstevel@tonic-gate cpu_faulted_exit(struct cpu *cp)
537c478bd9Sstevel@tonic-gate {}
547c478bd9Sstevel@tonic-gate 
557c478bd9Sstevel@tonic-gate /*
567c478bd9Sstevel@tonic-gate  * Ecache scrub operations
577c478bd9Sstevel@tonic-gate  */
587c478bd9Sstevel@tonic-gate void
cpu_init_cache_scrub(void)597c478bd9Sstevel@tonic-gate cpu_init_cache_scrub(void)
607c478bd9Sstevel@tonic-gate {}
617c478bd9Sstevel@tonic-gate 
627c478bd9Sstevel@tonic-gate /* ARGSUSED */
637c478bd9Sstevel@tonic-gate void
prefetch_page_w(void * pp)647c478bd9Sstevel@tonic-gate prefetch_page_w(void *pp)
657c478bd9Sstevel@tonic-gate {
667c478bd9Sstevel@tonic-gate #define	ECACHE_SUBBLOCKS_PER_PAGE	2
677c478bd9Sstevel@tonic-gate #define	ECACHE_SUBBLOCK_SIZE_BYTES	64
687c478bd9Sstevel@tonic-gate #define	ECACHE_PAGE_BYTE_MAX	\
697c478bd9Sstevel@tonic-gate 	(ECACHE_SUBBLOCKS_PER_PAGE*ECACHE_SUBBLOCK_SIZE_BYTES+1)
707c478bd9Sstevel@tonic-gate 
717c478bd9Sstevel@tonic-gate 	/*
727c478bd9Sstevel@tonic-gate 	 * The following line is intended to cause an error
737c478bd9Sstevel@tonic-gate 	 * whenever the sun4u page_t grows beyond 128
747c478bd9Sstevel@tonic-gate 	 * bytes.
757c478bd9Sstevel@tonic-gate 	 *
767c478bd9Sstevel@tonic-gate 	 * If you get an error here, you'll need to change
777c478bd9Sstevel@tonic-gate 	 * the 'prefetch_page_w' assembly language code
787c478bd9Sstevel@tonic-gate 	 * (see also prefetch_page_w prologue comment)
797c478bd9Sstevel@tonic-gate 	 */
807c478bd9Sstevel@tonic-gate 	/*LINTED*/
817c478bd9Sstevel@tonic-gate 	volatile int garbage[ECACHE_PAGE_BYTE_MAX - sizeof (page_t)];
827c478bd9Sstevel@tonic-gate }
837c478bd9Sstevel@tonic-gate 
847c478bd9Sstevel@tonic-gate /* ARGSUSED */
857c478bd9Sstevel@tonic-gate void
prefetch_page_r(void * pp)867c478bd9Sstevel@tonic-gate prefetch_page_r(void *pp)
877c478bd9Sstevel@tonic-gate {
887c478bd9Sstevel@tonic-gate #define	ECACHE_SUBBLOCKS_PER_PAGE	2
897c478bd9Sstevel@tonic-gate #define	ECACHE_SUBBLOCK_SIZE_BYTES	64
907c478bd9Sstevel@tonic-gate #define	ECACHE_PAGE_BYTE_MAX	\
917c478bd9Sstevel@tonic-gate 	(ECACHE_SUBBLOCKS_PER_PAGE*ECACHE_SUBBLOCK_SIZE_BYTES+1)
927c478bd9Sstevel@tonic-gate 
937c478bd9Sstevel@tonic-gate 	/*
947c478bd9Sstevel@tonic-gate 	 * The following line is intended to cause an error
957c478bd9Sstevel@tonic-gate 	 * whenever the sun4u page_t grows beyond 128
967c478bd9Sstevel@tonic-gate 	 * bytes.
977c478bd9Sstevel@tonic-gate 	 *
987c478bd9Sstevel@tonic-gate 	 * If you get an error here, you'll need to change
997c478bd9Sstevel@tonic-gate 	 * the 'prefetch_page_r' assembly language code
1007c478bd9Sstevel@tonic-gate 	 * (see also prefetch_page_w prologue comment)
1017c478bd9Sstevel@tonic-gate 	 */
1027c478bd9Sstevel@tonic-gate 	/*LINTED*/
1037c478bd9Sstevel@tonic-gate 	volatile int garbage[ECACHE_PAGE_BYTE_MAX - sizeof (page_t)];
1047c478bd9Sstevel@tonic-gate }
1057c478bd9Sstevel@tonic-gate 
1067c478bd9Sstevel@tonic-gate 
1077c478bd9Sstevel@tonic-gate #ifdef	SEGKPM_SUPPORT
1087c478bd9Sstevel@tonic-gate #define	SMAP_SIZE	80
1097c478bd9Sstevel@tonic-gate #else
1107c478bd9Sstevel@tonic-gate #define	SMAP_SIZE	56
1117c478bd9Sstevel@tonic-gate #endif
1127c478bd9Sstevel@tonic-gate 
1137c478bd9Sstevel@tonic-gate /* ARGSUSED */
1147c478bd9Sstevel@tonic-gate void
prefetch_smap_w(void * smp)1157c478bd9Sstevel@tonic-gate prefetch_smap_w(void *smp)
1167c478bd9Sstevel@tonic-gate {
1177c478bd9Sstevel@tonic-gate 
1187c478bd9Sstevel@tonic-gate 	/*
1197c478bd9Sstevel@tonic-gate 	 * The following lines are intended to cause an error
1207c478bd9Sstevel@tonic-gate 	 * whenever the smap object size changes from the current
1217c478bd9Sstevel@tonic-gate 	 * size of 48 bytes.  If you get an error here, you'll
1227c478bd9Sstevel@tonic-gate 	 * need to update the code in the 'prefetch_smap_w' assembly
1237c478bd9Sstevel@tonic-gate 	 * language code.
1247c478bd9Sstevel@tonic-gate 	 */
1257c478bd9Sstevel@tonic-gate 	/*LINTED*/
1267c478bd9Sstevel@tonic-gate 	volatile int smap_size_changed [SMAP_SIZE - sizeof (struct smap) + 1];
1277c478bd9Sstevel@tonic-gate 	volatile int smap_size_changed2 [sizeof (struct smap) - SMAP_SIZE + 1];
1287c478bd9Sstevel@tonic-gate }
1297c478bd9Sstevel@tonic-gate 
1307c478bd9Sstevel@tonic-gate void
kdi_flush_caches(void)1317c478bd9Sstevel@tonic-gate kdi_flush_caches(void)
1327c478bd9Sstevel@tonic-gate {}
1337c478bd9Sstevel@tonic-gate 
1347c478bd9Sstevel@tonic-gate /*ARGSUSED*/
1357c478bd9Sstevel@tonic-gate int
kzero(void * addr,size_t count)1367c478bd9Sstevel@tonic-gate kzero(void *addr, size_t count)
1377c478bd9Sstevel@tonic-gate { return (0); }
1387c478bd9Sstevel@tonic-gate 
1397c478bd9Sstevel@tonic-gate /*ARGSUSED*/
1407c478bd9Sstevel@tonic-gate void
uzero(void * addr,size_t count)1417c478bd9Sstevel@tonic-gate uzero(void *addr, size_t count)
1427c478bd9Sstevel@tonic-gate {}
1437c478bd9Sstevel@tonic-gate 
1447c478bd9Sstevel@tonic-gate /*ARGSUSED*/
1457c478bd9Sstevel@tonic-gate void
bzero(void * addr,size_t count)1467c478bd9Sstevel@tonic-gate bzero(void *addr, size_t count)
1477c478bd9Sstevel@tonic-gate {}
1487c478bd9Sstevel@tonic-gate 
1497c478bd9Sstevel@tonic-gate /*ARGSUSED*/
1507c478bd9Sstevel@tonic-gate void
cpu_inv_tsb(caddr_t tsb_base,uint_t tsb_bytes)1517c478bd9Sstevel@tonic-gate cpu_inv_tsb(caddr_t tsb_base, uint_t tsb_bytes)
1527c478bd9Sstevel@tonic-gate {}
1537bafd143Sjb145095 
15459ac0c16Sdavemq /*
15559ac0c16Sdavemq  *  Atomic Function Stubs
15659ac0c16Sdavemq  */
15759ac0c16Sdavemq 
15859ac0c16Sdavemq /* ARGSUSED */
159*8498b9f3SIgor Kozhukhov uint64_t
atomic_cas_64(volatile uint64_t * target,uint64_t value1,uint64_t value2)160*8498b9f3SIgor Kozhukhov atomic_cas_64(volatile uint64_t *target, uint64_t value1, uint64_t value2)
161*8498b9f3SIgor Kozhukhov { return (0); }
162*8498b9f3SIgor Kozhukhov 
163*8498b9f3SIgor Kozhukhov /* ARGSUSED */
16459ac0c16Sdavemq void
atomic_inc_8(volatile uint8_t * target)16559ac0c16Sdavemq atomic_inc_8(volatile uint8_t *target)
16659ac0c16Sdavemq {}
16759ac0c16Sdavemq 
16859ac0c16Sdavemq /* ARGSUSED */
16959ac0c16Sdavemq void
atomic_inc_uchar(volatile uchar_t * target)17059ac0c16Sdavemq atomic_inc_uchar(volatile uchar_t *target)
17159ac0c16Sdavemq {}
17259ac0c16Sdavemq 
17359ac0c16Sdavemq /* ARGSUSED */
17459ac0c16Sdavemq void
atomic_inc_16(volatile uint16_t * target)17559ac0c16Sdavemq atomic_inc_16(volatile uint16_t *target)
17659ac0c16Sdavemq {}
17759ac0c16Sdavemq 
17859ac0c16Sdavemq /* ARGSUSED */
17959ac0c16Sdavemq void
atomic_inc_ushort(volatile ushort_t * target)18059ac0c16Sdavemq atomic_inc_ushort(volatile ushort_t *target)
18159ac0c16Sdavemq {}
18259ac0c16Sdavemq 
18359ac0c16Sdavemq /* ARGSUSED */
18459ac0c16Sdavemq void
atomic_inc_32(volatile uint32_t * target)18559ac0c16Sdavemq atomic_inc_32(volatile uint32_t *target)
18659ac0c16Sdavemq {}
18759ac0c16Sdavemq 
18859ac0c16Sdavemq /* ARGSUSED */
18959ac0c16Sdavemq void
atomic_inc_uint(volatile uint_t * target)19059ac0c16Sdavemq atomic_inc_uint(volatile uint_t *target)
19159ac0c16Sdavemq {}
19259ac0c16Sdavemq 
19359ac0c16Sdavemq /* ARGSUSED */
19459ac0c16Sdavemq void
atomic_inc_ulong(volatile ulong_t * target)19559ac0c16Sdavemq atomic_inc_ulong(volatile ulong_t *target)
19659ac0c16Sdavemq {}
19759ac0c16Sdavemq 
19859ac0c16Sdavemq /* ARGSUSED */
19959ac0c16Sdavemq void
atomic_inc_64(volatile uint64_t * target)20059ac0c16Sdavemq atomic_inc_64(volatile uint64_t *target)
20159ac0c16Sdavemq {}
20259ac0c16Sdavemq 
20359ac0c16Sdavemq /* ARGSUSED */
20459ac0c16Sdavemq void
atomic_dec_8(volatile uint8_t * target)20559ac0c16Sdavemq atomic_dec_8(volatile uint8_t *target)
20659ac0c16Sdavemq {}
20759ac0c16Sdavemq 
20859ac0c16Sdavemq /* ARGSUSED */
20959ac0c16Sdavemq void
atomic_dec_uchar(volatile uchar_t * target)21059ac0c16Sdavemq atomic_dec_uchar(volatile uchar_t *target)
21159ac0c16Sdavemq {}
21259ac0c16Sdavemq 
21359ac0c16Sdavemq /* ARGSUSED */
21459ac0c16Sdavemq void
atomic_dec_16(volatile uint16_t * target)21559ac0c16Sdavemq atomic_dec_16(volatile uint16_t *target)
21659ac0c16Sdavemq {}
21759ac0c16Sdavemq 
21859ac0c16Sdavemq /* ARGSUSED */
21959ac0c16Sdavemq void
atomic_dec_ushort(volatile ushort_t * target)22059ac0c16Sdavemq atomic_dec_ushort(volatile ushort_t *target)
22159ac0c16Sdavemq {}
22259ac0c16Sdavemq 
22359ac0c16Sdavemq /* ARGSUSED */
22459ac0c16Sdavemq void
atomic_dec_32(volatile uint32_t * target)22559ac0c16Sdavemq atomic_dec_32(volatile uint32_t *target)
22659ac0c16Sdavemq {}
22759ac0c16Sdavemq 
22859ac0c16Sdavemq /* ARGSUSED */
22959ac0c16Sdavemq void
atomic_dec_uint(volatile uint_t * target)23059ac0c16Sdavemq atomic_dec_uint(volatile uint_t *target)
23159ac0c16Sdavemq {}
23259ac0c16Sdavemq 
23359ac0c16Sdavemq /* ARGSUSED */
23459ac0c16Sdavemq void
atomic_dec_ulong(volatile ulong_t * target)23559ac0c16Sdavemq atomic_dec_ulong(volatile ulong_t *target)
23659ac0c16Sdavemq {}
23759ac0c16Sdavemq 
23859ac0c16Sdavemq /* ARGSUSED */
23959ac0c16Sdavemq void
atomic_dec_64(volatile uint64_t * target)24059ac0c16Sdavemq atomic_dec_64(volatile uint64_t *target)
24159ac0c16Sdavemq {}
24259ac0c16Sdavemq 
24359ac0c16Sdavemq /* ARGSUSED */
24459ac0c16Sdavemq void
atomic_add_8(volatile uint8_t * target,int8_t value)24559ac0c16Sdavemq atomic_add_8(volatile uint8_t *target, int8_t value)
24659ac0c16Sdavemq {}
24759ac0c16Sdavemq 
24859ac0c16Sdavemq /* ARGSUSED */
24959ac0c16Sdavemq void
atomic_add_char(volatile uchar_t * target,signed char value)25059ac0c16Sdavemq atomic_add_char(volatile uchar_t *target, signed char value)
25159ac0c16Sdavemq {}
25259ac0c16Sdavemq 
25359ac0c16Sdavemq /* ARGSUSED */
25459ac0c16Sdavemq void
atomic_add_16(volatile uint16_t * target,int16_t delta)25559ac0c16Sdavemq atomic_add_16(volatile uint16_t *target, int16_t delta)
25659ac0c16Sdavemq {}
25759ac0c16Sdavemq 
25859ac0c16Sdavemq /* ARGSUSED */
25959ac0c16Sdavemq void
atomic_add_ushort(volatile ushort_t * target,short value)26059ac0c16Sdavemq atomic_add_ushort(volatile ushort_t *target, short value)
26159ac0c16Sdavemq {}
26259ac0c16Sdavemq 
26359ac0c16Sdavemq /* ARGSUSED */
26459ac0c16Sdavemq void
atomic_add_32(volatile uint32_t * target,int32_t delta)26559ac0c16Sdavemq atomic_add_32(volatile uint32_t *target, int32_t delta)
26659ac0c16Sdavemq {}
26759ac0c16Sdavemq 
26859ac0c16Sdavemq /* ARGSUSED */
26959ac0c16Sdavemq void
atomic_add_ptr(volatile void * target,ssize_t value)27059ac0c16Sdavemq atomic_add_ptr(volatile void *target, ssize_t value)
27159ac0c16Sdavemq {}
27259ac0c16Sdavemq 
27359ac0c16Sdavemq /* ARGSUSED */
27459ac0c16Sdavemq void
atomic_add_long(volatile ulong_t * target,long delta)27559ac0c16Sdavemq atomic_add_long(volatile ulong_t *target, long delta)
27659ac0c16Sdavemq {}
27759ac0c16Sdavemq 
27859ac0c16Sdavemq /* ARGSUSED */
27959ac0c16Sdavemq void
atomic_add_64(volatile uint64_t * target,int64_t delta)28059ac0c16Sdavemq atomic_add_64(volatile uint64_t *target, int64_t delta)
28159ac0c16Sdavemq {}
28259ac0c16Sdavemq 
28359ac0c16Sdavemq /* ARGSUSED */
28459ac0c16Sdavemq void
atomic_or_8(volatile uint8_t * target,uint8_t bits)28559ac0c16Sdavemq atomic_or_8(volatile uint8_t *target, uint8_t bits)
28659ac0c16Sdavemq {}
28759ac0c16Sdavemq 
28859ac0c16Sdavemq /* ARGSUSED */
28959ac0c16Sdavemq void
atomic_or_uchar(volatile uchar_t * target,uchar_t bits)29059ac0c16Sdavemq atomic_or_uchar(volatile uchar_t *target, uchar_t bits)
29159ac0c16Sdavemq {}
29259ac0c16Sdavemq 
29359ac0c16Sdavemq /* ARGSUSED */
29459ac0c16Sdavemq void
atomic_or_16(volatile uint16_t * target,uint16_t bits)29559ac0c16Sdavemq atomic_or_16(volatile uint16_t *target, uint16_t bits)
29659ac0c16Sdavemq {}
29759ac0c16Sdavemq 
29859ac0c16Sdavemq /* ARGSUSED */
29959ac0c16Sdavemq void
atomic_or_ushort(volatile ushort_t * target,ushort_t bits)30059ac0c16Sdavemq atomic_or_ushort(volatile ushort_t *target, ushort_t bits)
30159ac0c16Sdavemq {}
30259ac0c16Sdavemq 
30359ac0c16Sdavemq /* ARGSUSED */
30459ac0c16Sdavemq void
atomic_or_32(volatile uint32_t * target,uint32_t bits)30559ac0c16Sdavemq atomic_or_32(volatile uint32_t *target, uint32_t bits)
30659ac0c16Sdavemq {}
30759ac0c16Sdavemq 
30859ac0c16Sdavemq /* ARGSUSED */
30959ac0c16Sdavemq void
atomic_or_uint(volatile uint_t * target,uint_t bits)31059ac0c16Sdavemq atomic_or_uint(volatile uint_t *target, uint_t bits)
31159ac0c16Sdavemq {}
31259ac0c16Sdavemq 
31359ac0c16Sdavemq /* ARGSUSED */
31459ac0c16Sdavemq void
atomic_or_ulong(volatile ulong_t * target,ulong_t bits)31559ac0c16Sdavemq atomic_or_ulong(volatile ulong_t *target, ulong_t bits)
31659ac0c16Sdavemq {}
31759ac0c16Sdavemq 
31859ac0c16Sdavemq /* ARGSUSED */
31959ac0c16Sdavemq void
atomic_or_64(volatile uint64_t * target,uint64_t bits)32059ac0c16Sdavemq atomic_or_64(volatile uint64_t *target, uint64_t bits)
32159ac0c16Sdavemq {}
32259ac0c16Sdavemq 
32359ac0c16Sdavemq /* ARGSUSED */
32459ac0c16Sdavemq void
atomic_and_8(volatile uint8_t * target,uint8_t bits)32559ac0c16Sdavemq atomic_and_8(volatile uint8_t *target, uint8_t bits)
32659ac0c16Sdavemq {}
32759ac0c16Sdavemq 
32859ac0c16Sdavemq /* ARGSUSED */
32959ac0c16Sdavemq void
atomic_and_uchar(volatile uchar_t * target,uchar_t bits)33059ac0c16Sdavemq atomic_and_uchar(volatile uchar_t *target, uchar_t bits)
33159ac0c16Sdavemq {}
33259ac0c16Sdavemq 
33359ac0c16Sdavemq /* ARGSUSED */
33459ac0c16Sdavemq void
atomic_and_16(volatile uint16_t * target,uint16_t bits)33559ac0c16Sdavemq atomic_and_16(volatile uint16_t *target, uint16_t bits)
33659ac0c16Sdavemq {}
33759ac0c16Sdavemq 
33859ac0c16Sdavemq /* ARGSUSED */
33959ac0c16Sdavemq void
atomic_and_ushort(volatile ushort_t * target,ushort_t bits)34059ac0c16Sdavemq atomic_and_ushort(volatile ushort_t *target, ushort_t bits)
34159ac0c16Sdavemq {}
34259ac0c16Sdavemq 
34359ac0c16Sdavemq /* ARGSUSED */
34459ac0c16Sdavemq void
atomic_and_32(volatile uint32_t * target,uint32_t bits)34559ac0c16Sdavemq atomic_and_32(volatile uint32_t *target, uint32_t bits)
34659ac0c16Sdavemq {}
34759ac0c16Sdavemq 
34859ac0c16Sdavemq /* ARGSUSED */
34959ac0c16Sdavemq void
atomic_and_uint(volatile uint_t * target,uint_t bits)35059ac0c16Sdavemq atomic_and_uint(volatile uint_t *target, uint_t bits)
35159ac0c16Sdavemq {}
35259ac0c16Sdavemq 
35359ac0c16Sdavemq /* ARGSUSED */
35459ac0c16Sdavemq void
atomic_and_ulong(volatile ulong_t * target,ulong_t bits)35559ac0c16Sdavemq atomic_and_ulong(volatile ulong_t *target, ulong_t bits)
35659ac0c16Sdavemq {}
35759ac0c16Sdavemq 
35859ac0c16Sdavemq /* ARGSUSED */
35959ac0c16Sdavemq void
atomic_and_64(volatile uint64_t * target,uint64_t bits)36059ac0c16Sdavemq atomic_and_64(volatile uint64_t *target, uint64_t bits)
36159ac0c16Sdavemq {}
36259ac0c16Sdavemq 
36359ac0c16Sdavemq /* ARGSUSED */
36459ac0c16Sdavemq uint8_t
atomic_inc_8_nv(volatile uint8_t * target)36559ac0c16Sdavemq atomic_inc_8_nv(volatile uint8_t *target)
36659ac0c16Sdavemq { return (0); }
36759ac0c16Sdavemq 
36859ac0c16Sdavemq /* ARGSUSED */
36959ac0c16Sdavemq uchar_t
atomic_inc_uchar_nv(volatile uchar_t * target)37059ac0c16Sdavemq atomic_inc_uchar_nv(volatile uchar_t *target)
37159ac0c16Sdavemq { return (0); }
37259ac0c16Sdavemq 
37359ac0c16Sdavemq /* ARGSUSED */
37459ac0c16Sdavemq uint16_t
atomic_inc_16_nv(volatile uint16_t * target)37559ac0c16Sdavemq atomic_inc_16_nv(volatile uint16_t *target)
37659ac0c16Sdavemq { return (0); }
37759ac0c16Sdavemq 
37859ac0c16Sdavemq /* ARGSUSED */
37959ac0c16Sdavemq ushort_t
atomic_inc_ushort_nv(volatile ushort_t * target)38059ac0c16Sdavemq atomic_inc_ushort_nv(volatile ushort_t *target)
38159ac0c16Sdavemq { return (0); }
38259ac0c16Sdavemq 
38359ac0c16Sdavemq /* ARGSUSED */
38459ac0c16Sdavemq uint32_t
atomic_inc_32_nv(volatile uint32_t * target)38559ac0c16Sdavemq atomic_inc_32_nv(volatile uint32_t *target)
38659ac0c16Sdavemq { return (0); }
38759ac0c16Sdavemq 
38859ac0c16Sdavemq /* ARGSUSED */
38959ac0c16Sdavemq uint_t
atomic_inc_uint_nv(volatile uint_t * target)39059ac0c16Sdavemq atomic_inc_uint_nv(volatile uint_t *target)
39159ac0c16Sdavemq { return (0); }
39259ac0c16Sdavemq 
39359ac0c16Sdavemq /* ARGSUSED */
39459ac0c16Sdavemq ulong_t
atomic_inc_ulong_nv(volatile ulong_t * target)39559ac0c16Sdavemq atomic_inc_ulong_nv(volatile ulong_t *target)
39659ac0c16Sdavemq { return (0); }
39759ac0c16Sdavemq 
39859ac0c16Sdavemq /* ARGSUSED */
39959ac0c16Sdavemq uint64_t
atomic_inc_64_nv(volatile uint64_t * target)40059ac0c16Sdavemq atomic_inc_64_nv(volatile uint64_t *target)
40159ac0c16Sdavemq { return (0); }
40259ac0c16Sdavemq 
40359ac0c16Sdavemq /* ARGSUSED */
40459ac0c16Sdavemq uint8_t
atomic_dec_8_nv(volatile uint8_t * target)40559ac0c16Sdavemq atomic_dec_8_nv(volatile uint8_t *target)
40659ac0c16Sdavemq { return (0); }
40759ac0c16Sdavemq 
40859ac0c16Sdavemq /* ARGSUSED */
40959ac0c16Sdavemq uchar_t
atomic_dec_uchar_nv(volatile uchar_t * target)41059ac0c16Sdavemq atomic_dec_uchar_nv(volatile uchar_t *target)
41159ac0c16Sdavemq { return (0); }
41259ac0c16Sdavemq 
41359ac0c16Sdavemq /* ARGSUSED */
41459ac0c16Sdavemq uint16_t
atomic_dec_16_nv(volatile uint16_t * target)41559ac0c16Sdavemq atomic_dec_16_nv(volatile uint16_t *target)
41659ac0c16Sdavemq { return (0); }
41759ac0c16Sdavemq 
41859ac0c16Sdavemq /* ARGSUSED */
41959ac0c16Sdavemq ushort_t
atomic_dec_ushort_nv(volatile ushort_t * target)42059ac0c16Sdavemq atomic_dec_ushort_nv(volatile ushort_t *target)
42159ac0c16Sdavemq { return (0); }
42259ac0c16Sdavemq 
42359ac0c16Sdavemq /* ARGSUSED */
42459ac0c16Sdavemq uint32_t
atomic_dec_32_nv(volatile uint32_t * target)42559ac0c16Sdavemq atomic_dec_32_nv(volatile uint32_t *target)
42659ac0c16Sdavemq { return (0); }
42759ac0c16Sdavemq 
42859ac0c16Sdavemq /* ARGSUSED */
42959ac0c16Sdavemq uint_t
atomic_dec_uint_nv(volatile uint_t * target)43059ac0c16Sdavemq atomic_dec_uint_nv(volatile uint_t *target)
43159ac0c16Sdavemq { return (0); }
43259ac0c16Sdavemq 
43359ac0c16Sdavemq /* ARGSUSED */
43459ac0c16Sdavemq ulong_t
atomic_dec_ulong_nv(volatile ulong_t * target)43559ac0c16Sdavemq atomic_dec_ulong_nv(volatile ulong_t *target)
43659ac0c16Sdavemq { return (0); }
43759ac0c16Sdavemq 
43859ac0c16Sdavemq /* ARGSUSED */
43959ac0c16Sdavemq uint64_t
atomic_dec_64_nv(volatile uint64_t * target)44059ac0c16Sdavemq atomic_dec_64_nv(volatile uint64_t *target)
44159ac0c16Sdavemq { return (0); }
44259ac0c16Sdavemq 
44359ac0c16Sdavemq /* ARGSUSED */
44459ac0c16Sdavemq uint8_t
atomic_add_8_nv(volatile uint8_t * target,int8_t value)44559ac0c16Sdavemq atomic_add_8_nv(volatile uint8_t *target, int8_t value)
44659ac0c16Sdavemq { return (0); }
44759ac0c16Sdavemq 
44859ac0c16Sdavemq /* ARGSUSED */
44959ac0c16Sdavemq uchar_t
atomic_add_char_nv(volatile uchar_t * target,signed char value)45059ac0c16Sdavemq atomic_add_char_nv(volatile uchar_t *target, signed char value)
45159ac0c16Sdavemq { return (0); }
45259ac0c16Sdavemq 
45359ac0c16Sdavemq /* ARGSUSED */
45459ac0c16Sdavemq uint16_t
atomic_add_16_nv(volatile uint16_t * target,int16_t delta)45559ac0c16Sdavemq atomic_add_16_nv(volatile uint16_t *target, int16_t delta)
45659ac0c16Sdavemq { return (0); }
45759ac0c16Sdavemq 
45859ac0c16Sdavemq /* ARGSUSED */
45959ac0c16Sdavemq ushort_t
atomic_add_short_nv(volatile ushort_t * target,short value)46059ac0c16Sdavemq atomic_add_short_nv(volatile ushort_t *target, short value)
46159ac0c16Sdavemq { return (0); }
46259ac0c16Sdavemq 
46359ac0c16Sdavemq /* ARGSUSED */
46459ac0c16Sdavemq uint32_t
atomic_add_32_nv(volatile uint32_t * target,int32_t delta)46559ac0c16Sdavemq atomic_add_32_nv(volatile uint32_t *target, int32_t delta)
46659ac0c16Sdavemq { return (0); }
46759ac0c16Sdavemq 
46859ac0c16Sdavemq /* ARGSUSED */
46959ac0c16Sdavemq uint_t
atomic_add_int_nv(volatile uint_t * target,int delta)47059ac0c16Sdavemq atomic_add_int_nv(volatile uint_t *target, int delta)
47159ac0c16Sdavemq { return (0); }
47259ac0c16Sdavemq 
47359ac0c16Sdavemq /* ARGSUSED */
47459ac0c16Sdavemq void *
atomic_add_ptr_nv(volatile void * target,ssize_t value)47559ac0c16Sdavemq atomic_add_ptr_nv(volatile void *target, ssize_t value)
47659ac0c16Sdavemq { return (NULL); }
47759ac0c16Sdavemq 
47859ac0c16Sdavemq /* ARGSUSED */
47959ac0c16Sdavemq ulong_t
atomic_add_long_nv(volatile ulong_t * target,long delta)48059ac0c16Sdavemq atomic_add_long_nv(volatile ulong_t *target, long delta)
48159ac0c16Sdavemq { return (0); }
48259ac0c16Sdavemq 
48359ac0c16Sdavemq /* ARGSUSED */
48459ac0c16Sdavemq uint64_t
atomic_add_64_nv(volatile uint64_t * target,int64_t delta)48559ac0c16Sdavemq atomic_add_64_nv(volatile uint64_t *target, int64_t delta)
48659ac0c16Sdavemq { return (0); }
48759ac0c16Sdavemq 
48859ac0c16Sdavemq /* ARGSUSED */
48959ac0c16Sdavemq uint8_t
atomic_or_8_nv(volatile uint8_t * target,uint8_t value)49059ac0c16Sdavemq atomic_or_8_nv(volatile uint8_t *target, uint8_t value)
49159ac0c16Sdavemq { return (0); }
49259ac0c16Sdavemq 
49359ac0c16Sdavemq /* ARGSUSED */
49459ac0c16Sdavemq uchar_t
atomic_or_uchar_nv(volatile uchar_t * target,uchar_t value)49559ac0c16Sdavemq atomic_or_uchar_nv(volatile uchar_t *target, uchar_t value)
49659ac0c16Sdavemq { return (0); }
49759ac0c16Sdavemq 
49859ac0c16Sdavemq /* ARGSUSED */
49959ac0c16Sdavemq uint16_t
atomic_or_16_nv(volatile uint16_t * target,uint16_t value)50059ac0c16Sdavemq atomic_or_16_nv(volatile uint16_t *target, uint16_t value)
50159ac0c16Sdavemq { return (0); }
50259ac0c16Sdavemq 
50359ac0c16Sdavemq /* ARGSUSED */
50459ac0c16Sdavemq ushort_t
atomic_or_ushort_nv(volatile ushort_t * target,ushort_t value)50559ac0c16Sdavemq atomic_or_ushort_nv(volatile ushort_t *target, ushort_t value)
50659ac0c16Sdavemq { return (0); }
50759ac0c16Sdavemq 
50859ac0c16Sdavemq /* ARGSUSED */
50959ac0c16Sdavemq uint32_t
atomic_or_32_nv(volatile uint32_t * target,uint32_t value)51059ac0c16Sdavemq atomic_or_32_nv(volatile uint32_t *target, uint32_t value)
51159ac0c16Sdavemq { return (0); }
51259ac0c16Sdavemq 
51359ac0c16Sdavemq /* ARGSUSED */
51459ac0c16Sdavemq uint_t
atomic_or_uint_nv(volatile uint_t * target,uint_t value)51559ac0c16Sdavemq atomic_or_uint_nv(volatile uint_t *target, uint_t value)
51659ac0c16Sdavemq { return (0); }
51759ac0c16Sdavemq 
51859ac0c16Sdavemq /* ARGSUSED */
51959ac0c16Sdavemq ulong_t
atomic_or_ulong_nv(volatile ulong_t * target,ulong_t value)52059ac0c16Sdavemq atomic_or_ulong_nv(volatile ulong_t *target, ulong_t value)
52159ac0c16Sdavemq { return (0); }
52259ac0c16Sdavemq 
52359ac0c16Sdavemq /* ARGSUSED */
52459ac0c16Sdavemq uint64_t
atomic_or_64_nv(volatile uint64_t * target,uint64_t value)52559ac0c16Sdavemq atomic_or_64_nv(volatile uint64_t *target, uint64_t value)
52659ac0c16Sdavemq { return (0); }
52759ac0c16Sdavemq 
52859ac0c16Sdavemq /* ARGSUSED */
52959ac0c16Sdavemq uint8_t
atomic_and_8_nv(volatile uint8_t * target,uint8_t value)53059ac0c16Sdavemq atomic_and_8_nv(volatile uint8_t *target, uint8_t value)
53159ac0c16Sdavemq { return (0); }
53259ac0c16Sdavemq 
53359ac0c16Sdavemq /* ARGSUSED */
53459ac0c16Sdavemq uchar_t
atomic_and_uchar_nv(volatile uchar_t * target,uchar_t value)53559ac0c16Sdavemq atomic_and_uchar_nv(volatile uchar_t *target, uchar_t value)
53659ac0c16Sdavemq { return (0); }
53759ac0c16Sdavemq 
53859ac0c16Sdavemq /* ARGSUSED */
53959ac0c16Sdavemq uint16_t
atomic_and_16_nv(volatile uint16_t * target,uint16_t value)54059ac0c16Sdavemq atomic_and_16_nv(volatile uint16_t *target, uint16_t value)
54159ac0c16Sdavemq { return (0); }
54259ac0c16Sdavemq 
54359ac0c16Sdavemq /* ARGSUSED */
54459ac0c16Sdavemq ushort_t
atomic_and_ushort_nv(volatile ushort_t * target,ushort_t value)54559ac0c16Sdavemq atomic_and_ushort_nv(volatile ushort_t *target, ushort_t value)
54659ac0c16Sdavemq { return (0); }
54759ac0c16Sdavemq 
54859ac0c16Sdavemq /* ARGSUSED */
54959ac0c16Sdavemq uint32_t
atomic_and_32_nv(volatile uint32_t * target,uint32_t value)55059ac0c16Sdavemq atomic_and_32_nv(volatile uint32_t *target, uint32_t value)
55159ac0c16Sdavemq { return (0); }
55259ac0c16Sdavemq 
55359ac0c16Sdavemq /* ARGSUSED */
55459ac0c16Sdavemq uint_t
atomic_and_uint_nv(volatile uint_t * target,uint_t value)55559ac0c16Sdavemq atomic_and_uint_nv(volatile uint_t *target, uint_t value)
55659ac0c16Sdavemq { return (0); }
55759ac0c16Sdavemq 
55859ac0c16Sdavemq /* ARGSUSED */
55959ac0c16Sdavemq ulong_t
atomic_and_ulong_nv(volatile ulong_t * target,ulong_t value)56059ac0c16Sdavemq atomic_and_ulong_nv(volatile ulong_t *target, ulong_t value)
56159ac0c16Sdavemq { return (0); }
56259ac0c16Sdavemq 
56359ac0c16Sdavemq /* ARGSUSED */
56459ac0c16Sdavemq uint64_t
atomic_and_64_nv(volatile uint64_t * target,uint64_t value)56559ac0c16Sdavemq atomic_and_64_nv(volatile uint64_t *target, uint64_t value)
56659ac0c16Sdavemq { return (0); }
56759ac0c16Sdavemq 
56859ac0c16Sdavemq /* ARGSUSED */
56959ac0c16Sdavemq uint8_t
atomic_cas_8(volatile uint8_t * target,uint8_t cmp,uint8_t new)57059ac0c16Sdavemq atomic_cas_8(volatile uint8_t *target, uint8_t cmp, uint8_t new)
57159ac0c16Sdavemq { return (0); }
57259ac0c16Sdavemq 
57359ac0c16Sdavemq /* ARGSUSED */
57459ac0c16Sdavemq uchar_t
atomic_cas_uchar(volatile uchar_t * target,uchar_t cmp,uchar_t new)57559ac0c16Sdavemq atomic_cas_uchar(volatile uchar_t *target, uchar_t cmp, uchar_t new)
57659ac0c16Sdavemq { return (0); }
57759ac0c16Sdavemq 
57859ac0c16Sdavemq /* ARGSUSED */
57959ac0c16Sdavemq uint16_t
atomic_cas_16(volatile uint16_t * target,uint16_t cmp,uint16_t new)58059ac0c16Sdavemq atomic_cas_16(volatile uint16_t *target, uint16_t cmp, uint16_t new)
58159ac0c16Sdavemq { return (0); }
58259ac0c16Sdavemq 
58359ac0c16Sdavemq /* ARGSUSED */
58459ac0c16Sdavemq ushort_t
atomic_cas_ushort(volatile ushort_t * target,ushort_t cmp,ushort_t new)58559ac0c16Sdavemq atomic_cas_ushort(volatile ushort_t *target, ushort_t cmp, ushort_t new)
58659ac0c16Sdavemq { return (0); }
58759ac0c16Sdavemq 
58859ac0c16Sdavemq /* ARGSUSED */
58959ac0c16Sdavemq uint32_t
atomic_cas_32(volatile uint32_t * target,uint32_t cmp,uint32_t new)59059ac0c16Sdavemq atomic_cas_32(volatile uint32_t *target, uint32_t cmp, uint32_t new)
59159ac0c16Sdavemq { return (0); }
59259ac0c16Sdavemq 
59359ac0c16Sdavemq /* ARGSUSED */
59459ac0c16Sdavemq uint_t
atomic_cas_uint(volatile uint_t * target,uint_t cmp,uint_t new)59559ac0c16Sdavemq atomic_cas_uint(volatile uint_t *target, uint_t cmp, uint_t new)
59659ac0c16Sdavemq { return (0); }
59759ac0c16Sdavemq 
59859ac0c16Sdavemq /* ARGSUSED */
59959ac0c16Sdavemq ulong_t
atomic_cas_ulong(volatile ulong_t * target,ulong_t cmp,ulong_t new)60059ac0c16Sdavemq atomic_cas_ulong(volatile ulong_t *target, ulong_t cmp, ulong_t new)
60159ac0c16Sdavemq { return (0); }
60259ac0c16Sdavemq 
60359ac0c16Sdavemq /* ARGSUSED */
60459ac0c16Sdavemq uint64_t
atomic_cas_uint64(volatile uint64_t * target,ulong_t cmp,uint64_t new)60559ac0c16Sdavemq atomic_cas_uint64(volatile uint64_t *target, ulong_t cmp, uint64_t new)
60659ac0c16Sdavemq { return (0); }
60759ac0c16Sdavemq 
60859ac0c16Sdavemq /* ARGSUSED */
60959ac0c16Sdavemq void *
atomic_cas_ptr(volatile void * target,void * cmp,void * new)61059ac0c16Sdavemq atomic_cas_ptr(volatile void *target, void *cmp, void *new)
61159ac0c16Sdavemq { return (NULL); }
61259ac0c16Sdavemq 
61359ac0c16Sdavemq /* ARGSUSED */
61459ac0c16Sdavemq uint8_t
atomic_swap_8(volatile uint8_t * target,uint8_t new)61559ac0c16Sdavemq atomic_swap_8(volatile uint8_t *target, uint8_t new)
61659ac0c16Sdavemq { return (0); }
61759ac0c16Sdavemq 
61859ac0c16Sdavemq /* ARGSUSED */
61959ac0c16Sdavemq uchar_t
atomic_swap_char(volatile uchar_t * target,uchar_t new)62059ac0c16Sdavemq atomic_swap_char(volatile uchar_t *target, uchar_t new)
62159ac0c16Sdavemq { return (0); }
62259ac0c16Sdavemq 
62359ac0c16Sdavemq /* ARGSUSED */
62459ac0c16Sdavemq uint16_t
atomic_swap_16(volatile uint16_t * target,uint16_t new)62559ac0c16Sdavemq atomic_swap_16(volatile uint16_t *target, uint16_t new)
62659ac0c16Sdavemq { return (0); }
62759ac0c16Sdavemq 
62859ac0c16Sdavemq /* ARGSUSED */
62959ac0c16Sdavemq ushort_t
atomic_swap_ushort(volatile ushort_t * target,ushort_t new)63059ac0c16Sdavemq atomic_swap_ushort(volatile ushort_t *target, ushort_t new)
63159ac0c16Sdavemq { return (0); }
63259ac0c16Sdavemq 
63359ac0c16Sdavemq /* ARGSUSED */
63459ac0c16Sdavemq uint32_t
atomic_swap_32(volatile uint32_t * target,uint32_t new)63559ac0c16Sdavemq atomic_swap_32(volatile uint32_t *target, uint32_t new)
63659ac0c16Sdavemq { return (0); }
63759ac0c16Sdavemq 
63859ac0c16Sdavemq /* ARGSUSED */
63959ac0c16Sdavemq uint_t
atomic_swap_uint(volatile uint_t * target,uint_t new)64059ac0c16Sdavemq atomic_swap_uint(volatile uint_t *target, uint_t new)
64159ac0c16Sdavemq { return (0); }
64259ac0c16Sdavemq 
64359ac0c16Sdavemq /* ARGSUSED */
64459ac0c16Sdavemq uint64_t
atomic_swap_64(volatile uint64_t * target,uint64_t new)64559ac0c16Sdavemq atomic_swap_64(volatile uint64_t *target, uint64_t new)
64659ac0c16Sdavemq { return (0); }
64759ac0c16Sdavemq 
64859ac0c16Sdavemq /* ARGSUSED */
64959ac0c16Sdavemq void *
atomic_swap_ptr(volatile void * target,void * new)65059ac0c16Sdavemq atomic_swap_ptr(volatile void *target, void *new)
65159ac0c16Sdavemq { return (NULL); }
65259ac0c16Sdavemq 
65359ac0c16Sdavemq /* ARGSUSED */
65459ac0c16Sdavemq ulong_t
atomic_swap_ulong(volatile ulong_t * target,ulong_t new)65559ac0c16Sdavemq atomic_swap_ulong(volatile ulong_t *target, ulong_t new)
65659ac0c16Sdavemq { return (0); }
65759ac0c16Sdavemq 
65859ac0c16Sdavemq /* ARGSUSED */
65959ac0c16Sdavemq int
atomic_set_long_excl(volatile ulong_t * target,uint_t value)66059ac0c16Sdavemq atomic_set_long_excl(volatile ulong_t *target, uint_t value)
66159ac0c16Sdavemq { return (0); }
66259ac0c16Sdavemq 
66359ac0c16Sdavemq /* ARGSUSED */
66459ac0c16Sdavemq int
atomic_clear_long_excl(volatile ulong_t * target,uint_t value)66559ac0c16Sdavemq atomic_clear_long_excl(volatile ulong_t *target, uint_t value)
66659ac0c16Sdavemq { return (0); }
66759ac0c16Sdavemq 
6687bafd143Sjb145095 void
fp_zero(void)6697bafd143Sjb145095 fp_zero(void)
6707bafd143Sjb145095 {}
671023e71deSHaik Aftandilian 
672023e71deSHaik Aftandilian uint64_t
gettick_npt(void)673023e71deSHaik Aftandilian gettick_npt(void)
674023e71deSHaik Aftandilian { return (0); }
675023e71deSHaik Aftandilian 
676023e71deSHaik Aftandilian uint64_t
getstick_npt(void)677023e71deSHaik Aftandilian getstick_npt(void)
678023e71deSHaik Aftandilian { return (0); }
679