diff options
Diffstat (limited to 'usr/src/uts/sparc/v9')
| -rw-r--r-- | usr/src/uts/sparc/v9/Makefile.files | 10 | ||||
| -rw-r--r-- | usr/src/uts/sparc/v9/Makefile.rules | 21 | ||||
| -rw-r--r-- | usr/src/uts/sparc/v9/ml/crt.s | 9 | ||||
| -rw-r--r-- | usr/src/uts/sparc/v9/ml/ddi_v9_asm.s | 641 | ||||
| -rw-r--r-- | usr/src/uts/sparc/v9/ml/float.s | 142 | ||||
| -rw-r--r-- | usr/src/uts/sparc/v9/ml/lock_prim.s | 231 | ||||
| -rw-r--r-- | usr/src/uts/sparc/v9/ml/sparcv9_subr.s | 653 | ||||
| -rw-r--r-- | usr/src/uts/sparc/v9/ml/syscall_trap.s | 34 | ||||
| -rw-r--r-- | usr/src/uts/sparc/v9/os/v9dep.c | 13 |
9 files changed, 39 insertions, 1715 deletions
diff --git a/usr/src/uts/sparc/v9/Makefile.files b/usr/src/uts/sparc/v9/Makefile.files index 55a90f5461..21a291c1ac 100644 --- a/usr/src/uts/sparc/v9/Makefile.files +++ b/usr/src/uts/sparc/v9/Makefile.files @@ -20,14 +20,13 @@ # CDDL HEADER END # # -# uts/sparc/v9/Makefile.files # Copyright 1991,1998-1999,2003 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#ident "%Z%%M% %I% %E% SMI" + # # This Makefile defines all file modules and build rules for the -# directory uts/sparc/v9 and it's children. These are the source files which +# directory uts/sparc/v9 and its children. These are the source files which # are specific to the sparcv9 processor. # @@ -62,10 +61,7 @@ INC_PATH += -I$(UTSBASE)/sparc/v9 # # Since assym.h is a derived file, the dependency must be explicit for -# all files including this file. (This is only actually required in the -# instance when the .nse_depinfo file does not exist.) It may seem that -# the lint targets should also have a similar dependency, but they don't -# since only C headers are included when #defined(lint) is true. +# all files including this file. # ASSYM_DEPS += crt.o \ float.o \ diff --git a/usr/src/uts/sparc/v9/Makefile.rules b/usr/src/uts/sparc/v9/Makefile.rules index 36c5331f43..d094ba364f 100644 --- a/usr/src/uts/sparc/v9/Makefile.rules +++ b/usr/src/uts/sparc/v9/Makefile.rules @@ -23,7 +23,7 @@ # Copyright 1991-2002 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -# ident "%Z%%M% %I% %E% SMI" + # # This Makefile defines all file modules and build rules for the # directory uts/sparc/v9 and its children. These are the source files which @@ -58,22 +58,3 @@ $(OBJS_DIR)/%.o: $(UTSBASE)/sparc/v9/syscall/%.c $(OBJS_DIR)/%.o: $(UTSBASE)/sparc/v9/vm/%.c $(COMPILE.c) -o $@ $< $(CTFCONVERT_O) - -# -# Section 1b: Lint `object' build rules. -# -$(LINTS_DIR)/%.ln: $(UTSBASE)/sparc/v9/fpu/%.c - @($(LHEAD) $(LINT.c) $< $(LTAIL)) - -$(LINTS_DIR)/%.ln: $(UTSBASE)/sparc/v9/ml/%.s - @($(LHEAD) $(LINT.s) $< $(LTAIL)) - -$(LINTS_DIR)/%.ln: $(UTSBASE)/sparc/v9/os/%.c - @($(LHEAD) $(LINT.c) $< $(LTAIL)) - -$(LINTS_DIR)/%.ln: $(UTSBASE)/sparc/v9/syscall/%.c - @($(LHEAD) $(LINT.c) $< $(LTAIL)) - -$(LINTS_DIR)/%.ln: $(UTSBASE)/sparc/v9/vm/%.c - @($(LHEAD) $(LINT.c) $< $(LTAIL)) - diff --git a/usr/src/uts/sparc/v9/ml/crt.s b/usr/src/uts/sparc/v9/ml/crt.s index 0ee5b78947..3e5af1e960 100644 --- a/usr/src/uts/sparc/v9/ml/crt.s +++ b/usr/src/uts/sparc/v9/ml/crt.s @@ -25,12 +25,6 @@ #ident "%Z%%M% %I% %E% SMI" /* From SunOS 4.1 1.6 */ -#if defined(lint) -#include <sys/types.h> -#include <sys/regset.h> -#include <sys/privregs.h> -#endif /* lint */ - #include <sys/asm_linkage.h> #include <sys/trap.h> #include <sys/machtrap.h> @@ -43,8 +37,6 @@ * get lint prototypes. */ -#if !defined(lint) - /* * Structure return */ @@ -158,4 +150,3 @@ srax %o1, 32, %o0 SET_SIZE(__urem64) -#endif /* !lint */ diff --git a/usr/src/uts/sparc/v9/ml/ddi_v9_asm.s b/usr/src/uts/sparc/v9/ml/ddi_v9_asm.s index f9db80b40f..b7c6d11660 100644 --- a/usr/src/uts/sparc/v9/ml/ddi_v9_asm.s +++ b/usr/src/uts/sparc/v9/ml/ddi_v9_asm.s @@ -23,8 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include <sys/asi.h> #include <sys/asm_linkage.h> #include <sys/machthread.h> @@ -32,18 +30,10 @@ #include <sys/ontrap.h> #include <sys/dditypes.h> -#ifndef lint #include "assym.h" -#endif - -#if defined(lint) -#include <sys/isa_defs.h> -#include <sys/types.h> -#include <sys/sunddi.h> -#endif /* lint */ /* - * This file implements the following ddi common access + * This file implements the following ddi common access * functions: * * ddi_get{8,16,32,64} @@ -58,506 +48,19 @@ * accessible via ld/st instructions. */ -#if defined(lint) - -/*ARGSUSED*/ -uint8_t -ddi_get8(ddi_acc_handle_t handle, uint8_t *addr) -{ - return (0); -} - -/*ARGSUSED*/ -uint8_t -ddi_mem_get8(ddi_acc_handle_t handle, uint8_t *addr) -{ - return (0); -} - -/*ARGSUSED*/ -uint8_t -ddi_io_get8(ddi_acc_handle_t handle, uint8_t *dev_addr) -{ - return (0); -} - -/*ARGSUSED*/ -uint16_t -ddi_get16(ddi_acc_handle_t handle, uint16_t *addr) -{ - return (0); -} - -/*ARGSUSED*/ -uint16_t -ddi_mem_get16(ddi_acc_handle_t handle, uint16_t *addr) -{ - return (0); -} - -/*ARGSUSED*/ -uint16_t -ddi_io_get16(ddi_acc_handle_t handle, uint16_t *dev_addr) -{ - return (0); -} - -/*ARGSUSED*/ -uint32_t -ddi_get32(ddi_acc_handle_t handle, uint32_t *addr) -{ - return (0); -} - -/*ARGSUSED*/ -uint32_t -ddi_mem_get32(ddi_acc_handle_t handle, uint32_t *addr) -{ - return (0); -} - -/*ARGSUSED*/ -uint32_t -ddi_io_get32(ddi_acc_handle_t handle, uint32_t *dev_addr) -{ - return (0); -} - -/*ARGSUSED*/ -uint64_t -ddi_get64(ddi_acc_handle_t handle, uint64_t *addr) -{ - return (0); -} - -/*ARGSUSED*/ -uint64_t -ddi_mem_get64(ddi_acc_handle_t handle, uint64_t *addr) -{ - return (0); -} - -/*ARGSUSED*/ -void -ddi_put8(ddi_acc_handle_t handle, uint8_t *addr, uint8_t value) {} - -/*ARGSUSED*/ -void -ddi_mem_put8(ddi_acc_handle_t handle, uint8_t *dev_addr, uint8_t value) {} - -/*ARGSUSED*/ -void -ddi_io_put8(ddi_acc_handle_t handle, uint8_t *dev_addr, uint8_t value) {} - -/*ARGSUSED*/ -void -ddi_put16(ddi_acc_handle_t handle, uint16_t *addr, uint16_t value) {} - -/*ARGSUSED*/ -void -ddi_mem_put16(ddi_acc_handle_t handle, uint16_t *dev_addr, uint16_t value) {} - -/*ARGSUSED*/ -void -ddi_io_put16(ddi_acc_handle_t handle, uint16_t *dev_addr, uint16_t value) {} - -/*ARGSUSED*/ -void -ddi_put32(ddi_acc_handle_t handle, uint32_t *addr, uint32_t value) {} - -/*ARGSUSED*/ -void -ddi_mem_put32(ddi_acc_handle_t handle, uint32_t *dev_addr, uint32_t value) {} - -/*ARGSUSED*/ -void -ddi_io_put32(ddi_acc_handle_t handle, uint32_t *dev_addr, uint32_t value) {} - -/*ARGSUSED*/ -void -ddi_put64(ddi_acc_handle_t handle, uint64_t *addr, uint64_t value) {} - -/*ARGSUSED*/ -void -ddi_mem_put64(ddi_acc_handle_t handle, uint64_t *dev_addr, uint64_t value) {} - -/*ARGSUSED*/ -void -ddi_rep_get8(ddi_acc_handle_t handle, uint8_t *host_addr, uint8_t *dev_addr, - size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -ddi_rep_get16(ddi_acc_handle_t handle, uint16_t *host_addr, uint16_t *dev_addr, - size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -ddi_rep_get32(ddi_acc_handle_t handle, uint32_t *host_addr, uint32_t *dev_addr, - size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -ddi_rep_get64(ddi_acc_handle_t handle, uint64_t *host_addr, uint64_t *dev_addr, - size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -ddi_rep_put8(ddi_acc_handle_t handle, uint8_t *host_addr, uint8_t *dev_addr, - size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -ddi_rep_put16(ddi_acc_handle_t handle, uint16_t *host_addr, uint16_t *dev_addr, - size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -ddi_rep_put32(ddi_acc_handle_t handle, uint32_t *host_addr, uint32_t *dev_addr, - size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -ddi_rep_put64(ddi_acc_handle_t handle, uint64_t *host_addr, uint64_t *dev_addr, - size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -ddi_mem_rep_get8(ddi_acc_handle_t handle, uint8_t *host_addr, - uint8_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -ddi_mem_rep_get16(ddi_acc_handle_t handle, uint16_t *host_addr, - uint16_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -ddi_mem_rep_get32(ddi_acc_handle_t handle, uint32_t *host_addr, - uint32_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -ddi_mem_rep_get64(ddi_acc_handle_t handle, uint64_t *host_addr, - uint64_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -ddi_mem_rep_put8(ddi_acc_handle_t handle, uint8_t *host_addr, - uint8_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -ddi_mem_rep_put16(ddi_acc_handle_t handle, uint16_t *host_addr, - uint16_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -ddi_mem_rep_put32(ddi_acc_handle_t handle, uint32_t *host_addr, - uint32_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -ddi_mem_rep_put64(ddi_acc_handle_t handle, uint64_t *host_addr, - uint64_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -ddi_io_rep_get8(ddi_acc_handle_t handle, - uint8_t *host_addr, uint8_t *dev_addr, size_t repcount) {} - -/*ARGSUSED*/ -void -ddi_io_rep_get16(ddi_acc_handle_t handle, - uint16_t *host_addr, uint16_t *dev_addr, size_t repcount) {} - -/*ARGSUSED*/ -void -ddi_io_rep_get32(ddi_acc_handle_t handle, - uint32_t *host_addr, uint32_t *dev_addr, size_t repcount) {} - -/*ARGSUSED*/ -void -ddi_io_rep_put8(ddi_acc_handle_t handle, - uint8_t *host_addr, uint8_t *dev_addr, size_t repcount) {} - -/*ARGSUSED*/ -void -ddi_io_rep_put16(ddi_acc_handle_t handle, - uint16_t *host_addr, uint16_t *dev_addr, size_t repcount) {} - - -/*ARGSUSED*/ -void -ddi_io_rep_put32(ddi_acc_handle_t handle, - uint32_t *host_addr, uint32_t *dev_addr, size_t repcount) {} - -/*ARGSUSED*/ -uint8_t -i_ddi_get8(ddi_acc_impl_t *hdlp, uint8_t *addr) -{ - return (0); -} - -/*ARGSUSED*/ -uint16_t -i_ddi_get16(ddi_acc_impl_t *hdlp, uint16_t *addr) -{ - return (0); -} - -/*ARGSUSED*/ -uint32_t -i_ddi_get32(ddi_acc_impl_t *hdlp, uint32_t *addr) -{ - return (0); -} - -/*ARGSUSED*/ -uint64_t -i_ddi_get64(ddi_acc_impl_t *hdlp, uint64_t *addr) -{ - return (0); -} - -/*ARGSUSED*/ -void -i_ddi_put8(ddi_acc_impl_t *hdlp, uint8_t *addr, uint8_t value) {} - -/*ARGSUSED*/ -void -i_ddi_put16(ddi_acc_impl_t *hdlp, uint16_t *addr, uint16_t value) {} - -/*ARGSUSED*/ -void -i_ddi_put32(ddi_acc_impl_t *hdlp, uint32_t *addr, uint32_t value) {} - -/*ARGSUSED*/ -void -i_ddi_put64(ddi_acc_impl_t *hdlp, uint64_t *addr, uint64_t value) {} - -/*ARGSUSED*/ -void -i_ddi_rep_get8(ddi_acc_impl_t *hdlp, uint8_t *host_addr, uint8_t *dev_addr, - size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -i_ddi_rep_get16(ddi_acc_impl_t *hdlp, uint16_t *host_addr, - uint16_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -i_ddi_rep_get32(ddi_acc_impl_t *hdlp, uint32_t *host_addr, - uint32_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -i_ddi_rep_get64(ddi_acc_impl_t *hdlp, uint64_t *host_addr, - uint64_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -i_ddi_rep_put8(ddi_acc_impl_t *hdlp, uint8_t *host_addr, uint8_t *dev_addr, - size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -i_ddi_rep_put16(ddi_acc_impl_t *hdlp, uint16_t *host_addr, - uint16_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -i_ddi_rep_put32(ddi_acc_impl_t *hdlp, uint32_t *host_addr, - uint32_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -i_ddi_rep_put64(ddi_acc_impl_t *hdlp, uint64_t *host_addr, - uint64_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -uint8_t -i_ddi_prot_get8(ddi_acc_impl_t *hdlp, uint8_t *addr) -{ - return (0); -} - -/*ARGSUSED*/ -uint16_t -i_ddi_prot_get16(ddi_acc_impl_t *hdlp, uint16_t *addr) -{ - return (0); -} - -/*ARGSUSED*/ -uint32_t -i_ddi_prot_get32(ddi_acc_impl_t *hdlp, uint32_t *addr) -{ - return (0); -} - -/*ARGSUSED*/ -uint64_t -i_ddi_prot_get64(ddi_acc_impl_t *hdlp, uint64_t *addr) -{ - return (0); -} - -/*ARGSUSED*/ -void -i_ddi_prot_put8(ddi_acc_impl_t *hdlp, uint8_t *addr, uint8_t value) {} - -/*ARGSUSED*/ -void -i_ddi_prot_put16(ddi_acc_impl_t *hdlp, uint16_t *addr, uint16_t value) {} - -/*ARGSUSED*/ -void -i_ddi_prot_put32(ddi_acc_impl_t *hdlp, uint32_t *addr, uint32_t value) {} - -/*ARGSUSED*/ -void -i_ddi_prot_put64(ddi_acc_impl_t *hdlp, uint64_t *addr, uint64_t value) {} - -/*ARGSUSED*/ -void -i_ddi_prot_rep_get8(ddi_acc_impl_t *hdlp, uint8_t *host_addr, uint8_t *dev_addr, - size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -i_ddi_prot_rep_get16(ddi_acc_impl_t *hdlp, uint16_t *host_addr, - uint16_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -i_ddi_prot_rep_get32(ddi_acc_impl_t *hdlp, uint32_t *host_addr, - uint32_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -i_ddi_prot_rep_get64(ddi_acc_impl_t *hdlp, uint64_t *host_addr, - uint64_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -i_ddi_prot_rep_put8(ddi_acc_impl_t *hdlp, uint8_t *host_addr, uint8_t *dev_addr, - size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -i_ddi_prot_rep_put16(ddi_acc_impl_t *hdlp, uint16_t *host_addr, - uint16_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -i_ddi_prot_rep_put32(ddi_acc_impl_t *hdlp, uint32_t *host_addr, - uint32_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -void -i_ddi_prot_rep_put64(ddi_acc_impl_t *hdlp, uint64_t *host_addr, - uint64_t *dev_addr, size_t repcount, uint_t flags) -{ -} - -/*ARGSUSED*/ -int -i_ddi_ontrap(ddi_acc_handle_t handle) -{ - return (0); -} - -/*ARGSUSED*/ -void -i_ddi_notrap(ddi_acc_handle_t handle) -{ -} - -/*ARGSUSED*/ -void -i_ddi_caut_get(size_t getsz, void *addr, void *value) -{ -} - -#else - /* * The functionality of each of the ddi_get/put routines is performed by * the respective indirect function defined in the access handle. Use of * the access handle functions provides compatibility across platforms for * drivers. - * + * * By default, the indirect access handle functions are initialized to the * i_ddi_get/put routines to perform memory mapped IO. If memory mapped IO * is not possible or desired, the access handle must be intialized to another * valid routine to perform the sepcified IO operation. * * The alignment and placement of the following functions have been optimized - * such that the implementation specific versions, i_ddi*, fall within the + * such that the implementation specific versions, i_ddi*, fall within the * same cache-line of the generic versions, ddi_*. This insures that an * I-cache hit will occur thus minimizing the performance impact of using the * access handle. @@ -565,20 +68,14 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) .align 32 ENTRY(ddi_get8) - ALTENTRY(ddi_getb) ALTENTRY(ddi_io_get8) - ALTENTRY(ddi_io_getb) ALTENTRY(ddi_mem_get8) - ALTENTRY(ddi_mem_getb) ldn [%o0 + AHI_GET8], %g1 /* hdl->ahi_get8 access hndl */ jmpl %g1, %g0 /* jump to access handle routine */ nop SET_SIZE(ddi_get8) - SET_SIZE(ddi_getb) SET_SIZE(ddi_io_get8) - SET_SIZE(ddi_io_getb) SET_SIZE(ddi_mem_get8) - SET_SIZE(ddi_mem_getb) .align 16 ENTRY(i_ddi_get8) @@ -588,20 +85,14 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) .align 32 ENTRY(ddi_get16) - ALTENTRY(ddi_getw) ALTENTRY(ddi_io_get16) - ALTENTRY(ddi_io_getw) ALTENTRY(ddi_mem_get16) - ALTENTRY(ddi_mem_getw) ldn [%o0 + AHI_GET16], %g1 /* hdl->ahi_get16 access hndl */ jmpl %g1, %g0 /* jump to access handle routine */ nop SET_SIZE(ddi_get16) - SET_SIZE(ddi_getw) SET_SIZE(ddi_io_get16) - SET_SIZE(ddi_io_getw) SET_SIZE(ddi_mem_get16) - SET_SIZE(ddi_mem_getw) .align 16 ENTRY(i_ddi_get16) @@ -613,20 +104,14 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) .align 32 ENTRY(ddi_get32) - ALTENTRY(ddi_getl) ALTENTRY(ddi_io_get32) - ALTENTRY(ddi_io_getl) ALTENTRY(ddi_mem_get32) - ALTENTRY(ddi_mem_getl) ldn [%o0 + AHI_GET32], %g1 /* hdl->ahi_get32 access handle */ jmpl %g1, %g0 /* jump to access handle routine */ nop SET_SIZE(ddi_get32) - SET_SIZE(ddi_getl) SET_SIZE(ddi_io_get32) - SET_SIZE(ddi_io_getl) SET_SIZE(ddi_mem_get32) - SET_SIZE(ddi_mem_getl) .align 16 ENTRY(i_ddi_get32) @@ -638,20 +123,14 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) .align 32 ENTRY(ddi_get64) - ALTENTRY(ddi_getll) ALTENTRY(ddi_io_get64) - ALTENTRY(ddi_io_getll) ALTENTRY(ddi_mem_get64) - ALTENTRY(ddi_mem_getll) ldn [%o0 + AHI_GET64], %g1 /* hdl->ahi_get64 access handle */ jmpl %g1, %g0 /* jump to access handle routine */ nop SET_SIZE(ddi_get64) - SET_SIZE(ddi_getll) SET_SIZE(ddi_io_get64) - SET_SIZE(ddi_io_getll) SET_SIZE(ddi_mem_get64) - SET_SIZE(ddi_mem_getll) .align 16 ENTRY(i_ddi_get64) @@ -663,20 +142,14 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) .align 32 ENTRY(ddi_put8) - ALTENTRY(ddi_putb) ALTENTRY(ddi_io_put8) - ALTENTRY(ddi_io_putb) ALTENTRY(ddi_mem_put8) - ALTENTRY(ddi_mem_putb) ldn [%o0 + AHI_PUT8], %g1 /* hdl->ahi_put8 access handle */ jmpl %g1, %g0 /* jump to access handle routine */ nop SET_SIZE(ddi_put8) - SET_SIZE(ddi_putb) SET_SIZE(ddi_io_put8) - SET_SIZE(ddi_io_putb) SET_SIZE(ddi_mem_put8) - SET_SIZE(ddi_mem_putb) .align 16 ENTRY(i_ddi_put8) @@ -686,20 +159,14 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) .align 32 ENTRY(ddi_put16) - ALTENTRY(ddi_putw) ALTENTRY(ddi_io_put16) - ALTENTRY(ddi_io_putw) ALTENTRY(ddi_mem_put16) - ALTENTRY(ddi_mem_putw) ldn [%o0 + AHI_PUT16], %g1 /* hdl->ahi_put16 access handle */ jmpl %g1, %g0 /* jump to access handle routine */ nop SET_SIZE(ddi_put16) - SET_SIZE(ddi_putw) SET_SIZE(ddi_io_put16) - SET_SIZE(ddi_io_putw) SET_SIZE(ddi_mem_put16) - SET_SIZE(ddi_mem_putw) .align 16 ENTRY(i_ddi_put16) @@ -711,20 +178,14 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) .align 32 ENTRY(ddi_put32) - ALTENTRY(ddi_putl) ALTENTRY(ddi_io_put32) - ALTENTRY(ddi_io_putl) ALTENTRY(ddi_mem_put32) - ALTENTRY(ddi_mem_putl) ldn [%o0 + AHI_PUT32], %g1 /* hdl->ahi_put16 access handle */ jmpl %g1, %g0 /* jump to access handle routine */ nop SET_SIZE(ddi_put32) - SET_SIZE(ddi_putl) SET_SIZE(ddi_io_put32) - SET_SIZE(ddi_io_putl) SET_SIZE(ddi_mem_put32) - SET_SIZE(ddi_mem_putl) .align 16 ENTRY(i_ddi_put32) @@ -736,20 +197,14 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) .align 32 ENTRY(ddi_put64) - ALTENTRY(ddi_putll) ALTENTRY(ddi_io_put64) - ALTENTRY(ddi_io_putll) ALTENTRY(ddi_mem_put64) - ALTENTRY(ddi_mem_putll) ldn [%o0 + AHI_PUT64], %g1 /* hdl->ahi_put64 access handle */ - jmpl %g1, %g0 /* jump to access handle routine */ + jmpl %g1, %g0 /* jump to access handle routine */ nop SET_SIZE(ddi_put64) - SET_SIZE(ddi_putll) SET_SIZE(ddi_io_put64) - SET_SIZE(ddi_io_putll) SET_SIZE(ddi_mem_put64) - SET_SIZE(ddi_mem_putll) .align 16 ENTRY(i_ddi_put64) @@ -761,16 +216,16 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) /* * The ddi_io_rep_get/put routines don't take a flag argument like the "plain" - * and mem versions do. This flag is used to determine whether or not the + * and mem versions do. This flag is used to determine whether or not the * device address or port should be automatically incremented. For IO space, * the device port is never incremented and as such, the flag is always set * to DDI_DEV_NO_AUTOINCR. * - * This define processes the repetitive get functionality. Automatic - * incrementing of the device address is determined by the flag field - * %o4. If this is set for AUTOINCR, %o4 is updated with 1 for the + * This define processes the repetitive get functionality. Automatic + * incrementing of the device address is determined by the flag field + * %o4. If this is set for AUTOINCR, %o4 is updated with 1 for the * subsequent increment in 2:. - * + * * If this flag is not set for AUTOINCR, %o4 is update with a value of 0 thus * making the increment operation a non-operation. */ @@ -791,16 +246,12 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) .align 32 ENTRY(ddi_rep_get8) - ALTENTRY(ddi_rep_getb) ALTENTRY(ddi_mem_rep_get8) - ALTENTRY(ddi_mem_rep_getb) ldn [%o0 + AHI_REP_GET8], %g1 jmpl %g1, %g0 nop SET_SIZE(ddi_rep_get8) - SET_SIZE(ddi_rep_getb) SET_SIZE(ddi_mem_rep_get8) - SET_SIZE(ddi_mem_rep_getb) .align 16 ENTRY(i_ddi_rep_get8) @@ -808,19 +259,15 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) retl nop SET_SIZE(i_ddi_rep_get8) - + .align 32 ENTRY(ddi_rep_get16) - ALTENTRY(ddi_rep_getw) ALTENTRY(ddi_mem_rep_get16) - ALTENTRY(ddi_mem_rep_getw) ldn [%o0 + AHI_REP_GET16], %g1 jmpl %g1, %g0 nop SET_SIZE(ddi_rep_get16) - SET_SIZE(ddi_rep_getw) SET_SIZE(ddi_mem_rep_get16) - SET_SIZE(ddi_mem_rep_getw) .align 16 ENTRY(i_ddi_rep_get16) @@ -833,16 +280,12 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) .align 32 ENTRY(ddi_rep_get32) - ALTENTRY(ddi_rep_getl) ALTENTRY(ddi_mem_rep_get32) - ALTENTRY(ddi_mem_rep_getl) ldn [%o0 + AHI_REP_GET32], %g1 jmpl %g1, %g0 nop SET_SIZE(ddi_rep_get32) - SET_SIZE(ddi_rep_getl) SET_SIZE(ddi_mem_rep_get32) - SET_SIZE(ddi_mem_rep_getl) .align 16 ENTRY(i_ddi_rep_get32) @@ -855,16 +298,12 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) .align 32 ENTRY(ddi_rep_get64) - ALTENTRY(ddi_rep_getll) ALTENTRY(ddi_mem_rep_get64) - ALTENTRY(ddi_mem_rep_getll) ldn [%o0 + AHI_REP_GET64], %g1 jmpl %g1, %g0 nop SET_SIZE(ddi_rep_get64) - SET_SIZE(ddi_rep_getll) SET_SIZE(ddi_mem_rep_get64) - SET_SIZE(ddi_mem_rep_getll) .align 16 ENTRY(i_ddi_rep_get64) @@ -875,12 +314,12 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) SET_SIZE(i_ddi_rep_get64) SET_SIZE(i_ddi_swap_rep_get64) -/* - * This define processes the repetitive put functionality. Automatic - * incrementing of the device address is determined by the flag field - * %o4. If this is set for AUTOINCR, %o4 is updated with 1 for the +/* + * This define processes the repetitive put functionality. Automatic + * incrementing of the device address is determined by the flag field + * %o4. If this is set for AUTOINCR, %o4 is updated with 1 for the * subsequent increment in 2:. - * + * * If this flag is not set for AUTOINCR, %o4 is update with a value of 0 thus * making the increment operation a non-operation. */ @@ -900,16 +339,12 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) .align 32 ENTRY(ddi_rep_put8) - ALTENTRY(ddi_rep_putb) ALTENTRY(ddi_mem_rep_put8) - ALTENTRY(ddi_mem_rep_putb) ldn [%o0 + AHI_REP_PUT8], %g1 jmpl %g1, %g0 nop SET_SIZE(ddi_rep_put8) - SET_SIZE(ddi_rep_putb) SET_SIZE(ddi_mem_rep_put8) - SET_SIZE(ddi_mem_rep_putb) .align 16 ENTRY(i_ddi_rep_put8) @@ -920,16 +355,12 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) .align 32 ENTRY(ddi_rep_put16) - ALTENTRY(ddi_rep_putw) ALTENTRY(ddi_mem_rep_put16) - ALTENTRY(ddi_mem_rep_putw) ldn [%o0 + AHI_REP_PUT16], %g1 jmpl %g1, %g0 nop SET_SIZE(ddi_rep_put16) - SET_SIZE(ddi_rep_putw) SET_SIZE(ddi_mem_rep_put16) - SET_SIZE(ddi_mem_rep_putw) .align 16 ENTRY(i_ddi_rep_put16) @@ -942,16 +373,12 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) .align 32 ENTRY(ddi_rep_put32) - ALTENTRY(ddi_rep_putl) ALTENTRY(ddi_mem_rep_put32) - ALTENTRY(ddi_mem_rep_putl) ldn [%o0 + AHI_REP_PUT32], %g1 jmpl %g1, %g0 nop SET_SIZE(ddi_rep_put32) - SET_SIZE(ddi_rep_putl) SET_SIZE(ddi_mem_rep_put32) - SET_SIZE(ddi_mem_rep_putl) .align 16 ENTRY(i_ddi_rep_put32) @@ -964,16 +391,12 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) .align 32 ENTRY(ddi_rep_put64) - ALTENTRY(ddi_rep_putll) ALTENTRY(ddi_mem_rep_put64) - ALTENTRY(ddi_mem_rep_putll) ldn [%o0 + AHI_REP_PUT64], %g1 jmpl %g1, %g0 nop SET_SIZE(ddi_rep_put64) - SET_SIZE(ddi_rep_putll) SET_SIZE(ddi_mem_rep_put64) - SET_SIZE(ddi_mem_rep_putll) .align 16 ENTRY(i_ddi_rep_put64) @@ -986,43 +409,35 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) .align 16 ENTRY(ddi_io_rep_get8) - ALTENTRY(ddi_io_rep_getb) set DDI_DEV_NO_AUTOINCR, %o4 /* Set flag to DDI_DEV_NO_AUTOINCR */ ldn [%o0 + AHI_REP_GET8], %g1 jmpl %g1, %g0 nop SET_SIZE(ddi_io_rep_get8) - SET_SIZE(ddi_io_rep_getb) .align 16 ENTRY(ddi_io_rep_get16) - ALTENTRY(ddi_io_rep_getw) set DDI_DEV_NO_AUTOINCR, %o4 /* Set flag to DDI_DEV_NO_AUTOINCR */ ldn [%o0 + AHI_REP_GET16], %g1 jmpl %g1, %g0 nop SET_SIZE(ddi_io_rep_get16) - SET_SIZE(ddi_io_rep_getw) .align 16 ENTRY(ddi_io_rep_get32) - ALTENTRY(ddi_io_rep_getl) set DDI_DEV_NO_AUTOINCR, %o4 /* Set flag to DDI_DEV_NO_AUTOINCR */ ldn [%o0 + AHI_REP_GET32], %g1 jmpl %g1, %g0 nop SET_SIZE(ddi_io_rep_get32) - SET_SIZE(ddi_io_rep_getl) .align 16 ENTRY(ddi_io_rep_get64) - ALTENTRY(ddi_io_rep_getll) set DDI_DEV_NO_AUTOINCR, %o4 /* Set flag to DDI_DEV_NO_AUTOINCR */ ldn [%o0 + AHI_REP_GET64], %g1 jmpl %g1, %g0 nop SET_SIZE(ddi_io_rep_get64) - SET_SIZE(ddi_io_rep_getll) .align 64 ENTRY(ddi_check_acc_handle) @@ -1031,7 +446,7 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) jmpl %g1, %o7 mov %i0, %o0 brnz,a,pn %o0, 0f ! if (return_value != 0) - mov -1, %o0 ! return (DDI_FAILURE) + mov -1, %o0 ! return (DDI_FAILURE) 0: ! else return (DDI_SUCCESS) sra %o0, 0, %i0 ret @@ -1046,43 +461,35 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) .align 16 ENTRY(ddi_io_rep_put8) - ALTENTRY(ddi_io_rep_putb) set DDI_DEV_NO_AUTOINCR, %o4 /* Set flag to DDI_DEV_NO_AUTOINCR */ ldn [%o0 + AHI_REP_PUT8], %g1 jmpl %g1, %g0 nop SET_SIZE(ddi_io_rep_put8) - SET_SIZE(ddi_io_rep_putb) .align 16 ENTRY(ddi_io_rep_put16) - ALTENTRY(ddi_io_rep_putw) set DDI_DEV_NO_AUTOINCR, %o4 /* Set flag to DDI_DEV_NO_AUTOINCR */ ldn [%o0 + AHI_REP_PUT16], %g1 jmpl %g1, %g0 nop SET_SIZE(ddi_io_rep_put16) - SET_SIZE(ddi_io_rep_putw) .align 16 ENTRY(ddi_io_rep_put32) - ALTENTRY(ddi_io_rep_putl) set DDI_DEV_NO_AUTOINCR, %o4 /* Set flag to DDI_DEV_NO_AUTOINCR */ ldn [%o0 + AHI_REP_PUT32], %g1 jmpl %g1, %g0 nop SET_SIZE(ddi_io_rep_put32) - SET_SIZE(ddi_io_rep_putl) .align 16 ENTRY(ddi_io_rep_put64) - ALTENTRY(ddi_io_rep_putll) set DDI_DEV_NO_AUTOINCR, %o4 /* Set flag to DDI_DEV_NO_AUTOINCR */ ldn [%o0 + AHI_REP_PUT64], %g1 jmpl %g1, %g0 nop SET_SIZE(ddi_io_rep_put64) - SET_SIZE(ddi_io_rep_putll) ENTRY(do_peek) rdpr %pstate, %o3 ! check ints @@ -1117,7 +524,7 @@ i_ddi_caut_get(size_t getsz, void *addr, void *value) bnz 1f nop wrpr %o3, PSTATE_IE, %pstate -1: +1: mov %g0, %o0 done: retl @@ -1180,7 +587,7 @@ done: bnz 1f nop wrpr %o3, PSTATE_IE, %pstate -1: +1: retl sub %g0, 1, %o0 ! return (DDI_FAILURE); .peekfail: @@ -1240,7 +647,7 @@ done: * To prevent an access from causing a system panic, * we use on_trap semantics to catch the error and * set error status. - * + * * If a read access error is detected and DDI_CAUTIOUS_ACC or * DDI_FLAGERR_ACC protection was requested, we will trampoline to the * error handler, i_ddi_trampoline. i_ddi_trampoline will: @@ -1253,8 +660,8 @@ done: * generated and claimed by a bus nexus responsible for the write * transaction. The nexus error handler is expected to set the * error status and the IO initiating driver is expected to check - * for a failed transaction via ddi_fm_acc_err_get(). - * + * for a failed transaction via ddi_fm_acc_err_get(). + * */ .seg ".data" @@ -1280,7 +687,7 @@ done: stx %g0, [%o4 + ERR_ENA] ! ahi_err->err_ena = 0 mov -2, %o0 st %o0, [%o4 + ERR_STATUS] ! ahi_err->err_status = NONFATAL - b longjmp ! longjmp back + b longjmp ! longjmp back add %o5, OT_JMPBUF, %o0 ! %o0 = &ot_jmpbuf .cautaccfail: set .acc_panic, %o0 ! Load panic message @@ -1341,7 +748,7 @@ done: ldn [%o5 + OT_PREV], %o0 ! restore ontrap membar #Sync ! force error barrier stn %o0, [THREAD_REG + T_ONTRAP]; - b longjmp ! longjmp back + b longjmp ! longjmp back add %o5, OT_JMPBUF, %o0 ! %o0 = &ot_jmpbuf .protaccfail: set .acc_panic, %o0 ! Load panic message @@ -1554,5 +961,3 @@ cautdone: retl nop SET_SIZE(i_ddi_caut_get) - -#endif /* lint */ diff --git a/usr/src/uts/sparc/v9/ml/float.s b/usr/src/uts/sparc/v9/ml/float.s index 2c4b6e8cc8..0a5088fa85 100644 --- a/usr/src/uts/sparc/v9/ml/float.s +++ b/usr/src/uts/sparc/v9/ml/float.s @@ -32,9 +32,7 @@ #include <sys/machsig.h> #include <sys/machthread.h> -#if !defined(lint) && !defined(__lint) #include "assym.h" -#endif /* lint */ /* * Floating point trap handling. @@ -81,16 +79,6 @@ * that appear to be a kaos bug, so don't use them! */ -#if defined(lint) || defined(__lint) - -#ifdef FP_DISABLED -int fpu_exists = 0; -#else -int fpu_exists = 1; -#endif - -#else /* lint */ - .section ".data" .align 8 fsrholder: @@ -107,8 +95,6 @@ fsrholder: DGDEF(fpu_version) .word -1 -#endif /* lint */ - /* * FPU probe - read the %fsr and get fpu_version. * Called from autoconf. If a %fq is created for @@ -116,15 +102,6 @@ fsrholder: * could be created by this function. */ -#if defined(lint) || defined(__lint) - -/*ARGSUSED*/ -void -fpu_probe(void) -{} - -#else /* lint */ - ENTRY_NP(fpu_probe) wr %g0, FPRS_FEF, %fprs ! enable fpu in fprs rdpr %pstate, %g2 ! read pstate, save value in %g2 @@ -144,8 +121,6 @@ fpu_probe(void) wr %g0, %g0, %fprs ! disable fpu and clear fprs SET_SIZE(fpu_probe) -#endif /* lint */ - /* * fp_clearregs(fp) * struct v9_fpu *fp; @@ -156,15 +131,6 @@ fpu_probe(void) * so when the return to userland is made, the fpu is enabled. */ -#if defined(lint) || defined(__lint) - -/*ARGSUSED*/ -void -fp_clearregs(kfpu_t *fp) -{} - -#else /* lint */ - ENTRY_NP(fp_clearregs) ldx [%o0 + FPU_FSR], %fsr ! load fsr @@ -205,8 +171,6 @@ fp_clearregs(kfpu_t *fp) ldd [%o0], %d62 SET_SIZE(fp_clearregs) -#endif /* lint */ - /* * void _fp_read_pfreg(pf, n) * uint32_t *pf; Old freg value. @@ -226,20 +190,6 @@ fp_clearregs(kfpu_t *fp) * } */ -#if defined(lint) || defined(__lint) - -/*ARGSUSED*/ -void -_fp_read_pfreg(uint32_t *pf, u_int n) -{} - -/*ARGSUSED*/ -void -_fp_write_pfreg(uint32_t *pf, u_int n) -{} - -#else /* lint */ - ENTRY_NP(_fp_read_pfreg) sll %o1, 3, %o1 ! Table entries are 8 bytes each. set .stable, %g1 ! g1 gets base of table. @@ -326,8 +276,6 @@ _fp_write_pfreg(uint32_t *pf, u_int n) SET_SIZE(_fp_read_pfreg) SET_SIZE(_fp_write_pfreg) -#endif /* lint */ - /* * void _fp_read_pdreg( * uint64_t *pd, Old dreg value. @@ -347,20 +295,6 @@ _fp_write_pfreg(uint32_t *pf, u_int n) * } */ -#if defined(lint) || defined(__lint) - -/*ARGSUSED*/ -void -_fp_read_pdreg(uint64_t *pd, u_int n) -{} - -/*ARGSUSED*/ -void -_fp_write_pdreg(uint64_t *pd, u_int n) -{} - -#else /* lint */ - ENTRY_NP(_fp_read_pdreg) sll %o1, 3, %o1 ! Table entries are 8 bytes each. set .dstable, %g1 ! g1 gets base of table. @@ -447,87 +381,32 @@ _fp_write_pdreg(uint64_t *pd, u_int n) SET_SIZE(_fp_read_pdreg) SET_SIZE(_fp_write_pdreg) -#endif /* lint */ - -#if defined(lint) || defined(__lint) - -/*ARGSUSED*/ -void -_fp_write_pfsr(uint64_t *fsr) -{} - -#else /* lint */ - ENTRY_NP(_fp_write_pfsr) retl ldx [%o0], %fsr SET_SIZE(_fp_write_pfsr) -#endif /* lint */ - -#if defined(lint) || defined(__lint) - -/*ARGSUSED*/ -void -_fp_read_pfsr(uint64_t *fsr) -{} - -#else /* lint */ - ENTRY_NP(_fp_read_pfsr) retl stx %fsr, [%o0] SET_SIZE(_fp_read_pfsr) -#endif /* lint */ - -#if defined(lint) || defined(__lint) - -/*ARGSUSED*/ -void -_fp_write_fprs(u_int fprs_val) -{} - -#else /* lint */ - ENTRY_NP(_fp_write_fprs) retl wr %o0, %g0, %fprs ! write fprs SET_SIZE(_fp_write_fprs) -#endif /* lint */ - -#if defined(lint) || defined(__lint) - -unsigned -_fp_read_fprs(void) -{return 0;} - -#else /* lint */ - ENTRY_NP(_fp_read_fprs) retl rd %fprs, %o0 ! save fprs SET_SIZE(_fp_read_fprs) -#endif /* lint */ - -#if defined(lint) || defined(__lint) - -unsigned -_fp_subcc_ccr(void) -{return 0;} - -#else /* lint */ - ENTRY_NP(_fp_subcc_ccr) subcc %o0, %o1, %g0 retl rd %ccr, %o0 ! save ccr SET_SIZE(_fp_subcc_ccr) -#endif /* lint */ - /* * Floating Point Exceptions handled according to type: * 2) unfinished_fpop @@ -547,15 +426,6 @@ _fp_subcc_ccr(void) * (ie, Spitfire-specific) module code before final release. */ -#if defined(lint) - -/* ARGSUSED */ -void -_fp_exception(struct regs *rp, uint64_t fsr) -{} - -#else /* lint */ - ENTRY_NP(_fp_exception) mov %o7, %l0 ! saved return address mov %o0, %l1 ! saved *rp @@ -615,8 +485,6 @@ fp_ret: .asciz "No floating point ftt, fsr %llx" #endif /* DEBUG */ -#endif /* lint */ - /* * Floating Point Exceptions. * handled according to type: @@ -628,15 +496,6 @@ fp_ret: * for execution of kernel code. */ -#if defined(lint) - -/* ARGSUSED */ -void -_fp_ieee_exception(struct regs *rp, uint64_t fsr) -{} - -#else /* lint */ - ENTRY_NP(_fp_ieee_exception) mov %o7, %l0 ! saved return address mov %o0, %l1 ! saved *rp @@ -723,4 +582,3 @@ fpok: .badfpcexcmsg: .asciz "No floating point exception, fsr %llx" -#endif /* lint */ diff --git a/usr/src/uts/sparc/v9/ml/lock_prim.s b/usr/src/uts/sparc/v9/ml/lock_prim.s index f0fe884ffc..3c17f1dfbe 100644 --- a/usr/src/uts/sparc/v9/ml/lock_prim.s +++ b/usr/src/uts/sparc/v9/ml/lock_prim.s @@ -21,16 +21,11 @@ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. - * Copyright 2019 Joyent, Inc. + * + * Copyright 2020 Joyent, Inc. */ -#if defined(lint) -#include <sys/types.h> -#include <sys/thread.h> -#include <sys/cpuvar.h> -#else /* lint */ #include "assym.h" -#endif /* lint */ #include <sys/t_lock.h> #include <sys/mutex.h> @@ -57,48 +52,15 @@ * Store 0xFF at the specified location, and return its previous content. */ -#if defined(lint) -uint8_t -ldstub(uint8_t *cp) -{ - uint8_t rv; - rv = *cp; - *cp = 0xFF; - return rv; -} -#else /* lint */ - ENTRY(ldstub) retl ldstub [%o0], %o0 SET_SIZE(ldstub) -#endif /* lint */ - /************************************************************************ * MEMORY BARRIERS -- see atomic.h for full descriptions. */ -#if defined(lint) - -void -membar_enter(void) -{} - -void -membar_exit(void) -{} - -void -membar_producer(void) -{} - -void -membar_consumer(void) -{} - -#else /* lint */ - #ifdef SF_ERRATA_51 .align 32 ENTRY(membar_return) @@ -130,70 +92,19 @@ membar_consumer(void) membar #LoadLoad SET_SIZE(membar_consumer) -#endif /* lint */ - /************************************************************************ * MINIMUM LOCKS */ -#if defined(lint) - /* * lock_try(lp), ulock_try(lp) - * - returns non-zero on success. - * - doesn't block interrupts so don't use this to spin on a lock. - * - uses "0xFF is busy, anything else is free" model. + * - returns non-zero on success. + * - doesn't block interrupts so don't use this to spin on a lock. + * - uses "0xFF is busy, anything else is free" model. * - * ulock_try() is for a lock in the user address space. - * For all V7/V8 sparc systems they are same since the kernel and - * user are mapped in a user' context. - * For V9 platforms the lock_try and ulock_try are different impl. + * ulock_try() is for a lock in the user address space. */ -int -lock_try(lock_t *lp) -{ - return (0xFF ^ ldstub(lp)); -} - -int -lock_spin_try(lock_t *lp) -{ - return (0xFF ^ ldstub(lp)); -} - -void -lock_set(lock_t *lp) -{ - extern void lock_set_spin(lock_t *); - - if (!lock_try(lp)) - lock_set_spin(lp); - membar_enter(); -} - -void -lock_clear(lock_t *lp) -{ - membar_exit(); - *lp = 0; -} - -int -ulock_try(lock_t *lp) -{ - return (0xFF ^ ldstub(lp)); -} - -void -ulock_clear(lock_t *lp) -{ - membar_exit(); - *lp = 0; -} - -#else /* lint */ - .align 32 ENTRY(lock_try) ldstub [%o0], %o1 ! try to set lock, get value in %o1 @@ -254,35 +165,12 @@ ulock_clear(lock_t *lp) stba %g0, [%o0]ASI_USER ! clear lock SET_SIZE(ulock_clear) -#endif /* lint */ - /* * lock_set_spl(lp, new_pil, *old_pil_addr) * Sets pil to new_pil, grabs lp, stores old pil in *old_pil_addr. */ -#if defined(lint) - -/* ARGSUSED */ -void -lock_set_spl(lock_t *lp, int new_pil, u_short *old_pil_addr) -{ - extern int splr(int); - extern void lock_set_spl_spin(lock_t *, int, u_short *, int); - int old_pil; - - old_pil = splr(new_pil); - if (!lock_try(lp)) { - lock_set_spl_spin(lp, new_pil, old_pil_addr, old_pil); - } else { - *old_pil_addr = (u_short)old_pil; - membar_enter(); - } -} - -#else /* lint */ - ENTRY(lock_set_spl) rdpr %pil, %o3 ! %o3 = current pil cmp %o3, %o1 ! is current pil high enough? @@ -301,25 +189,10 @@ lock_set_spl(lock_t *lp, int new_pil, u_short *old_pil_addr) nop ! delay: do nothing SET_SIZE(lock_set_spl) -#endif /* lint */ - /* * lock_clear_splx(lp, s) */ -#if defined(lint) - -void -lock_clear_splx(lock_t *lp, int s) -{ - extern void splx(int); - - lock_clear(lp); - splx(s); -} - -#else /* lint */ - ENTRY(lock_clear_splx) ldn [THREAD_REG + T_CPU], %o2 ! get CPU pointer membar #LoadStore|#StoreStore @@ -332,8 +205,6 @@ lock_clear_splx(lock_t *lp, int s) wrpr %g0, %o2, %pil SET_SIZE(lock_clear_splx) -#endif /* lint */ - /* * mutex_enter() and mutex_exit(). * @@ -358,29 +229,6 @@ lock_clear_splx(lock_t *lp, int s) * patch this code in unless we're gathering ADAPTIVE_HOLD lockstats. */ -#if defined (lint) - -/* ARGSUSED */ -void -mutex_enter(kmutex_t *lp) -{} - -/* ARGSUSED */ -int -mutex_tryenter(kmutex_t *lp) -{ return (0); } - -/* ARGSUSED */ -void -mutex_exit(kmutex_t *lp) -{} - -/* ARGSUSED */ -void * -mutex_owner_running(mutex_impl_t *lp) -{ return (NULL); } - -#else .align 32 ENTRY(mutex_enter) mov THREAD_REG, %o1 @@ -472,8 +320,6 @@ mutex_owner_running_critical_start: ! If interrupted restart here mov %o2, %o0 ! owner running, return cpu SET_SIZE(mutex_owner_running) -#endif /* lint */ - /* * rw_enter() and rw_exit(). * @@ -482,19 +328,6 @@ mutex_owner_running_critical_start: ! If interrupted restart here * and rw_exit (no waiters or not the last reader). If anything complicated * is going on we punt to rw_enter_sleep() and rw_exit_wakeup(), respectively. */ -#if defined(lint) - -/* ARGSUSED */ -void -rw_enter(krwlock_t *lp, krw_t rw) -{} - -/* ARGSUSED */ -void -rw_exit(krwlock_t *lp) -{} - -#else .align 16 ENTRY(rw_enter) @@ -575,16 +408,6 @@ rw_exit(krwlock_t *lp) nop SET_SIZE(rw_exit) -#endif - -#if defined(lint) - -void -lockstat_hot_patch(void) -{} - -#else - #define RETL 0x81c3e008 #define NOP 0x01000000 #define BA 0x10800000 @@ -672,8 +495,6 @@ lockstat_hot_patch(void) restore SET_SIZE(lockstat_hot_patch) -#endif /* lint */ - /* * asm_mutex_spin_enter(mutex_t *) * @@ -687,7 +508,6 @@ lockstat_hot_patch(void) * %l7 - address of call (returns to %l7+8) * Uses: %l6, %l5 */ -#ifndef lint .align 16 ENTRY_NP(asm_mutex_spin_enter) ldstub [%l6 + M_SPINLOCK], %l5 ! try to set lock, get value in %l5 @@ -717,7 +537,6 @@ lockstat_hot_patch(void) b 4b ldub [%l6 + M_SPINLOCK], %l5 ! delay - reload lock SET_SIZE(asm_mutex_spin_enter) -#endif /* lint */ /* * asm_mutex_spin_exit(mutex_t *) @@ -730,13 +549,11 @@ lockstat_hot_patch(void) * %l7 - address of call (returns to %l7+8) * Uses: none */ -#ifndef lint ENTRY_NP(asm_mutex_spin_exit) membar #LoadStore|#StoreStore jmp %l7 + 8 ! return clrb [%l6 + M_SPINLOCK] ! delay - clear lock SET_SIZE(asm_mutex_spin_exit) -#endif /* lint */ /* * thread_onproc() @@ -745,16 +562,6 @@ lockstat_hot_patch(void) * Since the new lock isn't held, the store ordering is important. * If not done in assembler, the compiler could reorder the stores. */ -#if defined(lint) - -void -thread_onproc(kthread_id_t t, cpu_t *cp) -{ - t->t_state = TS_ONPROC; - t->t_lockp = &cp->cpu_thread_lock; -} - -#else /* lint */ ENTRY(thread_onproc) set TS_ONPROC, %o2 ! TS_ONPROC state @@ -764,54 +571,29 @@ thread_onproc(kthread_id_t t, cpu_t *cp) stn %o3, [%o0 + T_LOCKP] ! delay - store new lock pointer SET_SIZE(thread_onproc) -#endif /* lint */ - /* delay function used in some mutex code - just do 3 nop cas ops */ -#if defined(lint) - -/* ARGSUSED */ -void -cas_delay(void *addr) -{} -#else /* lint */ ENTRY(cas_delay) casx [%o0], %g0, %g0 casx [%o0], %g0, %g0 retl casx [%o0], %g0, %g0 SET_SIZE(cas_delay) -#endif /* lint */ - -#if defined(lint) /* * alternative delay function for some niagara processors. The rd * instruction uses less resources than casx on those cpus. */ -/* ARGSUSED */ -void -rdccr_delay(void) -{} -#else /* lint */ ENTRY(rdccr_delay) rd %ccr, %g0 rd %ccr, %g0 retl rd %ccr, %g0 SET_SIZE(rdccr_delay) -#endif /* lint */ /* * mutex_delay_default(void) * Spins for approx a few hundred processor cycles and returns to caller. */ -#if defined(lint) - -void -mutex_delay_default(void) -{} - -#else /* lint */ ENTRY(mutex_delay_default) mov 72,%o0 @@ -821,4 +603,3 @@ mutex_delay_default(void) nop SET_SIZE(mutex_delay_default) -#endif /* lint */ diff --git a/usr/src/uts/sparc/v9/ml/sparcv9_subr.s b/usr/src/uts/sparc/v9/ml/sparcv9_subr.s index a4c0eac3c8..f86ae64e0c 100644 --- a/usr/src/uts/sparc/v9/ml/sparcv9_subr.s +++ b/usr/src/uts/sparc/v9/ml/sparcv9_subr.s @@ -35,17 +35,6 @@ * name has something to do with the routine you are moving. */ -#if defined(lint) -#include <sys/types.h> -#include <sys/scb.h> -#include <sys/systm.h> -#include <sys/regset.h> -#include <sys/sunddi.h> -#include <sys/lockstat.h> -#include <sys/dtrace.h> -#include <sys/ftrace.h> -#endif /* lint */ - #include <sys/asm_linkage.h> #include <sys/privregs.h> #include <sys/machparam.h> /* To get SYSBASE and PAGESIZE */ @@ -58,7 +47,6 @@ #include <sys/machlock.h> #include <sys/ontrap.h> -#if !defined(lint) #include "assym.h" .seg ".text" @@ -134,8 +122,6 @@ retl; \ mov %o1, %o0 /* return old PIL */ -#endif /* lint */ - /* * Berkley 4.3 introduced symbolically named interrupt levels * as a way deal with priority in a machine independent fashion. @@ -178,18 +164,6 @@ * spl0() Used to lower priority to 0. */ -#if defined(lint) - -int spl0(void) { return (0); } -int spl6(void) { return (0); } -int spl7(void) { return (0); } -int spl8(void) { return (0); } -int splhi(void) { return (0); } -int splhigh(void) { return (0); } -int splzs(void) { return (0); } - -#else /* lint */ - /* locks out all interrupts, including memory errors */ ENTRY(spl8) SETPRI_HIGH(15) @@ -224,30 +198,17 @@ int splzs(void) { return (0); } SETPRI(0) SET_SIZE(spl0) -#endif /* lint */ - /* * splx - set PIL back to that indicated by the old %pil passed as an argument, * or to the CPU's base priority, whichever is higher. */ -#if defined(lint) - -/* ARGSUSED */ -void -splx(int level) -{} - -#else /* lint */ - ENTRY(splx) ALTENTRY(i_ddi_splx) SETPRI(%o0) /* set PIL */ SET_SIZE(i_ddi_splx) SET_SIZE(splx) -#endif /* level */ - /* * splr() * @@ -258,20 +219,10 @@ splx(int level) * look at CPU->cpu_base_pri. */ -#if defined(lint) - -/* ARGSUSED */ -int -splr(int level) -{ return (0); } - -#else /* lint */ ENTRY(splr) RAISE(%o0) SET_SIZE(splr) -#endif /* lint */ - /* * on_fault() * Catch lofault faults. Like setjmp except it returns one @@ -279,15 +230,6 @@ splr(int level) * by calling no_fault(). */ -#if defined(lint) - -/* ARGSUSED */ -int -on_fault(label_t *ljb) -{ return (0); } - -#else /* lint */ - ENTRY(on_fault) membar #Sync ! sync error barrier (see copy.s) stn %o0, [THREAD_REG + T_ONFAULT] @@ -304,21 +246,11 @@ catch_fault: stn %g0, [THREAD_REG + T_LOFAULT] ! turn off lofault SET_SIZE(on_fault) -#endif /* lint */ - /* * no_fault() * turn off fault catching. */ -#if defined(lint) - -void -no_fault(void) -{} - -#else /* lint */ - ENTRY(no_fault) membar #Sync ! sync error barrier stn %g0, [THREAD_REG + T_ONFAULT] @@ -326,21 +258,12 @@ no_fault(void) stn %g0, [THREAD_REG + T_LOFAULT] ! turn off lofault SET_SIZE(no_fault) -#endif /* lint */ - /* * Default trampoline code for on_trap() (see <sys/ontrap.h>). On sparcv9, * the trap code will complete trap processing but reset the return %pc to * ot_trampoline, which will by default be set to the address of this code. * We longjmp(&curthread->t_ontrap->ot_jmpbuf) to return back to on_trap(). */ -#if defined(lint) - -void -on_trap_trampoline(void) -{} - -#else /* lint */ ENTRY(on_trap_trampoline) ldn [THREAD_REG + T_ONTRAP], %o0 @@ -348,8 +271,6 @@ on_trap_trampoline(void) add %o0, OT_JMPBUF, %o0 SET_SIZE(on_trap_trampoline) -#endif /* lint */ - /* * Push a new element on to the t_ontrap stack. Refer to <sys/ontrap.h> for * more information about the on_trap() mechanism. If the on_trap_data is the @@ -359,14 +280,6 @@ on_trap_trampoline(void) * we go any further. We want these errors to be processed before we modify * our current error protection. */ -#if defined(lint) - -/*ARGSUSED*/ -int -on_trap(on_trap_data_t *otp, uint_t prot) -{ return (0); } - -#else /* lint */ ENTRY(on_trap) membar #Sync ! force error barrier @@ -388,22 +301,11 @@ on_trap(on_trap_data_t *otp, uint_t prot) add %o0, OT_JMPBUF, %o0 ! %o0 = &ot_jmpbuf SET_SIZE(on_trap) -#endif /* lint */ - /* * Setjmp and longjmp implement non-local gotos using state vectors * type label_t. */ -#if defined(lint) - -/* ARGSUSED */ -int -setjmp(label_t *lp) -{ return (0); } - -#else /* lint */ - ENTRY(setjmp) stn %o7, [%o0 + L_PC] ! save return address stn %sp, [%o0 + L_SP] ! save stack ptr @@ -411,17 +313,6 @@ setjmp(label_t *lp) clr %o0 ! return 0 SET_SIZE(setjmp) -#endif /* lint */ - - -#if defined(lint) - -/* ARGSUSED */ -void -longjmp(label_t *lp) -{} - -#else /* lint */ ENTRY(longjmp) ! @@ -442,23 +333,12 @@ longjmp(label_t *lp) restore %g0, 1, %o0 ! takes underflow, switches stacks SET_SIZE(longjmp) -#endif /* lint */ - /* * movtuc(length, from, to, table) * * VAX movtuc instruction (sort of). */ -#if defined(lint) - -/*ARGSUSED*/ -int -movtuc(size_t length, u_char *from, u_char *to, u_char table[]) -{ return (0); } - -#else /* lint */ - ENTRY(movtuc) tst %o0 ble,pn %ncc, 2f ! check length @@ -483,23 +363,12 @@ movtuc(size_t length, u_char *from, u_char *to, u_char table[]) mov %o4, %o0 SET_SIZE(movtuc) -#endif /* lint */ - /* * scanc(length, string, table, mask) * * VAX scanc instruction. */ -#if defined(lint) - -/*ARGSUSED*/ -int -scanc(size_t length, u_char *string, u_char table[], u_char mask) -{ return (0); } - -#else /* lint */ - ENTRY(scanc) tst %o0 ble,pn %ncc, 1f ! check length @@ -517,86 +386,44 @@ scanc(size_t length, u_char *string, u_char table[], u_char mask) sub %o0, %o4, %o0 SET_SIZE(scanc) -#endif /* lint */ - /* * if a() calls b() calls caller(), * caller() returns return address in a(). */ -#if defined(lint) - -caddr_t -caller(void) -{ return (0); } - -#else /* lint */ - ENTRY(caller) retl mov %i7, %o0 SET_SIZE(caller) -#endif /* lint */ - /* * if a() calls callee(), callee() returns the * return address in a(); */ -#if defined(lint) - -caddr_t -callee(void) -{ return (0); } - -#else /* lint */ - ENTRY(callee) retl mov %o7, %o0 SET_SIZE(callee) -#endif /* lint */ - /* * return the current frame pointer */ -#if defined(lint) - -greg_t -getfp(void) -{ return (0); } - -#else /* lint */ - ENTRY(getfp) retl mov %fp, %o0 SET_SIZE(getfp) -#endif /* lint */ - /* * Get vector base register */ -#if defined(lint) - -greg_t -gettbr(void) -{ return (0); } - -#else /* lint */ - ENTRY(gettbr) retl mov %tbr, %o0 SET_SIZE(gettbr) -#endif /* lint */ - /* * Get processor state register, V9 faked to look like V8. * Note: does not provide ccr.xcc and provides FPRS.FEF instead of @@ -604,14 +431,6 @@ gettbr(void) * libc_psr memcpy routines to run without hitting the fp_disabled trap. */ -#if defined(lint) - -greg_t -getpsr(void) -{ return (0); } - -#else /* lint */ - ENTRY(getpsr) rd %ccr, %o1 ! get ccr sll %o1, PSR_ICC_SHIFT, %o0 ! move icc to V8 psr.icc @@ -624,43 +443,20 @@ getpsr(void) or %o0, %o1, %o0 ! or into psr.impl/ver SET_SIZE(getpsr) -#endif /* lint */ - /* * Get current processor interrupt level */ -#if defined(lint) - -u_int -getpil(void) -{ return (0); } - -#else /* lint */ - ENTRY(getpil) retl rdpr %pil, %o0 SET_SIZE(getpil) -#endif /* lint */ - -#if defined(lint) - -/*ARGSUSED*/ -void -setpil(u_int pil) -{} - -#else /* lint */ - ENTRY(setpil) retl wrpr %g0, %o0, %pil SET_SIZE(setpil) -#endif /* lint */ - /* * _insque(entryp, predp) @@ -668,15 +464,6 @@ setpil(u_int pil) * Insert entryp after predp in a doubly linked list. */ -#if defined(lint) - -/*ARGSUSED*/ -void -_insque(caddr_t entryp, caddr_t predp) -{} - -#else /* lint */ - ENTRY(_insque) ldn [%o1], %g1 ! predp->forw stn %o1, [%o0 + CPTRSIZE] ! entryp->back = predp @@ -686,23 +473,12 @@ _insque(caddr_t entryp, caddr_t predp) stn %o0, [%g1 + CPTRSIZE] ! predp->forw->back = entryp SET_SIZE(_insque) -#endif /* lint */ - /* * _remque(entryp) * * Remove entryp from a doubly linked list */ -#if defined(lint) - -/*ARGSUSED*/ -void -_remque(caddr_t entryp) -{} - -#else /* lint */ - ENTRY(_remque) ldn [%o0], %g1 ! entryp->forw ldn [%o0 + CPTRSIZE], %g2 ! entryp->back @@ -711,8 +487,6 @@ _remque(caddr_t entryp) stn %g2, [%g1 + CPTRSIZE] ! entryp->forw->back = entryp->back SET_SIZE(_remque) -#endif /* lint */ - /* * strlen(str) @@ -723,15 +497,6 @@ _remque(caddr_t entryp) * why does it have local labels which don't start with a `.'? */ -#if defined(lint) - -/*ARGSUSED*/ -size_t -strlen(const char *str) -{ return (0); } - -#else /* lint */ - ENTRY(strlen) mov %o0, %o1 andcc %o1, 3, %o3 ! is src word aligned @@ -816,91 +581,10 @@ $done3: inc 3, %o0 SET_SIZE(strlen) -#endif /* lint */ - /* * Provide a C callable interface to the membar instruction. */ -#if defined(lint) - -void -membar_ldld(void) -{} - -void -membar_stld(void) -{} - -void -membar_ldst(void) -{} - -void -membar_stst(void) -{} - -void -membar_ldld_ldst(void) -{} - -void -membar_ldld_stld(void) -{} - -void -membar_ldld_stst(void) -{} - -void -membar_stld_ldld(void) -{} - -void -membar_stld_ldst(void) -{} - -void -membar_stld_stst(void) -{} - -void -membar_ldst_ldld(void) -{} - -void -membar_ldst_stld(void) -{} - -void -membar_ldst_stst(void) -{} - -void -membar_stst_ldld(void) -{} - -void -membar_stst_stld(void) -{} - -void -membar_stst_ldst(void) -{} - -void -membar_lookaside(void) -{} - -void -membar_memissue(void) -{} - -void -membar_sync(void) -{} - -#else ENTRY(membar_ldld) retl membar #LoadLoad @@ -978,42 +662,6 @@ membar_sync(void) membar #Sync SET_SIZE(membar_sync) -#endif /* lint */ - - -#if defined(lint) - -/*ARGSUSED*/ -int -fuword64(const void *addr, uint64_t *dst) -{ return (0); } - -/*ARGSUSED*/ -int -fuword32(const void *addr, uint32_t *dst) -{ return (0); } - -/*ARGSUSED*/ -int -fuword16(const void *addr, uint16_t *dst) -{ return (0); } - -/*ARGSUSED*/ -int -fuword8(const void *addr, uint8_t *dst) -{ return (0); } - -/*ARGSUSED*/ -int -dtrace_ft_fuword64(const void *addr, uint64_t *dst) -{ return (0); } - -/*ARGSUSED*/ -int -dtrace_ft_fuword32(const void *addr, uint32_t *dst) -{ return (0); } - -#else /* lint */ /* * Since all of the fuword() variants are so similar, we have a macro to spit @@ -1052,32 +700,6 @@ dtrace_ft_fuword32(const void *addr, uint32_t *dst) FUWORD(fuword16, lduha, sth, CP_FUWORD16) FUWORD(fuword8, lduba, stb, CP_FUWORD8) -#endif /* lint */ - - -#if defined(lint) - -/*ARGSUSED*/ -int -suword64(void *addr, uint64_t value) -{ return (0); } - -/*ARGSUSED*/ -int -suword32(void *addr, uint32_t value) -{ return (0); } - -/*ARGSUSED*/ -int -suword16(void *addr, uint16_t value) -{ return (0); } - -/*ARGSUSED*/ -int -suword8(void *addr, uint8_t value) -{ return (0); } - -#else /* lint */ /* * Since all of the suword() variants are so similar, we have a macro to spit @@ -1115,32 +737,6 @@ suword8(void *addr, uint8_t value) SUWORD(suword16, stha, CP_SUWORD16) SUWORD(suword8, stba, CP_SUWORD8) -#endif /* lint */ - -#if defined(lint) - -/*ARGSUSED*/ -void -fuword8_noerr(const void *addr, uint8_t *dst) -{} - -/*ARGSUSED*/ -void -fuword16_noerr(const void *addr, uint16_t *dst) -{} - -/*ARGSUSED*/ -void -fuword32_noerr(const void *addr, uint32_t *dst) -{} - -/*ARGSUSED*/ -void -fuword64_noerr(const void *addr, uint64_t *dst) -{} - -#else /* lint */ - ENTRY(fuword8_noerr) lduba [%o0]ASI_USER, %o0 retl @@ -1165,32 +761,6 @@ fuword64_noerr(const void *addr, uint64_t *dst) stx %o0, [%o1] SET_SIZE(fuword64_noerr) -#endif /* lint */ - -#if defined(lint) - -/*ARGSUSED*/ -void -suword8_noerr(void *addr, uint8_t value) -{} - -/*ARGSUSED*/ -void -suword16_noerr(void *addr, uint16_t value) -{} - -/*ARGSUSED*/ -void -suword32_noerr(void *addr, uint32_t value) -{} - -/*ARGSUSED*/ -void -suword64_noerr(void *addr, uint64_t value) -{} - -#else /* lint */ - ENTRY(suword8_noerr) retl stba %o1, [%o0]ASI_USER @@ -1211,42 +781,6 @@ suword64_noerr(void *addr, uint64_t value) stxa %o1, [%o0]ASI_USER SET_SIZE(suword64_noerr) -#endif /* lint */ - -#if defined(__lint) - -/*ARGSUSED*/ -int -subyte(void *addr, uchar_t value) -{ return (0); } - -/*ARGSUSED*/ -void -subyte_noerr(void *addr, uchar_t value) -{} - -/*ARGSUSED*/ -int -fulword(const void *addr, ulong_t *valuep) -{ return (0); } - -/*ARGSUSED*/ -void -fulword_noerr(const void *addr, ulong_t *valuep) -{} - -/*ARGSUSED*/ -int -sulword(void *addr, ulong_t valuep) -{ return (0); } - -/*ARGSUSED*/ -void -sulword_noerr(void *addr, ulong_t valuep) -{} - -#else - .weak subyte subyte=suword8 .weak subyte_noerr @@ -1271,8 +805,6 @@ sulword_noerr(void *addr, ulong_t valuep) sulword_noerr=suword32_noerr #endif /* LP64 */ -#endif /* lint */ - /* * We define rdtick here, but not for sun4v. On sun4v systems, the %tick * and %stick should not be read directly without considering the tick @@ -1281,34 +813,16 @@ sulword_noerr(void *addr, ulong_t valuep) */ #if !defined (sun4v) -#if defined (lint) - -hrtime_t -rdtick() -{ return (0); } - -#else /* lint */ - ENTRY(rdtick) retl rd %tick, %o0 SET_SIZE(rdtick) -#endif /* lint */ - #endif /* !sun4v */ /* * Set tba to given address, no side effects. */ -#if defined (lint) - -/*ARGSUSED*/ -void * -set_tba(void *new_tba) -{ return (0); } - -#else /* lint */ ENTRY(set_tba) mov %o0, %o1 @@ -1318,63 +832,21 @@ set_tba(void *new_tba) nop SET_SIZE(set_tba) -#endif /* lint */ - -#if defined (lint) - -/*ARGSUSED*/ -void * -get_tba() -{ return (0); } - -#else /* lint */ - ENTRY(get_tba) retl rdpr %tba, %o0 SET_SIZE(get_tba) -#endif /* lint */ - -#if defined(lint) || defined(__lint) - -/* ARGSUSED */ -void -setpstate(u_int pstate) -{} - -#else /* lint */ - ENTRY_NP(setpstate) retl wrpr %g0, %o0, %pstate SET_SIZE(setpstate) -#endif /* lint */ - -#if defined(lint) || defined(__lint) - -u_int -getpstate(void) -{ return(0); } - -#else /* lint */ - ENTRY_NP(getpstate) retl rdpr %pstate, %o0 SET_SIZE(getpstate) -#endif /* lint */ - -#if defined(lint) || defined(__lint) - -dtrace_icookie_t -dtrace_interrupt_disable(void) -{ return (0); } - -#else /* lint */ - ENTRY_NP(dtrace_interrupt_disable) rdpr %pstate, %o0 andn %o0, PSTATE_IE, %o1 @@ -1382,36 +854,11 @@ dtrace_interrupt_disable(void) wrpr %g0, %o1, %pstate SET_SIZE(dtrace_interrupt_disable) -#endif /* lint */ - -#if defined(lint) || defined(__lint) - -/*ARGSUSED*/ -void -dtrace_interrupt_enable(dtrace_icookie_t cookie) -{} - -#else - ENTRY_NP(dtrace_interrupt_enable) retl wrpr %g0, %o0, %pstate SET_SIZE(dtrace_interrupt_enable) -#endif /* lint*/ - -#if defined(lint) - -void -dtrace_membar_producer(void) -{} - -void -dtrace_membar_consumer(void) -{} - -#else /* lint */ - #ifdef SF_ERRATA_51 .align 32 ENTRY(dtrace_membar_return) @@ -1433,34 +880,11 @@ dtrace_membar_consumer(void) membar #LoadLoad SET_SIZE(dtrace_membar_consumer) -#endif /* lint */ - -#if defined(lint) || defined(__lint) - -void -dtrace_flush_windows(void) -{} - -#else - ENTRY_NP(dtrace_flush_windows) retl flushw SET_SIZE(dtrace_flush_windows) -#endif /* lint */ - -#if defined(lint) - -/*ARGSUSED*/ -int -getpcstack_top(pc_t *pcstack, int limit, uintptr_t *lastfp, pc_t *lastpc) -{ - return (0); -} - -#else /* lint */ - /* * %g1 pcstack * %g2 iteration count @@ -1531,40 +955,17 @@ getpcstack_top(pc_t *pcstack, int limit, uintptr_t *lastfp, pc_t *lastpc) ldn [%fp + STACK_BIAS + 15*CLONGSIZE], %g4 ! and pc SET_SIZE(getpcstack_top) -#endif /* lint */ - -#if defined(lint) || defined(__lint) - -/* ARGSUSED */ -void -setwstate(u_int wstate) -{} - -#else /* lint */ - ENTRY_NP(setwstate) retl wrpr %g0, %o0, %wstate SET_SIZE(setwstate) -#endif /* lint */ - - -#if defined(lint) || defined(__lint) - -u_int -getwstate(void) -{ return(0); } - -#else /* lint */ ENTRY_NP(getwstate) retl rdpr %wstate, %o0 SET_SIZE(getwstate) -#endif /* lint */ - /* * int panic_trigger(int *tp) @@ -1576,15 +977,6 @@ getwstate(void) * partially corrupt trigger to still trigger correctly. DTrace has its own * version of this function to allow it to panic correctly from probe context. */ -#if defined(lint) - -/*ARGSUSED*/ -int panic_trigger(int *tp) { return (0); } - -/*ARGSUSED*/ -int dtrace_panic_trigger(int *tp) { return (0); } - -#else /* lint */ ENTRY_NP(panic_trigger) ldstub [%o0], %o0 ! store 0xFF, load byte into %o0 @@ -1606,8 +998,6 @@ int dtrace_panic_trigger(int *tp) { return (0); } mov %o1, %o0 ! return (%o1); SET_SIZE(dtrace_panic_trigger) -#endif /* lint */ - /* * void vpanic(const char *format, va_list alist) * @@ -1624,15 +1014,6 @@ int dtrace_panic_trigger(int *tp) { return (0); } * sets up the initial stack as vpanic does, calls dtrace_panic_trigger(), and * branches back into vpanic(). */ -#if defined(lint) - -/*ARGSUSED*/ -void vpanic(const char *format, va_list alist) {} - -/*ARGSUSED*/ -void dtrace_vpanic(const char *format, va_list alist) {} - -#else /* lint */ ENTRY_NP(vpanic) @@ -1761,18 +1142,6 @@ vpanic_common: ba,a vpanic_common SET_SIZE(dtrace_vpanic) -#endif /* lint */ - -#if defined(lint) - -/*ARGSUSED*/ - -uint_t -get_subcc_ccr( uint64_t addrl, uint64_t addrr) -{ return (0); } - -#else /* lint */ - ENTRY(get_subcc_ccr) wr %g0, %ccr ! clear condition codes subcc %o0, %o1, %g0 @@ -1780,16 +1149,6 @@ get_subcc_ccr( uint64_t addrl, uint64_t addrr) rd %ccr, %o0 ! return condition codes SET_SIZE(get_subcc_ccr) -#endif /* lint */ - -#if defined(lint) || defined(__lint) - -ftrace_icookie_t -ftrace_interrupt_disable(void) -{ return (0); } - -#else /* lint */ - ENTRY_NP(ftrace_interrupt_disable) rdpr %pstate, %o0 andn %o0, PSTATE_IE, %o1 @@ -1797,20 +1156,8 @@ ftrace_interrupt_disable(void) wrpr %g0, %o1, %pstate SET_SIZE(ftrace_interrupt_disable) -#endif /* lint */ - -#if defined(lint) || defined(__lint) - -/*ARGSUSED*/ -void -ftrace_interrupt_enable(ftrace_icookie_t cookie) -{} - -#else - ENTRY_NP(ftrace_interrupt_enable) retl wrpr %g0, %o0, %pstate SET_SIZE(ftrace_interrupt_enable) -#endif /* lint*/ diff --git a/usr/src/uts/sparc/v9/ml/syscall_trap.s b/usr/src/uts/sparc/v9/ml/syscall_trap.s index abd40db34a..d290f5e5c1 100644 --- a/usr/src/uts/sparc/v9/ml/syscall_trap.s +++ b/usr/src/uts/sparc/v9/ml/syscall_trap.s @@ -35,23 +35,12 @@ #include <sys/pcb.h> #include <sys/machparam.h> -#if !defined(lint) && !defined(__lint) #include "assym.h" -#endif #ifdef TRAPTRACE #include <sys/traptrace.h> #endif /* TRAPTRACE */ -#if defined(lint) || defined(__lint) - -/*ARGSUSED*/ -void -syscall_trap(struct regs *rp) /* for tags only; not called from C */ -{} - -#else /* lint */ - #if (1 << SYSENT_SHIFT) != SYSENT_SIZE #error "SYSENT_SHIFT does not correspond to size of sysent structure" #endif @@ -290,15 +279,6 @@ _syscall_post: jmp %l0 + 8 ! return to user_rtt nop SET_SIZE(syscall_trap) -#endif /* lint */ - -#if defined(lint) || defined(__lint) - -void -syscall_trap32(void) /* for tags only - trap handler - not called from C */ -{} - -#else /* lint */ /* * System call trap handler for ILP32 processes. @@ -550,8 +530,6 @@ _syscall_post32: nop SET_SIZE(syscall_trap32) -#endif /* lint */ - /* * lwp_rtt - start execution in newly created LWP. @@ -560,17 +538,6 @@ _syscall_post32: * simply be restored. * This must go out through sys_rtt instead of syscall_rtt. */ -#if defined(lint) || defined(__lint) - -void -lwp_rtt_initial(void) -{} - -void -lwp_rtt(void) -{} - -#else /* lint */ ENTRY_NP(lwp_rtt_initial) ldn [THREAD_REG + T_STACK], %l7 call __dtrace_probe___proc_start @@ -592,4 +559,3 @@ lwp_rtt(void) SET_SIZE(lwp_rtt) SET_SIZE(lwp_rtt_initial) -#endif /* lint */ diff --git a/usr/src/uts/sparc/v9/os/v9dep.c b/usr/src/uts/sparc/v9/os/v9dep.c index 654aee9167..38a905995f 100644 --- a/usr/src/uts/sparc/v9/os/v9dep.c +++ b/usr/src/uts/sparc/v9/os/v9dep.c @@ -20,7 +20,7 @@ */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ -/* All Rights Reserved */ +/* All Rights Reserved */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. @@ -121,7 +121,7 @@ setfpregs(klwp_t *lwp, fpregset_t *fp) /* * Load up a user's floating point context. */ - if (fp->fpu_qcnt > MAXFPQ) /* plug security holes */ + if (fp->fpu_qcnt > MAXFPQ) /* plug security holes */ fp->fpu_qcnt = MAXFPQ; fp->fpu_q_entrysize = sizeof (struct _fq); @@ -819,7 +819,7 @@ setregs(uarg_t *args) rp->r_y = 0; curthread->t_post_sys = 1; lwp->lwp_eosys = JUSTRETURN; - lwp->lwp_pcb.pcb_trap0addr = NULL; /* no trap 0 handler */ + lwp->lwp_pcb.pcb_trap0addr = 0; /* no trap 0 handler */ /* * Clear the fixalignment flag */ @@ -1425,7 +1425,7 @@ sendsig32(int sig, k_siginfo_t *sip, void (*hdlr)()) gwp = NULL; sp += gwin_size; } else { - suword32_noerr(&fp->uc.uc_mcontext.gwins, (uint32_t)NULL); + suword32_noerr(&fp->uc.uc_mcontext.gwins, 0); } if (fpq_size != 0) { @@ -1455,8 +1455,7 @@ sendsig32(int sig, k_siginfo_t *sip, void (*hdlr)()) mpcb->mpcb_flags |= FP_TRAPPED; } else { - suword32_noerr(&fp->uc.uc_mcontext.fpregs.fpu_q, - (uint32_t)NULL); + suword32_noerr(&fp->uc.uc_mcontext.fpregs.fpu_q, 0); suword8_noerr(&fp->uc.uc_mcontext.fpregs.fpu_qcnt, 0); } @@ -1724,7 +1723,7 @@ fpuregset_nto32(const fpregset_t *src, fpregset32_t *dest, struct fq32 *dfq) bzero(dest, sizeof (*dest)); for (i = 0; i < 32; i++) dest->fpu_fr.fpu_regs[i] = src->fpu_fr.fpu_regs[i]; - dest->fpu_q = NULL; + dest->fpu_q = 0; dest->fpu_fsr = (uint32_t)src->fpu_fsr; dest->fpu_qcnt = src->fpu_qcnt; dest->fpu_q_entrysize = sizeof (struct fpq32); |
