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 337c478bd9Sstevel@tonic-gate cpu_fiximp(struct cpu_node *cpunode) 347c478bd9Sstevel@tonic-gate {} 357c478bd9Sstevel@tonic-gate 36459190a5Srsmaeda /*ARGSUSED*/ 37459190a5Srsmaeda void 38459190a5Srsmaeda cpu_map_exec_units(struct cpu *cp) 39459190a5Srsmaeda {} 40459190a5Srsmaeda 417c478bd9Sstevel@tonic-gate void 427c478bd9Sstevel@tonic-gate cpu_flush_ecache(void) 437c478bd9Sstevel@tonic-gate {} 447c478bd9Sstevel@tonic-gate 457c478bd9Sstevel@tonic-gate /*ARGSUSED*/ 467c478bd9Sstevel@tonic-gate void 477c478bd9Sstevel@tonic-gate cpu_faulted_enter(struct cpu *cp) 487c478bd9Sstevel@tonic-gate {} 497c478bd9Sstevel@tonic-gate 507c478bd9Sstevel@tonic-gate /*ARGSUSED*/ 517c478bd9Sstevel@tonic-gate void 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 597c478bd9Sstevel@tonic-gate cpu_init_cache_scrub(void) 607c478bd9Sstevel@tonic-gate {} 617c478bd9Sstevel@tonic-gate 627c478bd9Sstevel@tonic-gate /* ARGSUSED */ 637c478bd9Sstevel@tonic-gate void 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 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 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 1317c478bd9Sstevel@tonic-gate kdi_flush_caches(void) 1327c478bd9Sstevel@tonic-gate {} 1337c478bd9Sstevel@tonic-gate 1347c478bd9Sstevel@tonic-gate /*ARGSUSED*/ 1357c478bd9Sstevel@tonic-gate int 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 1417c478bd9Sstevel@tonic-gate uzero(void *addr, size_t count) 1427c478bd9Sstevel@tonic-gate {} 1437c478bd9Sstevel@tonic-gate 1447c478bd9Sstevel@tonic-gate /*ARGSUSED*/ 1457c478bd9Sstevel@tonic-gate void 1467c478bd9Sstevel@tonic-gate bzero(void *addr, size_t count) 1477c478bd9Sstevel@tonic-gate {} 1487c478bd9Sstevel@tonic-gate 1497c478bd9Sstevel@tonic-gate /*ARGSUSED*/ 1507c478bd9Sstevel@tonic-gate void 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 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 16559ac0c16Sdavemq atomic_inc_8(volatile uint8_t *target) 16659ac0c16Sdavemq {} 16759ac0c16Sdavemq 16859ac0c16Sdavemq /* ARGSUSED */ 16959ac0c16Sdavemq void 17059ac0c16Sdavemq atomic_inc_uchar(volatile uchar_t *target) 17159ac0c16Sdavemq {} 17259ac0c16Sdavemq 17359ac0c16Sdavemq /* ARGSUSED */ 17459ac0c16Sdavemq void 17559ac0c16Sdavemq atomic_inc_16(volatile uint16_t *target) 17659ac0c16Sdavemq {} 17759ac0c16Sdavemq 17859ac0c16Sdavemq /* ARGSUSED */ 17959ac0c16Sdavemq void 18059ac0c16Sdavemq atomic_inc_ushort(volatile ushort_t *target) 18159ac0c16Sdavemq {} 18259ac0c16Sdavemq 18359ac0c16Sdavemq /* ARGSUSED */ 18459ac0c16Sdavemq void 18559ac0c16Sdavemq atomic_inc_32(volatile uint32_t *target) 18659ac0c16Sdavemq {} 18759ac0c16Sdavemq 18859ac0c16Sdavemq /* ARGSUSED */ 18959ac0c16Sdavemq void 19059ac0c16Sdavemq atomic_inc_uint(volatile uint_t *target) 19159ac0c16Sdavemq {} 19259ac0c16Sdavemq 19359ac0c16Sdavemq /* ARGSUSED */ 19459ac0c16Sdavemq void 19559ac0c16Sdavemq atomic_inc_ulong(volatile ulong_t *target) 19659ac0c16Sdavemq {} 19759ac0c16Sdavemq 19859ac0c16Sdavemq /* ARGSUSED */ 19959ac0c16Sdavemq void 20059ac0c16Sdavemq atomic_inc_64(volatile uint64_t *target) 20159ac0c16Sdavemq {} 20259ac0c16Sdavemq 20359ac0c16Sdavemq /* ARGSUSED */ 20459ac0c16Sdavemq void 20559ac0c16Sdavemq atomic_dec_8(volatile uint8_t *target) 20659ac0c16Sdavemq {} 20759ac0c16Sdavemq 20859ac0c16Sdavemq /* ARGSUSED */ 20959ac0c16Sdavemq void 21059ac0c16Sdavemq atomic_dec_uchar(volatile uchar_t *target) 21159ac0c16Sdavemq {} 21259ac0c16Sdavemq 21359ac0c16Sdavemq /* ARGSUSED */ 21459ac0c16Sdavemq void 21559ac0c16Sdavemq atomic_dec_16(volatile uint16_t *target) 21659ac0c16Sdavemq {} 21759ac0c16Sdavemq 21859ac0c16Sdavemq /* ARGSUSED */ 21959ac0c16Sdavemq void 22059ac0c16Sdavemq atomic_dec_ushort(volatile ushort_t *target) 22159ac0c16Sdavemq {} 22259ac0c16Sdavemq 22359ac0c16Sdavemq /* ARGSUSED */ 22459ac0c16Sdavemq void 22559ac0c16Sdavemq atomic_dec_32(volatile uint32_t *target) 22659ac0c16Sdavemq {} 22759ac0c16Sdavemq 22859ac0c16Sdavemq /* ARGSUSED */ 22959ac0c16Sdavemq void 23059ac0c16Sdavemq atomic_dec_uint(volatile uint_t *target) 23159ac0c16Sdavemq {} 23259ac0c16Sdavemq 23359ac0c16Sdavemq /* ARGSUSED */ 23459ac0c16Sdavemq void 23559ac0c16Sdavemq atomic_dec_ulong(volatile ulong_t *target) 23659ac0c16Sdavemq {} 23759ac0c16Sdavemq 23859ac0c16Sdavemq /* ARGSUSED */ 23959ac0c16Sdavemq void 24059ac0c16Sdavemq atomic_dec_64(volatile uint64_t *target) 24159ac0c16Sdavemq {} 24259ac0c16Sdavemq 24359ac0c16Sdavemq /* ARGSUSED */ 24459ac0c16Sdavemq void 24559ac0c16Sdavemq atomic_add_8(volatile uint8_t *target, int8_t value) 24659ac0c16Sdavemq {} 24759ac0c16Sdavemq 24859ac0c16Sdavemq /* ARGSUSED */ 24959ac0c16Sdavemq void 25059ac0c16Sdavemq atomic_add_char(volatile uchar_t *target, signed char value) 25159ac0c16Sdavemq {} 25259ac0c16Sdavemq 25359ac0c16Sdavemq /* ARGSUSED */ 25459ac0c16Sdavemq void 25559ac0c16Sdavemq atomic_add_16(volatile uint16_t *target, int16_t delta) 25659ac0c16Sdavemq {} 25759ac0c16Sdavemq 25859ac0c16Sdavemq /* ARGSUSED */ 25959ac0c16Sdavemq void 26059ac0c16Sdavemq atomic_add_ushort(volatile ushort_t *target, short value) 26159ac0c16Sdavemq {} 26259ac0c16Sdavemq 26359ac0c16Sdavemq /* ARGSUSED */ 26459ac0c16Sdavemq void 26559ac0c16Sdavemq atomic_add_32(volatile uint32_t *target, int32_t delta) 26659ac0c16Sdavemq {} 26759ac0c16Sdavemq 26859ac0c16Sdavemq /* ARGSUSED */ 26959ac0c16Sdavemq void 27059ac0c16Sdavemq atomic_add_ptr(volatile void *target, ssize_t value) 27159ac0c16Sdavemq {} 27259ac0c16Sdavemq 27359ac0c16Sdavemq /* ARGSUSED */ 27459ac0c16Sdavemq void 27559ac0c16Sdavemq atomic_add_long(volatile ulong_t *target, long delta) 27659ac0c16Sdavemq {} 27759ac0c16Sdavemq 27859ac0c16Sdavemq /* ARGSUSED */ 27959ac0c16Sdavemq void 28059ac0c16Sdavemq atomic_add_64(volatile uint64_t *target, int64_t delta) 28159ac0c16Sdavemq {} 28259ac0c16Sdavemq 28359ac0c16Sdavemq /* ARGSUSED */ 28459ac0c16Sdavemq void 28559ac0c16Sdavemq atomic_or_8(volatile uint8_t *target, uint8_t bits) 28659ac0c16Sdavemq {} 28759ac0c16Sdavemq 28859ac0c16Sdavemq /* ARGSUSED */ 28959ac0c16Sdavemq void 29059ac0c16Sdavemq atomic_or_uchar(volatile uchar_t *target, uchar_t bits) 29159ac0c16Sdavemq {} 29259ac0c16Sdavemq 29359ac0c16Sdavemq /* ARGSUSED */ 29459ac0c16Sdavemq void 29559ac0c16Sdavemq atomic_or_16(volatile uint16_t *target, uint16_t bits) 29659ac0c16Sdavemq {} 29759ac0c16Sdavemq 29859ac0c16Sdavemq /* ARGSUSED */ 29959ac0c16Sdavemq void 30059ac0c16Sdavemq atomic_or_ushort(volatile ushort_t *target, ushort_t bits) 30159ac0c16Sdavemq {} 30259ac0c16Sdavemq 30359ac0c16Sdavemq /* ARGSUSED */ 30459ac0c16Sdavemq void 30559ac0c16Sdavemq atomic_or_32(volatile uint32_t *target, uint32_t bits) 30659ac0c16Sdavemq {} 30759ac0c16Sdavemq 30859ac0c16Sdavemq /* ARGSUSED */ 30959ac0c16Sdavemq void 31059ac0c16Sdavemq atomic_or_uint(volatile uint_t *target, uint_t bits) 31159ac0c16Sdavemq {} 31259ac0c16Sdavemq 31359ac0c16Sdavemq /* ARGSUSED */ 31459ac0c16Sdavemq void 31559ac0c16Sdavemq atomic_or_ulong(volatile ulong_t *target, ulong_t bits) 31659ac0c16Sdavemq {} 31759ac0c16Sdavemq 31859ac0c16Sdavemq /* ARGSUSED */ 31959ac0c16Sdavemq void 32059ac0c16Sdavemq atomic_or_64(volatile uint64_t *target, uint64_t bits) 32159ac0c16Sdavemq {} 32259ac0c16Sdavemq 32359ac0c16Sdavemq /* ARGSUSED */ 32459ac0c16Sdavemq void 32559ac0c16Sdavemq atomic_and_8(volatile uint8_t *target, uint8_t bits) 32659ac0c16Sdavemq {} 32759ac0c16Sdavemq 32859ac0c16Sdavemq /* ARGSUSED */ 32959ac0c16Sdavemq void 33059ac0c16Sdavemq atomic_and_uchar(volatile uchar_t *target, uchar_t bits) 33159ac0c16Sdavemq {} 33259ac0c16Sdavemq 33359ac0c16Sdavemq /* ARGSUSED */ 33459ac0c16Sdavemq void 33559ac0c16Sdavemq atomic_and_16(volatile uint16_t *target, uint16_t bits) 33659ac0c16Sdavemq {} 33759ac0c16Sdavemq 33859ac0c16Sdavemq /* ARGSUSED */ 33959ac0c16Sdavemq void 34059ac0c16Sdavemq atomic_and_ushort(volatile ushort_t *target, ushort_t bits) 34159ac0c16Sdavemq {} 34259ac0c16Sdavemq 34359ac0c16Sdavemq /* ARGSUSED */ 34459ac0c16Sdavemq void 34559ac0c16Sdavemq atomic_and_32(volatile uint32_t *target, uint32_t bits) 34659ac0c16Sdavemq {} 34759ac0c16Sdavemq 34859ac0c16Sdavemq /* ARGSUSED */ 34959ac0c16Sdavemq void 35059ac0c16Sdavemq atomic_and_uint(volatile uint_t *target, uint_t bits) 35159ac0c16Sdavemq {} 35259ac0c16Sdavemq 35359ac0c16Sdavemq /* ARGSUSED */ 35459ac0c16Sdavemq void 35559ac0c16Sdavemq atomic_and_ulong(volatile ulong_t *target, ulong_t bits) 35659ac0c16Sdavemq {} 35759ac0c16Sdavemq 35859ac0c16Sdavemq /* ARGSUSED */ 35959ac0c16Sdavemq void 36059ac0c16Sdavemq atomic_and_64(volatile uint64_t *target, uint64_t bits) 36159ac0c16Sdavemq {} 36259ac0c16Sdavemq 36359ac0c16Sdavemq /* ARGSUSED */ 36459ac0c16Sdavemq uint8_t 36559ac0c16Sdavemq atomic_inc_8_nv(volatile uint8_t *target) 36659ac0c16Sdavemq { return (0); } 36759ac0c16Sdavemq 36859ac0c16Sdavemq /* ARGSUSED */ 36959ac0c16Sdavemq uchar_t 37059ac0c16Sdavemq atomic_inc_uchar_nv(volatile uchar_t *target) 37159ac0c16Sdavemq { return (0); } 37259ac0c16Sdavemq 37359ac0c16Sdavemq /* ARGSUSED */ 37459ac0c16Sdavemq uint16_t 37559ac0c16Sdavemq atomic_inc_16_nv(volatile uint16_t *target) 37659ac0c16Sdavemq { return (0); } 37759ac0c16Sdavemq 37859ac0c16Sdavemq /* ARGSUSED */ 37959ac0c16Sdavemq ushort_t 38059ac0c16Sdavemq atomic_inc_ushort_nv(volatile ushort_t *target) 38159ac0c16Sdavemq { return (0); } 38259ac0c16Sdavemq 38359ac0c16Sdavemq /* ARGSUSED */ 38459ac0c16Sdavemq uint32_t 38559ac0c16Sdavemq atomic_inc_32_nv(volatile uint32_t *target) 38659ac0c16Sdavemq { return (0); } 38759ac0c16Sdavemq 38859ac0c16Sdavemq /* ARGSUSED */ 38959ac0c16Sdavemq uint_t 39059ac0c16Sdavemq atomic_inc_uint_nv(volatile uint_t *target) 39159ac0c16Sdavemq { return (0); } 39259ac0c16Sdavemq 39359ac0c16Sdavemq /* ARGSUSED */ 39459ac0c16Sdavemq ulong_t 39559ac0c16Sdavemq atomic_inc_ulong_nv(volatile ulong_t *target) 39659ac0c16Sdavemq { return (0); } 39759ac0c16Sdavemq 39859ac0c16Sdavemq /* ARGSUSED */ 39959ac0c16Sdavemq uint64_t 40059ac0c16Sdavemq atomic_inc_64_nv(volatile uint64_t *target) 40159ac0c16Sdavemq { return (0); } 40259ac0c16Sdavemq 40359ac0c16Sdavemq /* ARGSUSED */ 40459ac0c16Sdavemq uint8_t 40559ac0c16Sdavemq atomic_dec_8_nv(volatile uint8_t *target) 40659ac0c16Sdavemq { return (0); } 40759ac0c16Sdavemq 40859ac0c16Sdavemq /* ARGSUSED */ 40959ac0c16Sdavemq uchar_t 41059ac0c16Sdavemq atomic_dec_uchar_nv(volatile uchar_t *target) 41159ac0c16Sdavemq { return (0); } 41259ac0c16Sdavemq 41359ac0c16Sdavemq /* ARGSUSED */ 41459ac0c16Sdavemq uint16_t 41559ac0c16Sdavemq atomic_dec_16_nv(volatile uint16_t *target) 41659ac0c16Sdavemq { return (0); } 41759ac0c16Sdavemq 41859ac0c16Sdavemq /* ARGSUSED */ 41959ac0c16Sdavemq ushort_t 42059ac0c16Sdavemq atomic_dec_ushort_nv(volatile ushort_t *target) 42159ac0c16Sdavemq { return (0); } 42259ac0c16Sdavemq 42359ac0c16Sdavemq /* ARGSUSED */ 42459ac0c16Sdavemq uint32_t 42559ac0c16Sdavemq atomic_dec_32_nv(volatile uint32_t *target) 42659ac0c16Sdavemq { return (0); } 42759ac0c16Sdavemq 42859ac0c16Sdavemq /* ARGSUSED */ 42959ac0c16Sdavemq uint_t 43059ac0c16Sdavemq atomic_dec_uint_nv(volatile uint_t *target) 43159ac0c16Sdavemq { return (0); } 43259ac0c16Sdavemq 43359ac0c16Sdavemq /* ARGSUSED */ 43459ac0c16Sdavemq ulong_t 43559ac0c16Sdavemq atomic_dec_ulong_nv(volatile ulong_t *target) 43659ac0c16Sdavemq { return (0); } 43759ac0c16Sdavemq 43859ac0c16Sdavemq /* ARGSUSED */ 43959ac0c16Sdavemq uint64_t 44059ac0c16Sdavemq atomic_dec_64_nv(volatile uint64_t *target) 44159ac0c16Sdavemq { return (0); } 44259ac0c16Sdavemq 44359ac0c16Sdavemq /* ARGSUSED */ 44459ac0c16Sdavemq uint8_t 44559ac0c16Sdavemq atomic_add_8_nv(volatile uint8_t *target, int8_t value) 44659ac0c16Sdavemq { return (0); } 44759ac0c16Sdavemq 44859ac0c16Sdavemq /* ARGSUSED */ 44959ac0c16Sdavemq uchar_t 45059ac0c16Sdavemq atomic_add_char_nv(volatile uchar_t *target, signed char value) 45159ac0c16Sdavemq { return (0); } 45259ac0c16Sdavemq 45359ac0c16Sdavemq /* ARGSUSED */ 45459ac0c16Sdavemq uint16_t 45559ac0c16Sdavemq atomic_add_16_nv(volatile uint16_t *target, int16_t delta) 45659ac0c16Sdavemq { return (0); } 45759ac0c16Sdavemq 45859ac0c16Sdavemq /* ARGSUSED */ 45959ac0c16Sdavemq ushort_t 46059ac0c16Sdavemq atomic_add_short_nv(volatile ushort_t *target, short value) 46159ac0c16Sdavemq { return (0); } 46259ac0c16Sdavemq 46359ac0c16Sdavemq /* ARGSUSED */ 46459ac0c16Sdavemq uint32_t 46559ac0c16Sdavemq atomic_add_32_nv(volatile uint32_t *target, int32_t delta) 46659ac0c16Sdavemq { return (0); } 46759ac0c16Sdavemq 46859ac0c16Sdavemq /* ARGSUSED */ 46959ac0c16Sdavemq uint_t 47059ac0c16Sdavemq atomic_add_int_nv(volatile uint_t *target, int delta) 47159ac0c16Sdavemq { return (0); } 47259ac0c16Sdavemq 47359ac0c16Sdavemq /* ARGSUSED */ 47459ac0c16Sdavemq void * 47559ac0c16Sdavemq atomic_add_ptr_nv(volatile void *target, ssize_t value) 47659ac0c16Sdavemq { return (NULL); } 47759ac0c16Sdavemq 47859ac0c16Sdavemq /* ARGSUSED */ 47959ac0c16Sdavemq ulong_t 48059ac0c16Sdavemq atomic_add_long_nv(volatile ulong_t *target, long delta) 48159ac0c16Sdavemq { return (0); } 48259ac0c16Sdavemq 48359ac0c16Sdavemq /* ARGSUSED */ 48459ac0c16Sdavemq uint64_t 48559ac0c16Sdavemq atomic_add_64_nv(volatile uint64_t *target, int64_t delta) 48659ac0c16Sdavemq { return (0); } 48759ac0c16Sdavemq 48859ac0c16Sdavemq /* ARGSUSED */ 48959ac0c16Sdavemq uint8_t 49059ac0c16Sdavemq atomic_or_8_nv(volatile uint8_t *target, uint8_t value) 49159ac0c16Sdavemq { return (0); } 49259ac0c16Sdavemq 49359ac0c16Sdavemq /* ARGSUSED */ 49459ac0c16Sdavemq uchar_t 49559ac0c16Sdavemq atomic_or_uchar_nv(volatile uchar_t *target, uchar_t value) 49659ac0c16Sdavemq { return (0); } 49759ac0c16Sdavemq 49859ac0c16Sdavemq /* ARGSUSED */ 49959ac0c16Sdavemq uint16_t 50059ac0c16Sdavemq atomic_or_16_nv(volatile uint16_t *target, uint16_t value) 50159ac0c16Sdavemq { return (0); } 50259ac0c16Sdavemq 50359ac0c16Sdavemq /* ARGSUSED */ 50459ac0c16Sdavemq ushort_t 50559ac0c16Sdavemq atomic_or_ushort_nv(volatile ushort_t *target, ushort_t value) 50659ac0c16Sdavemq { return (0); } 50759ac0c16Sdavemq 50859ac0c16Sdavemq /* ARGSUSED */ 50959ac0c16Sdavemq uint32_t 51059ac0c16Sdavemq atomic_or_32_nv(volatile uint32_t *target, uint32_t value) 51159ac0c16Sdavemq { return (0); } 51259ac0c16Sdavemq 51359ac0c16Sdavemq /* ARGSUSED */ 51459ac0c16Sdavemq uint_t 51559ac0c16Sdavemq atomic_or_uint_nv(volatile uint_t *target, uint_t value) 51659ac0c16Sdavemq { return (0); } 51759ac0c16Sdavemq 51859ac0c16Sdavemq /* ARGSUSED */ 51959ac0c16Sdavemq ulong_t 52059ac0c16Sdavemq atomic_or_ulong_nv(volatile ulong_t *target, ulong_t value) 52159ac0c16Sdavemq { return (0); } 52259ac0c16Sdavemq 52359ac0c16Sdavemq /* ARGSUSED */ 52459ac0c16Sdavemq uint64_t 52559ac0c16Sdavemq atomic_or_64_nv(volatile uint64_t *target, uint64_t value) 52659ac0c16Sdavemq { return (0); } 52759ac0c16Sdavemq 52859ac0c16Sdavemq /* ARGSUSED */ 52959ac0c16Sdavemq uint8_t 53059ac0c16Sdavemq atomic_and_8_nv(volatile uint8_t *target, uint8_t value) 53159ac0c16Sdavemq { return (0); } 53259ac0c16Sdavemq 53359ac0c16Sdavemq /* ARGSUSED */ 53459ac0c16Sdavemq uchar_t 53559ac0c16Sdavemq atomic_and_uchar_nv(volatile uchar_t *target, uchar_t value) 53659ac0c16Sdavemq { return (0); } 53759ac0c16Sdavemq 53859ac0c16Sdavemq /* ARGSUSED */ 53959ac0c16Sdavemq uint16_t 54059ac0c16Sdavemq atomic_and_16_nv(volatile uint16_t *target, uint16_t value) 54159ac0c16Sdavemq { return (0); } 54259ac0c16Sdavemq 54359ac0c16Sdavemq /* ARGSUSED */ 54459ac0c16Sdavemq ushort_t 54559ac0c16Sdavemq atomic_and_ushort_nv(volatile ushort_t *target, ushort_t value) 54659ac0c16Sdavemq { return (0); } 54759ac0c16Sdavemq 54859ac0c16Sdavemq /* ARGSUSED */ 54959ac0c16Sdavemq uint32_t 55059ac0c16Sdavemq atomic_and_32_nv(volatile uint32_t *target, uint32_t value) 55159ac0c16Sdavemq { return (0); } 55259ac0c16Sdavemq 55359ac0c16Sdavemq /* ARGSUSED */ 55459ac0c16Sdavemq uint_t 55559ac0c16Sdavemq atomic_and_uint_nv(volatile uint_t *target, uint_t value) 55659ac0c16Sdavemq { return (0); } 55759ac0c16Sdavemq 55859ac0c16Sdavemq /* ARGSUSED */ 55959ac0c16Sdavemq ulong_t 56059ac0c16Sdavemq atomic_and_ulong_nv(volatile ulong_t *target, ulong_t value) 56159ac0c16Sdavemq { return (0); } 56259ac0c16Sdavemq 56359ac0c16Sdavemq /* ARGSUSED */ 56459ac0c16Sdavemq uint64_t 56559ac0c16Sdavemq atomic_and_64_nv(volatile uint64_t *target, uint64_t value) 56659ac0c16Sdavemq { return (0); } 56759ac0c16Sdavemq 56859ac0c16Sdavemq /* ARGSUSED */ 56959ac0c16Sdavemq uint8_t 57059ac0c16Sdavemq atomic_cas_8(volatile uint8_t *target, uint8_t cmp, uint8_t new) 57159ac0c16Sdavemq { return (0); } 57259ac0c16Sdavemq 57359ac0c16Sdavemq /* ARGSUSED */ 57459ac0c16Sdavemq uchar_t 57559ac0c16Sdavemq atomic_cas_uchar(volatile uchar_t *target, uchar_t cmp, uchar_t new) 57659ac0c16Sdavemq { return (0); } 57759ac0c16Sdavemq 57859ac0c16Sdavemq /* ARGSUSED */ 57959ac0c16Sdavemq uint16_t 58059ac0c16Sdavemq atomic_cas_16(volatile uint16_t *target, uint16_t cmp, uint16_t new) 58159ac0c16Sdavemq { return (0); } 58259ac0c16Sdavemq 58359ac0c16Sdavemq /* ARGSUSED */ 58459ac0c16Sdavemq ushort_t 58559ac0c16Sdavemq atomic_cas_ushort(volatile ushort_t *target, ushort_t cmp, ushort_t new) 58659ac0c16Sdavemq { return (0); } 58759ac0c16Sdavemq 58859ac0c16Sdavemq /* ARGSUSED */ 58959ac0c16Sdavemq uint32_t 59059ac0c16Sdavemq atomic_cas_32(volatile uint32_t *target, uint32_t cmp, uint32_t new) 59159ac0c16Sdavemq { return (0); } 59259ac0c16Sdavemq 59359ac0c16Sdavemq /* ARGSUSED */ 59459ac0c16Sdavemq uint_t 59559ac0c16Sdavemq atomic_cas_uint(volatile uint_t *target, uint_t cmp, uint_t new) 59659ac0c16Sdavemq { return (0); } 59759ac0c16Sdavemq 59859ac0c16Sdavemq /* ARGSUSED */ 59959ac0c16Sdavemq ulong_t 60059ac0c16Sdavemq atomic_cas_ulong(volatile ulong_t *target, ulong_t cmp, ulong_t new) 60159ac0c16Sdavemq { return (0); } 60259ac0c16Sdavemq 60359ac0c16Sdavemq /* ARGSUSED */ 60459ac0c16Sdavemq uint64_t 60559ac0c16Sdavemq atomic_cas_uint64(volatile uint64_t *target, ulong_t cmp, uint64_t new) 60659ac0c16Sdavemq { return (0); } 60759ac0c16Sdavemq 60859ac0c16Sdavemq /* ARGSUSED */ 60959ac0c16Sdavemq void * 61059ac0c16Sdavemq atomic_cas_ptr(volatile void *target, void *cmp, void *new) 61159ac0c16Sdavemq { return (NULL); } 61259ac0c16Sdavemq 61359ac0c16Sdavemq /* ARGSUSED */ 61459ac0c16Sdavemq uint8_t 61559ac0c16Sdavemq atomic_swap_8(volatile uint8_t *target, uint8_t new) 61659ac0c16Sdavemq { return (0); } 61759ac0c16Sdavemq 61859ac0c16Sdavemq /* ARGSUSED */ 61959ac0c16Sdavemq uchar_t 62059ac0c16Sdavemq atomic_swap_char(volatile uchar_t *target, uchar_t new) 62159ac0c16Sdavemq { return (0); } 62259ac0c16Sdavemq 62359ac0c16Sdavemq /* ARGSUSED */ 62459ac0c16Sdavemq uint16_t 62559ac0c16Sdavemq atomic_swap_16(volatile uint16_t *target, uint16_t new) 62659ac0c16Sdavemq { return (0); } 62759ac0c16Sdavemq 62859ac0c16Sdavemq /* ARGSUSED */ 62959ac0c16Sdavemq ushort_t 63059ac0c16Sdavemq atomic_swap_ushort(volatile ushort_t *target, ushort_t new) 63159ac0c16Sdavemq { return (0); } 63259ac0c16Sdavemq 63359ac0c16Sdavemq /* ARGSUSED */ 63459ac0c16Sdavemq uint32_t 63559ac0c16Sdavemq atomic_swap_32(volatile uint32_t *target, uint32_t new) 63659ac0c16Sdavemq { return (0); } 63759ac0c16Sdavemq 63859ac0c16Sdavemq /* ARGSUSED */ 63959ac0c16Sdavemq uint_t 64059ac0c16Sdavemq atomic_swap_uint(volatile uint_t *target, uint_t new) 64159ac0c16Sdavemq { return (0); } 64259ac0c16Sdavemq 64359ac0c16Sdavemq /* ARGSUSED */ 64459ac0c16Sdavemq uint64_t 64559ac0c16Sdavemq atomic_swap_64(volatile uint64_t *target, uint64_t new) 64659ac0c16Sdavemq { return (0); } 64759ac0c16Sdavemq 64859ac0c16Sdavemq /* ARGSUSED */ 64959ac0c16Sdavemq void * 65059ac0c16Sdavemq atomic_swap_ptr(volatile void *target, void *new) 65159ac0c16Sdavemq { return (NULL); } 65259ac0c16Sdavemq 65359ac0c16Sdavemq /* ARGSUSED */ 65459ac0c16Sdavemq ulong_t 65559ac0c16Sdavemq atomic_swap_ulong(volatile ulong_t *target, ulong_t new) 65659ac0c16Sdavemq { return (0); } 65759ac0c16Sdavemq 65859ac0c16Sdavemq /* ARGSUSED */ 65959ac0c16Sdavemq int 66059ac0c16Sdavemq atomic_set_long_excl(volatile ulong_t *target, uint_t value) 66159ac0c16Sdavemq { return (0); } 66259ac0c16Sdavemq 66359ac0c16Sdavemq /* ARGSUSED */ 66459ac0c16Sdavemq int 66559ac0c16Sdavemq atomic_clear_long_excl(volatile ulong_t *target, uint_t value) 66659ac0c16Sdavemq { return (0); } 66759ac0c16Sdavemq 6687bafd143Sjb145095 void 6697bafd143Sjb145095 fp_zero(void) 6707bafd143Sjb145095 {} 671023e71deSHaik Aftandilian 672023e71deSHaik Aftandilian uint64_t 673023e71deSHaik Aftandilian gettick_npt(void) 674023e71deSHaik Aftandilian { return (0); } 675023e71deSHaik Aftandilian 676023e71deSHaik Aftandilian uint64_t 677023e71deSHaik Aftandilian getstick_npt(void) 678023e71deSHaik Aftandilian { return (0); } 679