diff options
author | Garrett D'Amore <Garrett.Damore@Sun.COM> | 2009-10-21 15:51:07 -0700 |
---|---|---|
committer | Garrett D'Amore <Garrett.Damore@Sun.COM> | 2009-10-21 15:51:07 -0700 |
commit | 807e8f10a5bd74064a2c6ed98b73c845df2f834e (patch) | |
tree | b7e3450fa380ede0f95048c0197eb80d4a9ca19a /usr/src | |
parent | f0c3911fac870fd8926c517f55b39ea4489e5a97 (diff) | |
download | illumos-gate-807e8f10a5bd74064a2c6ed98b73c845df2f834e.tar.gz |
PSARC 2009/538 EOF of Tadpole SPARCLE
6893086 EOF Tadpole SPARCLE (douglas)
Diffstat (limited to 'usr/src')
41 files changed, 11 insertions, 2585 deletions
diff --git a/usr/src/lib/cfgadm_plugins/Makefile.com b/usr/src/lib/cfgadm_plugins/Makefile.com index 2f2739dd9a..21dea666a6 100644 --- a/usr/src/lib/cfgadm_plugins/Makefile.com +++ b/usr/src/lib/cfgadm_plugins/Makefile.com @@ -63,7 +63,6 @@ LINKED_PLATFORMS += SUNW,Netra-T12 LINKED_PLATFORMS += SUNW,Netra-T4 LINKED_PLATFORMS += SUNW,Netra-CP2300 LINKED_PLATFORMS += SUNW,Netra-CP3010 -LINKED_PLATFORMS += TAD,SPARCLE LINKED_DIRS = $(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%) LINKED_LIB_DIRS = $(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%/lib) diff --git a/usr/src/lib/libc_psr/sun4u/Makefile.com b/usr/src/lib/libc_psr/sun4u/Makefile.com index 7b5a11d942..4df215f817 100644 --- a/usr/src/lib/libc_psr/sun4u/Makefile.com +++ b/usr/src/lib/libc_psr/sun4u/Makefile.com @@ -20,11 +20,9 @@ # # -# Copyright 2008 Sun Microsystems, Inc. All rights reserved. +# Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -# ident "%Z%%M% %I% %E% SMI" -# # # Create default so empty rules don't @@ -72,7 +70,6 @@ LINKED_PLATFORMS += SUNW,UltraSPARC-IIe-NetraCT-60 LINKED_PLATFORMS += SUNW,Sun-Blade-100 LINKED_PLATFORMS += SUNW,Serverblade1 LINKED_PLATFORMS += SUNW,Netra-CP2300 -LINKED_PLATFORMS += TAD,SPARCLE # # install rule diff --git a/usr/src/lib/libmd/sun4u/Makefile.links b/usr/src/lib/libmd/sun4u/Makefile.links index f849f9c603..3c85fd6acd 100644 --- a/usr/src/lib/libmd/sun4u/Makefile.links +++ b/usr/src/lib/libmd/sun4u/Makefile.links @@ -59,4 +59,3 @@ LINKED_PLATFORMS += SUNW,Netra-T12 LINKED_PLATFORMS += SUNW,Netra-T4 LINKED_PLATFORMS += SUNW,Netra-CP2300 LINKED_PLATFORMS += SUNW,Netra-CP3010 -LINKED_PLATFORMS += TAD,SPARCLE diff --git a/usr/src/lib/libprtdiag_psr/sparc/desktop/picl/Makefile b/usr/src/lib/libprtdiag_psr/sparc/desktop/picl/Makefile index 069456d064..93ec2dd449 100644 --- a/usr/src/lib/libprtdiag_psr/sparc/desktop/picl/Makefile +++ b/usr/src/lib/libprtdiag_psr/sparc/desktop/picl/Makefile @@ -55,7 +55,6 @@ LINKED_PLATFORMS += SUNW,Serverblade1 LINKED_PLATFORMS += SUNW,Sun-Fire-V240 LINKED_PLATFORMS += SUNW,Sun-Fire-V250 LINKED_PLATFORMS += SUNW,Sun-Fire-V440 -LINKED_PLATFORMS += TAD,SPARCLE LINKED_DIRS = $(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%) LINKED_LIB_DIRS = $(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%/lib) diff --git a/usr/src/lib/pkcs11/libsoftcrypto/sun4u/Makefile.links b/usr/src/lib/pkcs11/libsoftcrypto/sun4u/Makefile.links index db7f8878bf..96eafa633f 100644 --- a/usr/src/lib/pkcs11/libsoftcrypto/sun4u/Makefile.links +++ b/usr/src/lib/pkcs11/libsoftcrypto/sun4u/Makefile.links @@ -19,7 +19,7 @@ # CDDL HEADER END # # -# Copyright 2008 Sun Microsystems, Inc. All rights reserved. +# Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # lib/pkcs11/libsoftcrypto/sun4u/Makefile.links @@ -58,5 +58,4 @@ LINKED_PLATFORMS = \ SUNW,Netra-T12 \ SUNW,Netra-T4 \ SUNW,Netra-CP2300 \ - SUNW,Netra-CP3010 \ - TAD,SPARCLE + SUNW,Netra-CP3010 diff --git a/usr/src/pkgdefs/Makefile b/usr/src/pkgdefs/Makefile index bb3fff34b2..5e248948e6 100644 --- a/usr/src/pkgdefs/Makefile +++ b/usr/src/pkgdefs/Makefile @@ -95,8 +95,7 @@ sparc_SUBDIRS= \ SUNWssad \ SUNWus.u \ SUNWust1.v \ - SUNWust2.v \ - SUNWwbsd + SUNWust2.v i386_SUBDIRS= \ SUNWad810 \ diff --git a/usr/src/pkgdefs/SUNWcakr.u/prototype_com b/usr/src/pkgdefs/SUNWcakr.u/prototype_com index 65de9d3eda..fa6f163a0d 100644 --- a/usr/src/pkgdefs/SUNWcakr.u/prototype_com +++ b/usr/src/pkgdefs/SUNWcakr.u/prototype_com @@ -19,11 +19,9 @@ # CDDL HEADER END # # -# Copyright 2008 Sun Microsystems, Inc. All rights reserved. +# Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -# ident "%Z%%M% %I% %E% SMI" -# # This required package information file contains a list of package contents. # The 'pkgmk' command uses this file to identify the contents of a package # and their location on the development machine when building the package. @@ -388,11 +386,6 @@ d none platform/SUNW,UltraAX-i2/kernel 755 root sys d none platform/SUNW,UltraAX-i2/kernel/misc 755 root sys d none platform/SUNW,UltraAX-i2/kernel/misc/sparcv9 755 root sys f none platform/SUNW,UltraAX-i2/kernel/misc/sparcv9/platmod 755 root sys -d none platform/TAD,SPARCLE 755 root sys -d none platform/TAD,SPARCLE/kernel 755 root sys -d none platform/TAD,SPARCLE/kernel/misc 755 root sys -d none platform/TAD,SPARCLE/kernel/misc/sparcv9 755 root sys -f none platform/TAD,SPARCLE/kernel/misc/sparcv9/platmod 755 root sys d none platform/sun4u 755 root sys d none platform/sun4u-us3 755 root sys d none platform/sun4u-us3/kernel 755 root sys diff --git a/usr/src/pkgdefs/SUNWcar.u/prototype_com b/usr/src/pkgdefs/SUNWcar.u/prototype_com index 97e05934da..cc7fb6c27f 100644 --- a/usr/src/pkgdefs/SUNWcar.u/prototype_com +++ b/usr/src/pkgdefs/SUNWcar.u/prototype_com @@ -19,11 +19,9 @@ # CDDL HEADER END # # -# Copyright 2008 Sun Microsystems, Inc. All rights reserved. +# Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -# ident "%Z%%M% %I% %E% SMI" -# # This required package information file contains a list of package contents. # The 'pkgmk' command uses this file to identify the contents of a package # and their location on the development machine when building the package. @@ -94,7 +92,6 @@ d none platform/SUNW,Ultra-Enterprise-10000 755 root sys d none platform/SUNW,UltraSPARC-IIe-NetraCT-40 755 root sys d none platform/SUNW,UltraSPARC-IIe-NetraCT-60 755 root sys d none platform/SUNW,UltraSPARC-IIi-Netract 755 root sys -d none platform/TAD,SPARCLE 755 root sys s none platform/SUNW,Sun-Fire-V210=SUNW,Sun-Fire-V240 s none platform/SUNW,Netra-240=SUNW,Sun-Fire-V240 s none platform/SUNW,Netra-210=SUNW,Sun-Fire-V240 @@ -135,7 +132,6 @@ d none platform/SUNW,UltraSPARC-IIi-Netract/lib/sparcv9 755 root bin d none platform/SUNW,Netra-CP2300/lib/sparcv9 755 root bin d none platform/SUNW,Netra-CP3010/lib/sparcv9 755 root bin d none platform/SUNW,SPARC-Enterprise/lib/sparcv9 755 root bin -d none platform/TAD,SPARCLE/lib/sparcv9 755 root bin d none platform/sun4u-us3/lib/sparcv9 755 root bin d none platform/sun4u-us3/lib/sparcv9/libc_psr 755 root bin f none platform/sun4u/lib/sparcv9/libc_psr.so.1 755 root bin @@ -178,7 +174,6 @@ s none platform/SUNW,UltraSPARC-IIe-NetraCT-40/lib/sparcv9/libc_psr.so.1=../../. s none platform/SUNW,UltraSPARC-IIe-NetraCT-60/lib/sparcv9/libc_psr.so.1=../../../sun4u/lib/sparcv9/libc_psr.so.1 s none platform/SUNW,UltraSPARC-IIi-Netract/lib/sparcv9/libc_psr.so.1=../../../sun4u/lib/sparcv9/libc_psr.so.1 s none platform/SUNW,Netra-CP2300/lib/sparcv9/libc_psr.so.1=../../../sun4u/lib/sparcv9/libc_psr.so.1 -s none platform/TAD,SPARCLE/lib/sparcv9/libc_psr.so.1=../../../sun4u/lib/sparcv9/libc_psr.so.1 f none platform/sun4u/lib/sparcv9/libmd_psr.so.1 755 root bin s none platform/SUNW,Netra-T12/lib/sparcv9/libmd_psr.so.1=../../../sun4u/lib/sparcv9/libmd_psr.so.1 s none platform/SUNW,Netra-T4/lib/sparcv9/libmd_psr.so.1=../../../sun4u/lib/sparcv9/libmd_psr.so.1 @@ -213,7 +208,6 @@ s none platform/SUNW,UltraSPARC-IIe-NetraCT-40/lib/sparcv9/libmd_psr.so.1=../../ s none platform/SUNW,UltraSPARC-IIe-NetraCT-60/lib/sparcv9/libmd_psr.so.1=../../../sun4u/lib/sparcv9/libmd_psr.so.1 s none platform/SUNW,UltraSPARC-IIi-Netract/lib/sparcv9/libmd_psr.so.1=../../../sun4u/lib/sparcv9/libmd_psr.so.1 s none platform/SUNW,Netra-CP2300/lib/sparcv9/libmd_psr.so.1=../../../sun4u/lib/sparcv9/libmd_psr.so.1 -s none platform/TAD,SPARCLE/lib/sparcv9/libmd_psr.so.1=../../../sun4u/lib/sparcv9/libmd_psr.so.1 # # platform/sun4u/lib/bootblks # @@ -262,7 +256,6 @@ d none platform/SUNW,UltraSPARC-IIi-Netract/lib 755 root bin d none platform/SUNW,Netra-CP2300/lib 755 root bin d none platform/SUNW,Netra-CP3010/lib 755 root bin d none platform/SUNW,SPARC-Enterprise/lib 755 root bin -d none platform/TAD,SPARCLE/lib 755 root bin f none platform/sun4u/lib/libc_psr.so.1 755 root bin d none platform/sun4u-us3/lib 755 root sys v none platform/sun4u-us3/lib/libc_psr.so.1 755 root bin @@ -305,7 +298,6 @@ s none platform/SUNW,UltraSPARC-IIi-Netract/lib/libc_psr.so.1=../../sun4u/lib/li s none platform/SUNW,UltraSPARC-IIe-NetraCT-40/lib/libc_psr.so.1=../../sun4u/lib/libc_psr.so.1 s none platform/SUNW,UltraSPARC-IIe-NetraCT-60/lib/libc_psr.so.1=../../sun4u/lib/libc_psr.so.1 s none platform/SUNW,Netra-CP2300/lib/libc_psr.so.1=../../sun4u/lib/libc_psr.so.1 -s none platform/TAD,SPARCLE/lib/libc_psr.so.1=../../sun4u/lib/libc_psr.so.1 # # lib/libmd_psr.so.1 and links to it for each sun4u platform # @@ -343,4 +335,3 @@ s none platform/SUNW,UltraSPARC-IIi-Netract/lib/libmd_psr.so.1=../../sun4u/lib/l s none platform/SUNW,UltraSPARC-IIe-NetraCT-40/lib/libmd_psr.so.1=../../sun4u/lib/libmd_psr.so.1 s none platform/SUNW,UltraSPARC-IIe-NetraCT-60/lib/libmd_psr.so.1=../../sun4u/lib/libmd_psr.so.1 s none platform/SUNW,Netra-CP2300/lib/libmd_psr.so.1=../../sun4u/lib/libmd_psr.so.1 -s none platform/TAD,SPARCLE/lib/libmd_psr.so.1=../../sun4u/lib/libmd_psr.so.1 diff --git a/usr/src/pkgdefs/SUNWhea/prototype_sparc b/usr/src/pkgdefs/SUNWhea/prototype_sparc index f58b096aa8..37be3a4f34 100644 --- a/usr/src/pkgdefs/SUNWhea/prototype_sparc +++ b/usr/src/pkgdefs/SUNWhea/prototype_sparc @@ -148,8 +148,6 @@ d none usr/platform/SUNW,Netra-CP2300 755 root sys d none usr/platform/SUNW,Netra-CP2300/include 755 root bin d none usr/platform/SUNW,Netra-CP3010 755 root sys d none usr/platform/SUNW,Netra-CP3010/include 755 root bin -d none usr/platform/TAD,SPARCLE 755 root sys -s none usr/platform/TAD,SPARCLE/include=../sun4u/include d none usr/platform/sun4u/include/sys 755 root bin f none usr/platform/sun4u/include/sys/ac.h 644 root bin f none usr/platform/sun4u/include/sys/async.h 644 root bin diff --git a/usr/src/pkgdefs/SUNWkvm.u/prototype_com b/usr/src/pkgdefs/SUNWkvm.u/prototype_com index 048c48a271..9cbc7e6ec5 100644 --- a/usr/src/pkgdefs/SUNWkvm.u/prototype_com +++ b/usr/src/pkgdefs/SUNWkvm.u/prototype_com @@ -81,7 +81,6 @@ d none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-40 755 root sys d none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-60 755 root sys d none usr/platform/SUNW,Netra-CP2300 755 root sys d none usr/platform/SUNW,Netra-CP3010 755 root sys -d none usr/platform/TAD,SPARCLE 755 root sys # # create sun4u/sbin and links to it from each sun4u platform # @@ -131,7 +130,6 @@ s none usr/platform/SUNW,Netra-CP2300/sbin/trapstat=../../sun4u/sbin/trapstat d none usr/platform/SUNW,Netra-CP3010/sbin 755 root bin s none usr/platform/SUNW,Netra-CP3010/sbin/prtdiag=../../sun4u/sbin/prtdiag s none usr/platform/SUNW,Netra-CP3010/sbin/trapstat=../../sun4u/sbin/trapstat -s none usr/platform/TAD,SPARCLE/sbin=../sun4u/sbin # f none usr/platform/sun4u/sbin/trapstat 555 root bin @@ -227,8 +225,6 @@ d none usr/platform/SUNW,Netra-CP2300/lib 755 root bin d none usr/platform/SUNW,Netra-CP2300/lib/sparcv9 755 root bin d none usr/platform/SUNW,Netra-CP3010/lib 755 root bin d none usr/platform/SUNW,Netra-CP3010/lib/sparcv9 755 root bin -d none usr/platform/TAD,SPARCLE/lib 755 root bin -d none usr/platform/TAD,SPARCLE/lib/sparcv9 755 root bin # # create sun4u/lib/cfgadm and links to it for each sun4u platform # @@ -263,7 +259,6 @@ s none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-40/lib/cfgadm=../../sun4u/lib/cf s none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-60/lib/cfgadm=../../sun4u/lib/cfgadm s none usr/platform/SUNW,Netra-CP2300/lib/cfgadm=../../sun4u/lib/cfgadm s none usr/platform/SUNW,Netra-CP3010/lib/cfgadm=../../sun4u/lib/cfgadm -s none usr/platform/TAD,SPARCLE/lib/cfgadm=../../sun4u/lib/cfgadm # f none usr/platform/sun4u/lib/cfgadm/sysctrl.so.1 755 root bin s none usr/platform/sun4u/lib/cfgadm/sysctrl.so=./sysctrl.so.1 @@ -315,7 +310,6 @@ s none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-60/lib/fs=../../sun4u/lib/fs s none usr/platform/SUNW,Netra-CP2300/lib/fs=../../sun4u/lib/fs s none usr/platform/SUNW,Netra-CP3010/lib/fs=../../sun4u/lib/fs s none usr/platform/SUNW,SPARC-Enterprise/lib/fs=../../sun4u/lib/fs -s none usr/platform/TAD,SPARCLE/lib/fs=../../sun4u/lib/fs # d none usr/platform/sun4u/lib/fs/ufs 755 root bin s none usr/platform/sun4u/lib/fs/ufs/bootblk=../../../../../../platform/sun4u/lib/fs/ufs/bootblk @@ -438,7 +432,5 @@ s none usr/platform/SUNW,Netra-CP2300/lib/libsoftcrypto_psr.so.1=../../sun4u/lib s none usr/platform/SUNW,Netra-CP2300/lib/sparcv9/libsoftcrypto_psr.so.1=../../../sun4u/lib/sparcv9/libsoftcrypto_psr.so.1 s none usr/platform/SUNW,Netra-CP3010/lib/libsoftcrypto_psr.so.1=../../sun4u/lib/libsoftcrypto_psr.so.1 s none usr/platform/SUNW,Netra-CP3010/lib/sparcv9/libsoftcrypto_psr.so.1=../../../sun4u/lib/sparcv9/libsoftcrypto_psr.so.1 -s none usr/platform/TAD,SPARCLE/lib/libsoftcrypto_psr.so.1=../../sun4u/lib/libsoftcrypto_psr.so.1 -s none usr/platform/TAD,SPARCLE/lib/sparcv9/libsoftcrypto_psr.so.1=../../../sun4u/lib/sparcv9/libsoftcrypto_psr.so.1 diff --git a/usr/src/pkgdefs/SUNWpiclu/prototype_sparc b/usr/src/pkgdefs/SUNWpiclu/prototype_sparc index 0ee5fd1ad5..8ebc1a3089 100644 --- a/usr/src/pkgdefs/SUNWpiclu/prototype_sparc +++ b/usr/src/pkgdefs/SUNWpiclu/prototype_sparc @@ -379,9 +379,6 @@ f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_FT4.conf 644 root sy f none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/fru_FT5.conf 644 root sys s none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/libpiclfrudr.so.1=../../../../SUNW,Sun-Fire-V240/lib/picl/plugins/libpiclfrudr.so.1 s none usr/platform/SUNW,Sun-Fire-V445/lib/picl/plugins/libpiclfrudr.so=../../../../SUNW,Sun-Fire-V240/lib/picl/plugins/libpiclfrudr.so -d none usr/platform/TAD,SPARCLE 755 root sys -d none usr/platform/TAD,SPARCLE/lib 755 root bin -s none usr/platform/TAD,SPARCLE/lib/libprtdiag_psr.so.1=../../SUNW,Sun-Blade-100/lib/libprtdiag_psr.so.1 d none usr/lib/sparcv9 755 root bin f none usr/lib/sparcv9/libpicl.so.1 755 root bin s none usr/lib/sparcv9/libpicl.so=./libpicl.so.1 755 root bin diff --git a/usr/src/pkgdefs/SUNWpstl.u/prototype_sparc b/usr/src/pkgdefs/SUNWpstl.u/prototype_sparc index 309913e8a5..15415cc056 100644 --- a/usr/src/pkgdefs/SUNWpstl.u/prototype_sparc +++ b/usr/src/pkgdefs/SUNWpstl.u/prototype_sparc @@ -19,11 +19,9 @@ # CDDL HEADER END # # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -#pragma ident "%Z%%M% %I% %E% SMI" -# # This required package information file contains a list of package contents. # The 'pkgmk' command uses this file to identify the contents of a package # and their location on the development machine when building the package. @@ -77,7 +75,6 @@ d none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-40 755 root sys d none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-60 755 root sys d none usr/platform/SUNW,Netra-CP2300 755 root sys d none usr/platform/SUNW,Netra-CP3010 755 root sys -d none usr/platform/TAD,SPARCLE 755 root sys # # create other sun4u platform/lib directories # @@ -111,4 +108,3 @@ d none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-40/lib 755 root bin d none usr/platform/SUNW,UltraSPARC-IIe-NetraCT-60/lib 755 root bin d none usr/platform/SUNW,Netra-CP2300/lib 755 root bin d none usr/platform/SUNW,Netra-CP3010/lib 755 root bin -d none usr/platform/TAD,SPARCLE/lib 755 root bin diff --git a/usr/src/pkgdefs/SUNWwbsd/Makefile b/usr/src/pkgdefs/SUNWwbsd/Makefile deleted file mode 100644 index b414b661c9..0000000000 --- a/usr/src/pkgdefs/SUNWwbsd/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# -# Copyright 2008 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# - -include ../Makefile.com - -.KEEP_STATE: - -all: $(FILES) postinstall postremove depend -install: all pkg - -include ../Makefile.targ diff --git a/usr/src/pkgdefs/SUNWwbsd/depend b/usr/src/pkgdefs/SUNWwbsd/depend deleted file mode 100644 index 124d5ac6dc..0000000000 --- a/usr/src/pkgdefs/SUNWwbsd/depend +++ /dev/null @@ -1,51 +0,0 @@ -# -# Copyright 2009 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# This package information file defines software dependencies associated -# with the pkg. You can define three types of pkg dependencies with this file: -# P indicates a prerequisite for installation -# I indicates an incompatible package -# R indicates a reverse dependency -# <pkg.abbr> see pkginfo(4), PKG parameter -# <name> see pkginfo(4), NAME parameter -# <version> see pkginfo(4), VERSION parameter -# <arch> see pkginfo(4), ARCH parameter -# <type> <pkg.abbr> <name> -# (<arch>)<version> -# (<arch>)<version> -# ... -# <type> <pkg.abbr> <name> -# ... -# - -P SUNWcar Core Architecture, (Root) -P SUNWcakr Core Solaris Kernel Architecture (Root) -P SUNWkvm Core Architecture, (Kvm) -P SUNWcsr Core Solaris, (Root) -P SUNWckr Core Solaris Kernel (Root) -P SUNWcnetr Core Solaris Network Infrastructure (Root) -P SUNWcsu Core Solaris, (Usr) -P SUNWcsd Core Solaris Devices -P SUNWcsl Core Solaris Libraries -P SUNWcslr Core Solaris Libraries (Root) -P SUNWsdcard SD/MMC Drivers diff --git a/usr/src/pkgdefs/SUNWwbsd/pkginfo.tmpl b/usr/src/pkgdefs/SUNWwbsd/pkginfo.tmpl deleted file mode 100644 index e67b841f24..0000000000 --- a/usr/src/pkgdefs/SUNWwbsd/pkginfo.tmpl +++ /dev/null @@ -1,45 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# - -# -# Copyright 2008 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# - -PKG=SUNWwbsd -NAME=Winbond SD Host Driver -ARCH="ISA" -VERSION="ONVERS,REV=0.0.0" -SUNW_PRODNAME="SunOS" -SUNW_PRODVERS="RELEASE/VERSION" -SUNW_PKGVERS="1.0" -SUNW_PKGTYPE="root" -MAXINST="1000" -CATEGORY=system -VENDOR="Sun Microsystems, Inc." -DESC="Winbond SD Host Driver" -CLASSES="none preserve" -HOTLINE="Please contact your local service provider" -EMAIL="" -BASEDIR=/ -SUNW_PKG_ALLZONES="true" -SUNW_PKG_HOLLOW="true" -SUNW_PKG_THISZONE="false" diff --git a/usr/src/pkgdefs/SUNWwbsd/postinstall b/usr/src/pkgdefs/SUNWwbsd/postinstall deleted file mode 100644 index 8813527891..0000000000 --- a/usr/src/pkgdefs/SUNWwbsd/postinstall +++ /dev/null @@ -1,139 +0,0 @@ -#!/sbin/sh -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# -# Copyright 2008 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# - -# Function: check_add_drv() -# -# This function will check if the module has an entry in etc/name_to_major -# If not simply calls add_drv with the arguments given. If there is -# such an entry in name_to_major file, it adds entries in driver_aliases -# driver_classes and minor_perm if necessary. -# The syntax of this function is the same as add_drv. - -check_add_drv() -{ - if [ "$BASEDIR" = "" ] - then - BASEDIR=/ - fi - alias="" - class="" - ADD_ALIAS=0 - ADD_CLASS=0 - ADD_MINOR=0 - OPTIND=1 - IS_NET_DRIVER=0 - - cmd="add_drv" - - NO_CMD= - while getopts i:b:m:c:N opt - do - case $opt in - N ) NO_CMD=1;; - i ) ADD_ALIAS=1 - alias=$OPTARG - cmd=$cmd" -i '$alias'" - ;; - m ) ADD_MINOR=1 - minor=$OPTARG - cmd=$cmd" -m '$minor'" - ;; - c) ADD_CLASS=1 - class=$OPTARG - cmd=$cmd" -c $class" - ;; - b) BASEDIR=$OPTARG - cmd=$cmd" -b $BASEDIR" - ;; - \?) echo "check_add_drv can not handle this option" - return - ;; - esac - done - shift `/usr/bin/expr $OPTIND - 1` - - drvname=$1 - - cmd=$cmd" "$drvname - - drvname=`echo $drvname | /usr/bin/sed 's;.*/;;g'` - - /usr/bin/grep "^$drvname[ ]" $BASEDIR/etc/name_to_major > /dev/null 2>&1 - - # - # NB: We really would have liked to use update_drv here, but - # since we can't do that (see CR 6281386), we have this code. - # Note that if we've never added this driver before, the add_drv - # below takes care of worrying about conflicting entries in - # /etc/driver_aliases. (It will fail if there is a conflicting - # driver squatting on the alias.) - # - if [ "$NO_CMD" = "" -a $? -ne 0 ] - then - eval $cmd - else - # entry already in name_to_major, add alias, class, minorperm - # if necessary - if [ $ADD_ALIAS = 1 ] - then - for i in $alias - do - /usr/bin/egrep "^$drvname[ ]+$i" $BASEDIR/etc/driver_aliases>/dev/null 2>&1 - if [ $? -ne 0 ] - then - echo "$drvname $i" >> $BASEDIR/etc/driver_aliases - fi - done - fi - - if [ $ADD_CLASS = 1 ] - then - /usr/bin/egrep "^$drvname[ ]+$class( | |$)" $BASEDIR/etc/driver_classes > /dev/null 2>&1 - if [ $? -ne 0 ] - then - echo "$drvname\t$class" >> $BASEDIR/etc/driver_classes - fi - fi - - if [ $ADD_MINOR = 1 ] - then - /usr/bin/grep "^$drvname:" $BASEDIR/etc/minor_perm > /dev/null 2>&1 - if [ $? -ne 0 ] - then - minorentry="$drvname:$minor" - echo $minorentry >> $BASEDIR/etc/minor_perm - fi - fi - - fi - - -} - -check_add_drv -b "${BASEDIR}" \ - -i '"TAD,wb-sdcard"' \ - -m '* 0644 root root' wbsd - diff --git a/usr/src/pkgdefs/SUNWwbsd/postremove b/usr/src/pkgdefs/SUNWwbsd/postremove deleted file mode 100644 index ee057ad860..0000000000 --- a/usr/src/pkgdefs/SUNWwbsd/postremove +++ /dev/null @@ -1,36 +0,0 @@ -#!/sbin/sh -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# -# Copyright 2008 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# - -BD=${BASEDIR:-/} -if grep -w wbsd $BD/etc/name_to_major > /dev/null 2>&1 -then - rem_drv -b ${BD} wbsd - if [ $? -ne 0 ] - then - exit 1 - fi -fi -exit 0 diff --git a/usr/src/pkgdefs/SUNWwbsd/prototype_com b/usr/src/pkgdefs/SUNWwbsd/prototype_com deleted file mode 100644 index 03b81353c3..0000000000 --- a/usr/src/pkgdefs/SUNWwbsd/prototype_com +++ /dev/null @@ -1,47 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# -# Copyright 2008 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# - -# -# This required package information file contains a list of package contents. -# The 'pkgmk' command uses this file to identify the contents of a package -# and their location on the development machine when building the package. -# Can be created via a text editor or through use of the 'pkgproto' command. - -#!search <pathname pathname ...> # where to find pkg objects -#!include <filename> # include another 'prototype' file -#!default <mode> <owner> <group> # default used if not specified on entry -#!<param>=<value> # puts parameter in pkg environment - -# -# -i pkginfo -i copyright -i depend -i postinstall -i postremove - -# Winbond SD driver -d none kernel 0755 root sys -d none kernel/drv 0755 root sys diff --git a/usr/src/pkgdefs/SUNWwbsd/prototype_i386 b/usr/src/pkgdefs/SUNWwbsd/prototype_i386 deleted file mode 100644 index 46277b9c22..0000000000 --- a/usr/src/pkgdefs/SUNWwbsd/prototype_i386 +++ /dev/null @@ -1,48 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# -# Copyright 2008 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# - -# -# This required package information file contains a list of package contents. -# The 'pkgmk' command uses this file to identify the contents of a package -# and their location on the development machine when building the package. -# Can be created via a text editor or through use of the 'pkgproto' command. - -#!search <pathname pathname ...> # where to find pkg objects -#!include <filename> # include another 'prototype' file -#!default <mode> <owner> <group> # default used if not specified on entry -#!<param>=<value> # puts parameter in pkg environment - -# -# Include ISA independent files (prototype_com) -# -!include prototype_com -# -# - -# Winbond SD driver -# Not delivered on Intel - yet! -#f none kernel/drv/wbsd 0755 root sys -#d none kernel/drv/amd64 0755 root sys -#f none kernel/drv/amd64/wbsd 0755 root sys diff --git a/usr/src/pkgdefs/SUNWwbsd/prototype_sparc b/usr/src/pkgdefs/SUNWwbsd/prototype_sparc deleted file mode 100644 index 6b5fd6c332..0000000000 --- a/usr/src/pkgdefs/SUNWwbsd/prototype_sparc +++ /dev/null @@ -1,46 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# -# Copyright 2008 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# - -# -# This required package information file contains a list of package contents. -# The 'pkgmk' command uses this file to identify the contents of a package -# and their location on the development machine when building the package. -# Can be created via a text editor or through use of the 'pkgproto' command. - -#!search <pathname pathname ...> # where to find pkg objects -#!include <filename> # include another 'prototype' file -#!default <mode> <owner> <group> # default used if not specified on entry -#!<param>=<value> # puts parameter in pkg environment - -# -# Include ISA independent files (prototype_com) -# -!include prototype_com -# -# - -# Winbond SD driver -d none kernel/drv/sparcv9 0755 root sys -f none kernel/drv/sparcv9/wbsd 0755 root sys diff --git a/usr/src/psm/stand/boot/sparcv9/sun4u/Makefile b/usr/src/psm/stand/boot/sparcv9/sun4u/Makefile index 074c295ca2..455cf316cd 100644 --- a/usr/src/psm/stand/boot/sparcv9/sun4u/Makefile +++ b/usr/src/psm/stand/boot/sparcv9/sun4u/Makefile @@ -19,7 +19,7 @@ # CDDL HEADER END # # -# Copyright 2008 Sun Microsystems, Inc. All rights reserved. +# Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # @@ -60,7 +60,6 @@ PLATLINKS += SUNW,Netra-T4 PLATLINKS += SUNW,Netra-CP2300 PLATLINKS += SUNW,Netra-CP3010 PLATLINKS += SUNW,SPARC-Enterprise -PLATLINKS += TAD,SPARCLE LINKED_DIRS = $(PLATLINKS:%=$(USR_PLAT_DIR)/%) LINKED_LIB_DIRS = $(PLATLINKS:%=$(USR_PLAT_DIR)/%/lib) diff --git a/usr/src/psm/stand/bootblks/ufs/sparc/sun4u/Makefile b/usr/src/psm/stand/bootblks/ufs/sparc/sun4u/Makefile index 97046bdf91..1fd1691c38 100644 --- a/usr/src/psm/stand/bootblks/ufs/sparc/sun4u/Makefile +++ b/usr/src/psm/stand/bootblks/ufs/sparc/sun4u/Makefile @@ -19,9 +19,7 @@ # CDDL HEADER END # # -#ident "%Z%%M% %I% %E% SMI" -# -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # psm/stand/bootblks/ufs/sparc/sun4u/Makefile @@ -61,7 +59,6 @@ PLATLINKS += SUNW,Serverblade1 PLATLINKS += SUNW,Netra-T12 PLATLINKS += SUNW,Netra-T4 PLATLINKS += SUNW,SPARC-Enterprise -PLATLINKS += TAD,SPARCLE LINKED_DIRS = $(PLATLINKS:%=$(USR_PLAT_DIR)/%) LINKED_LIB_DIRS = $(PLATLINKS:%=$(USR_PLAT_DIR)/%/lib) diff --git a/usr/src/uts/common/Makefile.files b/usr/src/uts/common/Makefile.files index 7d8ed8dac1..8826e3029c 100644 --- a/usr/src/uts/common/Makefile.files +++ b/usr/src/uts/common/Makefile.files @@ -1904,7 +1904,6 @@ SDA_OBJS = sda_cmd.o sda_host.o sda_init.o sda_mem.o sda_mod.o \ sda_nexus.o sda_slot.o SDCARD_OBJS = sdcard.o SDHOST_OBJS = sdhost.o -WBSD_OBJS = wbsd.o # # hxge 10G driver module diff --git a/usr/src/uts/common/Makefile.rules b/usr/src/uts/common/Makefile.rules index 01a28db0be..d1aeba3bed 100644 --- a/usr/src/uts/common/Makefile.rules +++ b/usr/src/uts/common/Makefile.rules @@ -1043,10 +1043,6 @@ $(OBJS_DIR)/%.o: $(UTSBASE)/common/io/sdcard/adapters/sdhost/%.c $(COMPILE.c) -o $@ $< $(CTFCONVERT_O) -$(OBJS_DIR)/%.o: $(UTSBASE)/common/io/sdcard/adapters/wbsd/%.c - $(COMPILE.c) -o $@ $< - $(CTFCONVERT_O) - $(OBJS_DIR)/%.o: $(UTSBASE)/common/io/sdcard/impl/%.c $(COMPILE.c) -o $@ $< $(CTFCONVERT_O) @@ -2222,9 +2218,6 @@ $(LINTS_DIR)/%.ln: $(UTSBASE)/common/io/scsi/targets/%.c $(LINTS_DIR)/%.ln: $(UTSBASE)/common/io/sdcard/adapters/sdhost/%.c @($(LHEAD) $(LINT.c) $< $(LTAIL)) -$(LINTS_DIR)/%.ln: $(UTSBASE)/common/io/sdcard/adapters/wbsd/%.c - @($(LHEAD) $(LINT.c) $< $(LTAIL)) - $(LINTS_DIR)/%.ln: $(UTSBASE)/common/io/sdcard/impl/%.c @($(LHEAD) $(LINT.c) $< $(LTAIL)) diff --git a/usr/src/uts/common/io/audio/drv/audiots/audiots.c b/usr/src/uts/common/io/audio/drv/audiots/audiots.c index b77145976d..337aeb88a7 100644 --- a/usr/src/uts/common/io/audio/drv/audiots/audiots.c +++ b/usr/src/uts/common/io/audio/drv/audiots/audiots.c @@ -1063,7 +1063,6 @@ audiots_alloc_port(audiots_state_t *state, int num) int rc; ddi_acc_handle_t regsh = state->ts_acch; uint32_t *gcptr = &state->ts_regs->aud_regs.ap_cir_gc; - char *namestr; port = kmem_zalloc(sizeof (*port), KM_SLEEP); state->ts_ports[num] = port; @@ -1157,36 +1156,6 @@ audiots_alloc_port(audiots_state_t *state, int num) audio_engine_set_private(port->tp_engine, port); audio_dev_add_engine(adev, port->tp_engine); - state->ts_swapped = B_FALSE; - - /* - * SPARCLE platform specific hack. For reasons that I can't - * seem to fathom, the SPARCLE platform only gets the - * endianness correct when transferring whole 32-bit words and - * using little endian mapping. That isn't compatible with - * the audio framework's access mode, so we have to set up - * explicit swapping of the left and right channels. - * - * The real mystery here is why this is required for Tadpole - * SPARCLE, but not for any other standard Sun platforms that - * I've tested. - * - * "swap_channels" property can be used in driver.conf to - * force the left/right as well. - */ - rc = ddi_prop_lookup_string(DDI_DEV_T_ANY, ddi_root_node(), 0, - "name", &namestr); - if (rc == DDI_PROP_SUCCESS) { - if (strcmp(namestr, "TAD,SPARCLE") == 0) { - state->ts_swapped = B_TRUE; - } - ddi_prop_free(namestr); - } - - state->ts_swapped = ddi_prop_get_int(DDI_DEV_T_ANY, dip, - DDI_PROP_NOTPROM | DDI_PROP_DONTPASS, "swap_channels", - state->ts_swapped); - return (DDI_SUCCESS); } @@ -1648,14 +1617,8 @@ audiots_start(void *arg) static void audiots_chinfo(void *arg, int chan, unsigned *offset, unsigned *incr) { - audiots_port_t *port = arg; - - /* if channels are swapped (SPARCLE), then deal with it */ - if (port->tp_state->ts_swapped) { - *offset = (chan ? 0 : 1); - } else { - *offset = chan; - } + _NOTE(ARGUNUSED(arg)); + *offset = chan; *incr = 2; } diff --git a/usr/src/uts/common/io/audio/drv/audiots/audiots.h b/usr/src/uts/common/io/audio/drv/audiots/audiots.h index f239e8f608..ae5201bca2 100644 --- a/usr/src/uts/common/io/audio/drv/audiots/audiots.h +++ b/usr/src/uts/common/io/audio/drv/audiots/audiots.h @@ -481,7 +481,6 @@ struct audiots_state { ddi_acc_handle_t ts_pcih; /* handle to config regs */ ddi_acc_handle_t ts_acch; /* handle to mapped regs */ boolean_t ts_suspended; /* power management state */ - boolean_t ts_swapped; /* swapped left/right? */ uint32_t ts_devid; uint8_t ts_revid; /* SB Chip Revision ID */ diff --git a/usr/src/uts/common/io/sdcard/adapters/wbsd/wbsd.c b/usr/src/uts/common/io/sdcard/adapters/wbsd/wbsd.c deleted file mode 100644 index c5c51606e3..0000000000 --- a/usr/src/uts/common/io/sdcard/adapters/wbsd/wbsd.c +++ /dev/null @@ -1,1052 +0,0 @@ -/* - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License (the "License"). - * You may not use this file except in compliance with the License. - * - * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * When distributing Covered Code, include this CDDL HEADER in each - * file and include the License file at usr/src/OPENSOLARIS.LICENSE. - * If applicable, add the following below this CDDL HEADER, with the - * fields enclosed by brackets "[]" replaced with your own identifying - * information: Portions Copyright [yyyy] [name of copyright owner] - * - * CDDL HEADER END - */ -/* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. - */ - -#include <sys/types.h> -#include <sys/conf.h> -#include <sys/sdcard/sda.h> -#include <sys/note.h> -#include <sys/ddi.h> -#include <sys/sunddi.h> -#include "wbsd.h" - -typedef enum wbsd_direction { READ, WRITE } wbsd_direction_t; - -/* - * Soft state. - */ -typedef struct wbsd { - dev_info_t *w_dip; - sda_host_t *w_host; - ddi_intr_handle_t w_ihandle; - ddi_softint_handle_t w_shandle; - ddi_acc_handle_t w_acch; - uint8_t *w_regs; - kmutex_t w_lock; - boolean_t w_suspended; - uint8_t w_width; /* data bus width */ - uint32_t w_resid; /* bytes remaining to xfer */ - uint32_t w_nblks; /* blocks remaining to xfer */ - uint32_t w_blksz; /* block size */ - uint8_t *w_data; /* data pointer */ - wbsd_direction_t w_direction; - sda_err_t w_cmd_err; - sda_err_t w_dat_err; - boolean_t w_done; - boolean_t w_detect; - boolean_t w_acmd12; - boolean_t w_do_soft; - uint16_t w_ctime; /* command timeout (us) */ -} wbsd_t; - -_NOTE(DATA_READABLE_WITHOUT_LOCK(wbsd::w_ctime)) - -#define GETREG(wp, r) ddi_get8(wp->w_acch, wp->w_regs + r) -#define PUTREG(wp, r, v) ddi_put8(wp->w_acch, wp->w_regs + r, v) -#define SETREG(wp, r, b) PUTREG(wp, r, GETREG(wp, r) | b) -#define CLRREG(wp, r, b) PUTREG(wp, r, GETREG(wp, r) & ~b) -#define GETIDX(wp, i, v) \ - { PUTREG(wp, REG_IDXR, i); v = GETREG(wp, REG_DATAR); } -#define PUTIDX(wp, i, v) \ - { PUTREG(wp, REG_IDXR, i); PUTREG(wp, REG_DATAR, v); } - -static int wbsd_ddi_attach(dev_info_t *, ddi_attach_cmd_t); -static int wbsd_ddi_detach(dev_info_t *, ddi_detach_cmd_t); - -static int wbsd_attach(dev_info_t *); -static int wbsd_detach(dev_info_t *); -static int wbsd_resume(dev_info_t *); -static int wbsd_suspend(dev_info_t *); - -static sda_err_t wbsd_cmd(void *, sda_cmd_t *); -static sda_err_t wbsd_getprop(void *, sda_prop_t, uint32_t *); -static sda_err_t wbsd_setprop(void *, sda_prop_t, uint32_t); -static sda_err_t wbsd_reset(void *); -static sda_err_t wbsd_halt(void *); -static sda_err_t wbsd_poll(void *); - -static uint_t wbsd_hard_intr(caddr_t, caddr_t); -static uint_t wbsd_soft_intr(caddr_t, caddr_t); -static int wbsd_setup_interrupts(wbsd_t *); -static void wbsd_teardown_interrupts(wbsd_t *); -static void wbsd_fifo_read(wbsd_t *); -static void wbsd_fifo_write(wbsd_t *); -static void wbsd_reset_hw(wbsd_t *); -static void wbsd_halt_hw(wbsd_t *); -static void wbsd_send_stop(wbsd_t *); -static void wbsd_busy_end(wbsd_t *); -static void wbsd_prog_end(wbsd_t *); -static void wbsd_detect(wbsd_t *); -static void wbsd_error(wbsd_t *, sda_err_t); - -static struct dev_ops wbsd_dev_ops = { - DEVO_REV, /* devo_rev */ - 0, /* devo_refcnt */ - ddi_no_info, /* devo_getinfo */ - nulldev, /* devo_identify */ - nulldev, /* devo_probe */ - wbsd_ddi_attach, /* devo_attach */ - wbsd_ddi_detach, /* devo_detach */ - nodev, /* devo_reset */ - NULL, /* devo_cb_ops */ - NULL, /* devo_bus_ops */ - NULL, /* devo_power */ - ddi_quiesce_not_supported, /* devo_quiesce */ -}; - -static struct modldrv wbsd_modldrv = { - &mod_driverops, /* drv_modops */ - "Winbond W83L519D SD Host", /* drv_linkinfo */ - &wbsd_dev_ops /* drv_dev_ops */ -}; - -static struct modlinkage modlinkage = { - MODREV_1, /* ml_rev */ - { &wbsd_modldrv, NULL } /* ml_linkage */ -}; - -static struct sda_ops wbsd_sda_ops = { - SDA_OPS_VERSION, - wbsd_cmd, /* so_cmd */ - wbsd_getprop, /* so_getprop */ - wbsd_setprop, /* so_setprop */ - wbsd_poll, /* so_poll */ - wbsd_reset, /* so_reset */ - wbsd_halt, /* so_halt */ -}; - -static ddi_device_acc_attr_t wbsd_regattr = { - DDI_DEVICE_ATTR_V0, /* devacc_attr_version */ - DDI_NEVERSWAP_ACC, /* devacc_attr_endian_flags */ - DDI_STRICTORDER_ACC, /* devacc_attr_dataorder */ - DDI_DEFAULT_ACC, /* devacc_attr_access */ -}; - -int -_init(void) -{ - int rv; - - sda_host_init_ops(&wbsd_dev_ops); - - if ((rv = mod_install(&modlinkage)) != 0) { - sda_host_fini_ops(&wbsd_dev_ops); - } - - return (rv); -} - -int -_fini(void) -{ - int rv; - - if ((rv = mod_remove(&modlinkage)) == 0) { - sda_host_fini_ops(&wbsd_dev_ops); - } - - return (rv); -} - -int -_info(struct modinfo *modinfop) -{ - return (mod_info(&modlinkage, modinfop)); -} - -int -wbsd_ddi_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) -{ - switch (cmd) { - case DDI_ATTACH: - return (wbsd_attach(dip)); - case DDI_RESUME: - return (wbsd_resume(dip)); - default: - return (DDI_FAILURE); - } -} - -int -wbsd_ddi_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) -{ - switch (cmd) { - case DDI_DETACH: - return (wbsd_detach(dip)); - case DDI_SUSPEND: - return (wbsd_suspend(dip)); - default: - return (DDI_FAILURE); - } -} - -int -wbsd_attach(dev_info_t *dip) -{ - wbsd_t *wp; - - wp = kmem_zalloc(sizeof (*wp), KM_SLEEP); - - wp->w_host = sda_host_alloc(dip, 1, &wbsd_sda_ops, NULL); - if (wp->w_host == NULL) { - cmn_err(CE_WARN, "Unable to allocate SDA host structure"); - goto failed; - } - ddi_set_driver_private(dip, wp); - sda_host_set_private(wp->w_host, 0, wp); - - wp->w_dip = dip; - - if (ddi_regs_map_setup(dip, 0, (caddr_t *)&wp->w_regs, 0, 0, - &wbsd_regattr, &wp->w_acch) != DDI_SUCCESS) { - cmn_err(CE_WARN, "Unable to map registers"); - goto failed; - } - - /* make sure interrupts are disabled */ - PUTREG(wp, REG_EIR, 0); - - /* setup interrupts, also initializes locks */ - if (wbsd_setup_interrupts(wp) != DDI_SUCCESS) - goto failed; - - ddi_report_dev(dip); - - /* enable device interrupts in DDI */ - (void) ddi_intr_enable(wp->w_ihandle); - - /* attach to the framework */ - if (sda_host_attach(wp->w_host) != DDI_SUCCESS) { - goto failed; - } - - return (DDI_SUCCESS); - -failed: - /* tear down interrupts */ - if (wp->w_ihandle != NULL) { - PUTREG(wp, REG_EIR, 0); - (void) GETREG(wp, REG_ISR); - - wbsd_teardown_interrupts(wp); - } - - /* toss register map */ - if (wp->w_regs != NULL) { - ddi_regs_map_free(&wp->w_acch); - } - - /* free host resources */ - if (wp->w_host != NULL) { - sda_host_free(wp->w_host); - } - - kmem_free(wp, sizeof (*wp)); - return (DDI_FAILURE); -} - -int -wbsd_detach(dev_info_t *dip) -{ - wbsd_t *wp; - - wp = ddi_get_driver_private(dip); - - sda_host_detach(wp->w_host); - - /* disable interrupts */ - PUTREG(wp, REG_EIR, 0); - (void) GETREG(wp, REG_ISR); - - /* remove power from the socket */ - SETREG(wp, REG_CSR, CSR_POWER_N); - - wbsd_teardown_interrupts(wp); - ddi_regs_map_free(&wp->w_acch); - kmem_free(wp, sizeof (*wp)); - return (DDI_SUCCESS); -} - -int -wbsd_suspend(dev_info_t *dip) -{ - wbsd_t *wp; - - wp = ddi_get_driver_private(dip); - - sda_host_suspend(wp->w_host); - - mutex_enter(&wp->w_lock); - wp->w_suspended = B_TRUE; - wbsd_halt_hw(wp); - mutex_exit(&wp->w_lock); - - return (DDI_SUCCESS); -} - -int -wbsd_resume(dev_info_t *dip) -{ - wbsd_t *wp; - - wp = ddi_get_driver_private(dip); - - mutex_enter(&wp->w_lock); - wp->w_suspended = B_FALSE; - wbsd_reset_hw(wp); - mutex_exit(&wp->w_lock); - - sda_host_resume(wp->w_host); - - return (DDI_SUCCESS); -} - -int -wbsd_setup_interrupts(wbsd_t *wp) -{ - uint_t ipri; - int actual; - ddi_intr_handle_t ih; - ddi_softint_handle_t sh; - - /* - * Setup interrupt. Note that these are ISA devices, and only have - * a single fixed interrupt. - */ - if (ddi_intr_alloc(wp->w_dip, &ih, DDI_INTR_TYPE_FIXED, 0, - 1, &actual, DDI_INTR_ALLOC_STRICT) != DDI_SUCCESS) { - cmn_err(CE_WARN, "Unable to allocate interrupt"); - return (DDI_FAILURE); - } - if (ddi_intr_get_pri(ih, &ipri) != DDI_SUCCESS) { - cmn_err(CE_WARN, "Unable to get interrupt priority"); - (void) ddi_intr_free(ih); - return (DDI_FAILURE); - } - if (ddi_intr_add_handler(ih, wbsd_hard_intr, wp, NULL) != - DDI_SUCCESS) { - cmn_err(CE_WARN, "Unable to add interrupt handler"); - (void) ddi_intr_free(ih); - return (DDI_FAILURE); - } - mutex_init(&wp->w_lock, NULL, MUTEX_DRIVER, DDI_INTR_PRI(ipri)); - - /* - * Soft interrupt is next. - */ - if (ddi_intr_add_softint(wp->w_dip, &sh, DDI_INTR_SOFTPRI_MIN, - wbsd_soft_intr, wp) != DDI_SUCCESS) { - (void) ddi_intr_remove_handler(ih); - (void) ddi_intr_free(ih); - mutex_destroy(&wp->w_lock); - return (DDI_FAILURE); - } - - wp->w_ihandle = ih; - wp->w_shandle = sh; - - return (DDI_SUCCESS); -} - -void -wbsd_teardown_interrupts(wbsd_t *wp) -{ - (void) ddi_intr_disable(wp->w_ihandle); - - /* - * These are here to ensure that any previously - * running interrupts (hard or soft) have completed. - */ - mutex_enter(&wp->w_lock); - mutex_exit(&wp->w_lock); - - (void) ddi_intr_remove_handler(wp->w_ihandle); - (void) ddi_intr_free(wp->w_ihandle); - (void) ddi_intr_remove_softint(wp->w_shandle); - - mutex_destroy(&wp->w_lock); -} - - -void -wbsd_detect(wbsd_t *wp) -{ - wp->w_detect = B_TRUE; - wp->w_done = B_TRUE; - wp->w_cmd_err = wp->w_dat_err = SDA_ENODEV; - wp->w_do_soft = B_TRUE; -} - -void -wbsd_error(wbsd_t *wp, sda_err_t err) -{ - wp->w_done = B_TRUE; - wp->w_cmd_err = wp->w_dat_err = err; - wp->w_do_soft = B_TRUE; -} - -void -wbsd_busy_end(wbsd_t *wp) -{ - wp->w_done = B_TRUE; - wp->w_do_soft = B_TRUE; -} - -void -wbsd_prog_end(wbsd_t *wp) -{ - ASSERT(wp->w_direction == WRITE); - if (wp->w_nblks > 0) { - wp->w_nblks--; - if (wp->w_nblks > 0) { - - /* - * Start transferring the next block. - */ - wp->w_resid = wp->w_blksz; - wbsd_fifo_write(wp); - - } else { - /* - * If we needed auto terminate, then do it now. - */ - if (wp->w_acmd12) { - wbsd_send_stop(wp); - - /* - * Otherwise its a single block write completion, so - * just complete the transfer. - */ - } else { - wp->w_done = B_TRUE; - wp->w_do_soft = B_TRUE; - } - } - } -} - -uint_t -wbsd_hard_intr(caddr_t arg1, caddr_t arg2) -{ - wbsd_t *wp = (void *)arg1; - uint8_t isr; - uint_t rv = DDI_INTR_UNCLAIMED; - boolean_t do_soft = B_FALSE; - int i; - - mutex_enter(&wp->w_lock); - if (wp->w_suspended) { - mutex_exit(&wp->w_lock); - return (rv); - } - - for (i = 0; i < 100000; i++) { - isr = GETREG(wp, REG_ISR); - - if ((isr == 0xff) || ((isr & ISR_WANTED) == 0)) - break; - - rv = DDI_INTR_CLAIMED; - - if (isr & ISR_CARD) { - /* - * Make sure that the chip is fully reset after - * a card interrupt occurs. - */ - wbsd_reset_hw(wp); - wbsd_detect(wp); - break; - } - - if (isr & ISR_FIFO) { - /* - * FIFO data ready. Process this as quickly as - * possible. - */ - if (wp->w_direction == WRITE) { - wbsd_fifo_write(wp); - } else { - wbsd_fifo_read(wp); - } - } - - if (isr & ISR_BUSY_END) { - wbsd_busy_end(wp); - } - - if (isr & ISR_PROG_END) { - wbsd_prog_end(wp); - } - - if (isr & ISR_TIMEOUT) { - wbsd_error(wp, SDA_ETIME); - } - - if (isr & ISR_CRC_ERR) { - wbsd_error(wp, SDA_ECRC7); - } - } - - if (i >= 100000) { - PUTREG(wp, REG_EIR, 0); - sda_host_log(wp->w_host, 0, - "Stuck interrupt detected (isr %x)", isr); - sda_host_fault(wp->w_host, 0, SDA_FAULT_HOST); - } - - /* - * If arg2 is NULL, then we are running as an ordinary interrupt. - * Otherwise we are running from polled context, and cannot trigger - * soft interrupts. - */ - if (wp->w_do_soft && (arg2 == NULL)) { - wp->w_do_soft = B_FALSE; - do_soft = B_TRUE; - } - mutex_exit(&wp->w_lock); - - if (do_soft) - (void) ddi_intr_trigger_softint(wp->w_shandle, NULL); - - return (rv); -} - -/*ARGSUSED1*/ -uint_t -wbsd_soft_intr(caddr_t arg1, caddr_t arg2) -{ - wbsd_t *wp = (void *)arg1; - boolean_t detect = B_FALSE; - boolean_t done = B_FALSE; - sda_err_t err = SDA_EOK; - - mutex_enter(&wp->w_lock); - - detect = wp->w_detect; - done = wp->w_done; - err = wp->w_dat_err; - - wp->w_done = B_FALSE; - wp->w_detect = B_FALSE; - wp->w_dat_err = SDA_EOK; - - mutex_exit(&wp->w_lock); - - if (detect) { - sda_host_detect(wp->w_host, 0); - } - - if (done) { - sda_host_transfer(wp->w_host, 0, err); - } - - return (DDI_INTR_CLAIMED); -} - -sda_err_t -wbsd_poll(void *arg) -{ - /* 2nd argument indicates running from poll */ - (void) wbsd_hard_intr(arg, (void *)wbsd_poll); - (void) wbsd_soft_intr(arg, (void *)wbsd_poll); - return (SDA_EOK); -} - -sda_err_t -wbsd_getprop(void *arg, sda_prop_t prop, uint32_t *val) -{ - wbsd_t *wp = arg; - sda_err_t rv = SDA_EOK; - uint8_t clock; - - mutex_enter(&wp->w_lock); - if (wp->w_suspended) { - mutex_exit(&wp->w_lock); - return (SDA_ESUSPENDED); - } - - switch (prop) { - case SDA_PROP_INSERTED: - *val = (GETREG(wp, REG_CSR) & CSR_PRESENT) ? B_TRUE : B_FALSE; - break; - - case SDA_PROP_WPROTECT: - /* switch signal select */ - SETREG(wp, REG_CSR, CSR_MSLED); - - drv_usecwait(1000); - *val = (GETREG(wp, REG_CSR) & CSR_WPROTECT) ? B_TRUE : B_FALSE; - CLRREG(wp, REG_CSR, CSR_MSLED); - break; - - case SDA_PROP_OCR: - *val = OCR_32_33V; - break; - - case SDA_PROP_CLOCK: - GETIDX(wp, IDX_CLOCK, clock) - switch (clock) { - case IDX_CLOCK_24M: - *val = 24000000; - break; - case IDX_CLOCK_16M: - *val = 16000000; - break; - case IDX_CLOCK_12M: - *val = 12000000; - break; - case IDX_CLOCK_375K: - *val = 375000; - break; - default: - *val = 0; - break; - } - break; - - case SDA_PROP_CAP_4BITS: - /* - * On Tadpole SPARCLE hardware, the card detect uses - * DAT3, which causes all kinds of problems. It is quite - * troublesome to support card detection events properly with - * this configuration, so we fall back to supporting only - * single bit mode. It is possible to correct this, but - * it requires changes in the framework, particularly to - * note that the DAT3 pin is used this way. - * - * In particular, this would require separate commands to - * the card to connect/disconnect the card internal pullup - * resistor, as well as to manipulate the interrupt register, - * and then poll card status on command completion. - * - * The Winbond part is so slow, that it is doubtful that the - * trouble would be worth it. On x86 hardware where we can - * make use of GPIO pin detection, the situation might be - * quite different. - */ - *val = B_FALSE; - break; - - case SDA_PROP_CAP_NOPIO: - case SDA_PROP_CAP_INTR: - case SDA_PROP_CAP_8BITS: - *val = B_FALSE; - break; - - default: - rv = SDA_ENOTSUP; - break; - } - - mutex_exit(&wp->w_lock); - - return (rv); -} - -sda_err_t -wbsd_setprop(void *arg, sda_prop_t prop, uint32_t val) -{ - wbsd_t *wp = arg; - sda_err_t rv = SDA_EOK; - uint8_t clock; - - mutex_enter(&wp->w_lock); - if (wp->w_suspended) { - mutex_exit(&wp->w_lock); - return (SDA_ESUSPENDED); - } - - switch (prop) { - - case SDA_PROP_LED: - break; - case SDA_PROP_CLOCK: - /* - * Note that the "worst case" command timeouts are 16.7us for - * the "slow" 12MHz clock. So a 20us timeout is enough for - * everything faster. - */ - wp->w_ctime = 20; - if (val >= 24000000) { - clock = IDX_CLOCK_24M; - } else if (val >= 16000000) { - clock = IDX_CLOCK_16M; - } else if (val >= 12000000) { - clock = IDX_CLOCK_12M; - } else { - /* - * Worst case command timeout is 533.3 usec. Just - * pick a big enough value to force it. If we choose - * a value of 2 msec, it is enough even if the clock - * runs as low as 100KHz. - */ - clock = IDX_CLOCK_375K; - wp->w_ctime = 2000; - } - PUTIDX(wp, IDX_CLOCK, clock); - break; - - case SDA_PROP_BUSWIDTH: - /* - * See the comment in SDA_PROP_CAP_4BITS, though. - */ - if ((val == 4) || (val == 1)) { - wp->w_width = (uint8_t)val; - } else { - rv = SDA_EINVAL; - } - break; - - case SDA_PROP_OCR: - if ((val == OCR_32_33V) && - ((GETREG(wp, REG_CSR) & CSR_PRESENT) != 0)) { - /* apply power */ - CLRREG(wp, REG_CSR, CSR_POWER_N); - /* activate the various other interrupts on the chip */ - PUTREG(wp, REG_EIR, EIR_CARD | EIR_FIFO | EIR_CRC_ERR | - EIR_TIMEOUT | EIR_PROG_END | EIR_BUSY_END); - } else { - /* power down and reset */ - wbsd_reset_hw(wp); - if (val != 0) { - rv = SDA_EINVAL; - } - } - break; - - default: - break; - } - - mutex_exit(&wp->w_lock); - - return (rv); -} - -void -wbsd_fifo_read(wbsd_t *wp) -{ - uint8_t fsr; - uint8_t cnt; - - ASSERT(mutex_owned(&wp->w_lock)); - - while ((((fsr = GETREG(wp, REG_FSR)) & FSR_EMPTY) == 0) && - (wp->w_resid != 0)) { - /* - * The point of this logic is to avoid extra reads of - * the fifo status register. We are throughput - * limited by the number of PIOs. - */ - if ((fsr & FSR_FULL) != 0) { - cnt = 16; - } else if ((fsr & FSR_FULL_THRE) != 0) { - cnt = 8; - } else { - cnt = 1; - } - while ((cnt != 0) && (wp->w_resid != 0)) { - cnt--; - wp->w_resid--; - *wp->w_data++ = GETREG(wp, REG_DFR); - } - } - - if (wp->w_resid != 0) { - PUTIDX(wp, IDX_THRESH, IDX_THRESH_FULL | min(wp->w_resid, 8)); - } else { - PUTIDX(wp, IDX_THRESH, 0); - - if (wp->w_acmd12) { - wbsd_send_stop(wp); - } else { - wbsd_busy_end(wp); - } - } -} - -void -wbsd_fifo_write(wbsd_t *wp) -{ - uint8_t fsr; - uint8_t cnt; - - ASSERT(mutex_owned(&wp->w_lock)); - - while ((((fsr = GETREG(wp, REG_FSR)) & FSR_FULL) == 0) && - (wp->w_resid != 0)) { - if ((fsr & FSR_EMPTY) != 0) { - cnt = 16; - } else if ((fsr & FSR_EMPTY_THRE) != 0) { - cnt = 8; - } else { - cnt = 1; - } - while ((cnt != 0) && (wp->w_resid != 0)) { - cnt--; - wp->w_resid--; - PUTREG(wp, REG_DFR, *wp->w_data++); - } - } - if (wp->w_resid != 0) { - PUTIDX(wp, IDX_THRESH, IDX_THRESH_EMPTY | min(wp->w_resid, 8)); - } else { - PUTIDX(wp, IDX_THRESH, 0); - /* wait for PROG interrupt */ - } -} - -void -wbsd_send_stop(wbsd_t *wp) -{ - wp->w_acmd12 = B_FALSE; - - PUTREG(wp, REG_CMDR, CMD_STOP_TRANSMIT); - PUTREG(wp, REG_CMDR, 0); - PUTREG(wp, REG_CMDR, 0); - PUTREG(wp, REG_CMDR, 0); - PUTREG(wp, REG_CMDR, 0); -} - -sda_err_t -wbsd_cmd(void *arg, sda_cmd_t *cmdp) -{ - wbsd_t *wp = arg; - boolean_t checkcrc; - uint8_t rstart; - uint8_t rwords; - sda_err_t rv = SDA_EOK; - - checkcrc = B_TRUE; - rstart = IDX_RESP_12; - rwords = 1; - - switch (cmdp->sc_rtype) { - case R0: - rwords = 0; - break; - case R1: - case R5: - case R6: - case R7: - case R1b: - case R5b: - break; - case R2: - rstart = IDX_RESP_1; - rwords = 4; - checkcrc = B_FALSE; - break; - case R3: - case R4: - checkcrc = B_FALSE; - break; - } - - mutex_enter(&wp->w_lock); - if (wp->w_suspended) { - mutex_exit(&wp->w_lock); - return (SDA_ESUSPENDED); - } - - if (cmdp->sc_nblks != 0) { - uint16_t sz; - uint8_t v; - - wp->w_blksz = cmdp->sc_blksz; - wp->w_nblks = cmdp->sc_nblks; - - /* save a few things for completion */ - wp->w_data = (uint8_t *)cmdp->sc_kvaddr; - - wp->w_acmd12 = (cmdp->sc_flags & SDA_CMDF_AUTO_CMD12) ? - B_TRUE : B_FALSE; - - /* maximum timeouts, 127 msec and 25500 cycles */ - PUTIDX(wp, IDX_TAAC, 127); - PUTIDX(wp, IDX_NSAC, 255); - - /* set data width */ - sz = cmdp->sc_blksz + ((wp->w_width == 4) ? 8 : 2); - PUTIDX(wp, IDX_BLKSZMSB, ((sz >> 4) & 0xf0) | - ((wp->w_width == 4) ? 1 : 0)); - PUTIDX(wp, IDX_BLKSZLSB, sz & 0xff); - - /* make sure start the fifo with a clean slate */ - GETIDX(wp, IDX_RESET, v); - v |= IDX_RESET_FIFO; - PUTIDX(wp, IDX_RESET, v); - - /* we don't use DMA, period */ - PUTIDX(wp, IDX_DMA, 0); - - if ((cmdp->sc_flags & SDA_CMDF_READ) != 0) { - /* - * Reading... we arrange to wait for the full - * transfer, than doing a block at a time. - * Simpler that way. - */ - - wp->w_direction = READ; - wp->w_resid = wp->w_blksz * wp->w_nblks; - PUTIDX(wp, IDX_THRESH, IDX_THRESH_FULL | - min(wp->w_resid, 8)); - } else { - /* - * Writing... go ahead and prefill the fifo. - * We write a block at a time, because we need - * the PROG interrupts in the block gaps. - */ - - wp->w_direction = WRITE; - wp->w_resid = wp->w_blksz; - PUTIDX(wp, IDX_THRESH, IDX_THRESH_EMPTY | - min(wp->w_blksz, 8)); - wbsd_fifo_write(wp); - } - } - - /* - * This chip is a bit simple minded. It cannot distinguish - * between errors that occur on the data line, and those that - * occur on the CMD line. - */ - - /* make sure we clear any preexisting error condition */ - wp->w_cmd_err = SDA_EOK; - - PUTREG(wp, REG_CMDR, cmdp->sc_index); - PUTREG(wp, REG_CMDR, (cmdp->sc_argument >> 24) & 0xff); - PUTREG(wp, REG_CMDR, (cmdp->sc_argument >> 16) & 0xff); - PUTREG(wp, REG_CMDR, (cmdp->sc_argument >> 8) & 0xff); - PUTREG(wp, REG_CMDR, (cmdp->sc_argument) & 0xff); - - /* - * Note that while we are waiting for the timer to run out (which - * is really short), a timeout or other error interrupt can occur. - * We want to know about such error indications, so we have to drop - * to the lock so that the interrupt service routine can post the - * appropriate error in the w_cmd_err variable. - */ - mutex_exit(&wp->w_lock); - drv_usecwait(wp->w_ctime); - mutex_enter(&wp->w_lock); - - if ((rv = wp->w_cmd_err) == SDA_EOK) { - uint8_t stat; - GETIDX(wp, IDX_STATUS, stat); - if ((stat & IDX_STATUS_TRAFFIC) != 0) { - rv = SDA_ETIME; - } - } - - /* some commands don't use valid CRC */ - if ((rv == SDA_ECRC7) && !checkcrc) { - rv = SDA_EOK; - } - - PUTIDX(wp, IDX_RESET, IDX_RESET_AUTO_INC); - PUTREG(wp, REG_IDXR, rstart); - while (rwords != 0) { - uint32_t v; - v = GETREG(wp, REG_DATAR); - v <<= 8; - v |= GETREG(wp, REG_DATAR); - v <<= 8; - v |= GETREG(wp, REG_DATAR); - v <<= 8; - v |= GETREG(wp, REG_DATAR); - rwords--; - cmdp->sc_response[rwords] = v; - } - PUTIDX(wp, IDX_RESET, IDX_RESET_AUTO_INC); - - mutex_exit(&wp->w_lock); - - - return (rv); -} - -void -wbsd_halt_hw(wbsd_t *wp) -{ - /* reset chip and fifo */ - PUTIDX(wp, IDX_RESET, IDX_RESET_SOFT | IDX_RESET_FIFO); - - /* disable interrupts */ - PUTREG(wp, REG_EIR, 0); - - /* remove power */ - SETREG(wp, REG_CSR, CSR_POWER_N); -} - -void -wbsd_reset_hw(wbsd_t *wp) -{ - /* remove power from slot, set LED enable */ - PUTREG(wp, REG_CSR, CSR_POWER_N); - - /* reset chip and fifo */ - PUTIDX(wp, IDX_RESET, IDX_RESET_SOFT | IDX_RESET_FIFO); - - /* clear any pending interrupts */ - (void) GETREG(wp, REG_ISR); - - /* enable card interrupt */ - PUTREG(wp, REG_EIR, EIR_CARD); -} - -sda_err_t -wbsd_reset(void *arg) -{ - wbsd_t *wp = arg; - - mutex_enter(&wp->w_lock); - wp->w_acmd12 = B_FALSE; - wp->w_resid = 0; - wp->w_data = NULL; - wp->w_width = 1; - - if (!wp->w_suspended) { - /* reset occurred when we suspended */ - wbsd_reset_hw(wp); - } - mutex_exit(&wp->w_lock); - - return (SDA_EOK); -} - -sda_err_t -wbsd_halt(void *arg) -{ - wbsd_t *wp = arg; - - mutex_enter(&wp->w_lock); - if (!wp->w_suspended) { - wbsd_halt_hw(wp); - } - mutex_exit(&wp->w_lock); - - return (SDA_EOK); -} diff --git a/usr/src/uts/common/io/sdcard/adapters/wbsd/wbsd.h b/usr/src/uts/common/io/sdcard/adapters/wbsd/wbsd.h deleted file mode 100644 index b77ef1bd94..0000000000 --- a/usr/src/uts/common/io/sdcard/adapters/wbsd/wbsd.h +++ /dev/null @@ -1,154 +0,0 @@ -/* - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License (the "License"). - * You may not use this file except in compliance with the License. - * - * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * When distributing Covered Code, include this CDDL HEADER in each - * file and include the License file at usr/src/OPENSOLARIS.LICENSE. - * If applicable, add the following below this CDDL HEADER, with the - * fields enclosed by brackets "[]" replaced with your own identifying - * information: Portions Copyright [yyyy] [name of copyright owner] - * - * CDDL HEADER END - */ -/* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. - */ - -#ifndef _SYS_SDCARD_WBSD_H -#define _SYS_SDCARD_WBSD_H - -/* - * Private header for the Winbond W83L519D series SD controller. - */ - -/* - * Direct access registers. - */ -#define REG_CMDR 0x00 /* command register */ -#define REG_DFR 0x01 /* data fifo register */ -#define REG_EIR 0x02 /* enable interrupt register */ -#define REG_ISR 0x03 /* interrupt status register */ -#define REG_FSR 0x04 /* fifo status register */ -#define REG_IDXR 0x05 /* index register */ -#define REG_DATAR 0x06 /* data register */ -#define REG_CSR 0x07 /* card status register */ - -/* - * Direct access register values. - */ - -/* - * Note that some sources appear to have mixed up the busy and prog - * bits. At least on a Tadpole SPARCLE the bits seem to work as - * defined here, although note that on SPARC hardware there does not - * appear to be any kind of DMA support for ebus (ISA). - */ -#define EIR_CARD 0x40 /* card interrupt */ -#define EIR_FIFO 0x20 /* FIFO threshold reached */ -#define EIR_CRC_ERR 0x10 /* CRC error? */ -#define EIR_TIMEOUT 0x08 /* timeout on CMD or DAT */ -#define EIR_BUSY_END 0x04 /* programming complete */ -#define EIR_PROG_END 0x02 /* busy bit has cleared */ -#define EIR_TC 0x01 /* DMA transfer complete */ -#define EIR_TYPICAL (EIR_CARD | EIR_CRC_ERR | EIR_TIMEOUT) -#define EIR_WRITE (EIR_TYPICAL | EIR_FIFO | EIR_PROG_END) -#define EIR_READ (EIR_TYPICAL | EIR_FIFO) -#define EIR_STOP (EIR_TYPICAL | EIR_BUSY_END) - -#define ISR_CARD 0x40 /* card interrupt */ -#define ISR_FIFO 0x20 /* FIFO threshold reached */ -#define ISR_CRC_ERR 0x10 /* CRC7 error */ -#define ISR_TIMEOUT 0x08 /* timeout on CMD or DAT */ -#define ISR_BUSY_END 0x04 /* programming complete */ -#define ISR_PROG_END 0x02 /* busy bit has cleared */ -#define ISR_TC 0x01 /* DMA transfer complete */ -#define ISR_WANTED (ISR_CARD | ISR_FIFO | ISR_CRC_ERR | ISR_TIMEOUT | \ - ISR_BUSY_END | ISR_PROG_END) - -#define FSR_FULL_THRE 0x10 -#define FSR_EMPTY_THRE 0x20 -#define FSR_FULL 0x40 -#define FSR_EMPTY 0x80 -#define FSR_PTR_MASK 0x0F - -#define CSR_PRESENT 0x01 -#define CSR_WPROTECT 0x04 -#define CSR_POWER_N 0x10 -#define CSR_MSLED 0x20 - -/* - * Index offsets for indirect registers. - */ -#define IDX_CLOCK 0x01 /* clock select */ -#define IDX_BLKSZMSB 0x02 /* data width, block size MSB */ -#define IDX_TAAC 0x03 /* TAAC timing spec */ -#define IDX_NSAC 0x04 /* NSAC timing spec */ -#define IDX_BLKSZLSB 0x05 /* block size LSB */ -#define IDX_RESET 0x06 /* reset */ -#define IDX_DMA 0x07 /* DMA setting */ -#define IDX_THRESH 0x08 /* FIFO threshold control */ -#define IDX_PID_1 0x0E /* product id */ -#define IDX_PID_2 0x0F /* product id */ -#define IDX_STATUS 0x10 /* chip status */ -#define IDX_CMD 0x11 /* first command index */ -#define IDX_RESP_TYPE 0x1E -#define IDX_RESP_0 0x1F -#define IDX_RESP_1 0x20 -#define IDX_RESP_2 0x21 -#define IDX_RESP_3 0x22 -#define IDX_RESP_4 0x13 -#define IDX_RESP_5 0x24 -#define IDX_RESP_6 0x25 -#define IDX_RESP_7 0x26 -#define IDX_RESP_8 0x27 -#define IDX_RESP_9 0x28 -#define IDX_RESP_10 0x29 -#define IDX_RESP_11 0x2A -#define IDX_RESP_12 0x2B -#define IDX_RESP_13 0x2C -#define IDX_RESP_14 0x2D -#define IDX_RESP_15 0x2E -#define IDX_RESP_16 0x2F -#define IDX_CRCSTAT 0x30 - -#define IDX_CLOCK_375K 0 /* clock/128 */ -#define IDX_CLOCK_12M 1 /* clock/4 */ -#define IDX_CLOCK_16M 2 /* clock/3 */ -#define IDX_CLOCK_24M 3 /* clock/2 */ - -#define IDX_RESET_DAT3_H 0x08 -#define IDX_RESET_FIFO 0x04 -#define IDX_RESET_SOFT 0x02 -#define IDX_RESET_AUTO_INC 0x01 /* not really a reset bit */ - -#define IDX_DMA_EN 0x02 -#define IDX_DMA_SINGLE 0x01 - -#define IDX_STATUS_READ 0x80 /* block write in progress */ -#define IDX_STATUS_WRITE 0x40 /* block read in progress */ -#define IDX_STATUS_BUSY 0x20 /* e.g. R1b or R5b */ -#define IDX_STATUS_DAT 0xE0 /* stats using DAT line */ -#define IDX_STATUS_TRAFFIC 0x04 /* cmd line busy */ -#define IDX_STATUS_CMD 0x02 -#define IDX_STATUS_RESP 0x01 - -#define IDX_RESP_TYPE_LONG 0x01 /* the chip figures these out, btw */ -#define IDX_RESP_TYPE_SHORT 0x00 - -#define IDX_CRC_MASK 0x1F -#define IDX_CRC_OK 0x05 - -#define IDX_THRESH_MASK 0x0F /* threshold value (may not work) */ -#define IDX_THRESH_FULL 0x10 /* enable threshold full */ -#define IDX_THRESH_EMPTY 0x20 /* enable threshold empty */ - -#endif /* _SYS_SDCARD_WBSD_H */ diff --git a/usr/src/uts/sparc/Makefile.sparc.shared b/usr/src/uts/sparc/Makefile.sparc.shared index 7036725cf3..a439a3dbf5 100644 --- a/usr/src/uts/sparc/Makefile.sparc.shared +++ b/usr/src/uts/sparc/Makefile.sparc.shared @@ -304,7 +304,6 @@ DRV_KMODS += fp DRV_KMODS += qlc DRV_KMODS += sdcard DRV_KMODS += sdhost -DRV_KMODS += wbsd DRV_KMODS += dda DRV_KMODS += dmd DRV_KMODS += stmf diff --git a/usr/src/uts/sparc/warlock/Makefile b/usr/src/uts/sparc/warlock/Makefile index 9d65bf36fd..d6a93e0701 100644 --- a/usr/src/uts/sparc/warlock/Makefile +++ b/usr/src/uts/sparc/warlock/Makefile @@ -130,7 +130,6 @@ $(CLOSED_BUILD) @cd $(CLOSED)/uts/sparc/marvell88sx; \ warlock.sdcard: @cd ../sda; $(MAKE) clean; $(MAKE) warlock @cd ../sdhost; $(MAKE) clean; $(MAKE) warlock - @cd ../wbsd; $(MAKE) clean; $(MAKE) warlock warlock.wc: @cd ../wc; $(MAKE) clean; $(MAKE) warlock diff --git a/usr/src/uts/sparc/wbsd/Makefile b/usr/src/uts/sparc/wbsd/Makefile deleted file mode 100644 index b1dc940827..0000000000 --- a/usr/src/uts/sparc/wbsd/Makefile +++ /dev/null @@ -1,127 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# - -# -# Copyright 2008 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# - -# -# uts/sparc/wbsd/Makefile -# -# This makefile drives the production of the wbsd driver -# kernel module. -# -# sparc architecture dependent -# - -# -# Path to the base of the uts directory tree (usually /usr/src/uts). -# -UTSBASE = ../.. - -# -# Define the module and object file sets. -# -MODULE = wbsd -OBJECTS = $(WBSD_OBJS:%=$(OBJS_DIR)/%) -LINTS = $(WBSD_OBJS:%.o=$(LINTS_DIR)/%.ln) -ROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE) -WARLOCK_OUT = $(WBSD_OBJS:%.o=%.ll) -WARLOCK_OK = $(MODULE).ok -WLCMD_DIR = $(UTSBASE)/common/io/warlock - -# -# Include common rules. -# -include $(UTSBASE)/sparc/Makefile.sparc - -# -# Define targets -# -ALL_TARGET = $(BINARY) -LINT_TARGET = $(MODULE).lint -INSTALL_TARGET = $(BINARY) $(ROOTMODULE) - -# -# Overrides. -# -DEBUG_FLGS = -DEBUG_DEFS += $(DEBUG_FLGS) - -# -# lint pass one enforcement -# -CFLAGS += $(CCVERBOSE) - -# -# dependency on scsi module -# -LDFLAGS += -dy -Nmisc/sda - -# -# Default build targets. -# -.KEEP_STATE: - -def: $(DEF_DEPS) - -all: $(ALL_DEPS) - -clean: $(CLEAN_DEPS) - -clobber: $(CLOBBER_DEPS) - -lint: $(LINT_DEPS) - -modlintlib: $(MODLINTLIB_DEPS) - -clean.lint: $(CLEAN_LINT_DEPS) - -install: $(INSTALL_DEPS) - -# -# Include common targets. -# -include $(UTSBASE)/sparc/Makefile.targ - -WARLOCK = warlock -WLCC = wlcc -TOUCH = touch -SDA_LLS = $(SDA_OBJS:%.o= -l ../sda/%.ll) -BLK2SCSA_LLS = $(BLK2SCSA_OBJS:%.o= -l ../blk2scsa/%.ll) - -warlock: $(WARLOCK_OK) - -blk2scsa.wl: - @cd ../blk2scsa; pwd; $(MAKE) warlock - -sda.wl: - @cd ../sda; pwd; $(MAKE) warlock - -$(WARLOCK_OK): $(WARLOCK_OUT) $(WLCMD_DIR)/wbsd.wlcmd blk2scsa.wl sda.wl - $(WARLOCK) -c $(WLCMD_DIR)/wbsd.wlcmd $(WARLOCK_OUT) \ - $(SDA_LLS) $(BLK2SCSA_LLS) \ - -l ../warlock/ddi_dki_impl.ll - $(TOUCH) $@ - -%.ll: $(UTSBASE)/common/io/sdcard/adapters/wbsd/%.c - $(WLCC) $(CPPFLAGS) -DDEBUG -o $@ $< diff --git a/usr/src/uts/sun4u/Makefile.sun4u.shared b/usr/src/uts/sun4u/Makefile.sun4u.shared index ac71514173..4f6e6d935d 100644 --- a/usr/src/uts/sun4u/Makefile.sun4u.shared +++ b/usr/src/uts/sun4u/Makefile.sun4u.shared @@ -184,7 +184,6 @@ IMPLEMENTATIONS += lw8 IMPLEMENTATIONS += makaha IMPLEMENTATIONS += opl IMPLEMENTATIONS += lw2plus -IMPLEMENTATIONS += douglas $(CLOSED_BUILD)CLOSED_IMPLEMENTATIONS = chalupa $(CLOSED_BUILD)CLOSED_IMPLEMENTATIONS += ents diff --git a/usr/src/uts/sun4u/douglas/Makefile b/usr/src/uts/sun4u/douglas/Makefile deleted file mode 100644 index 93daba51f0..0000000000 --- a/usr/src/uts/sun4u/douglas/Makefile +++ /dev/null @@ -1,100 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# -# uts/sun4u/douglas/Makefile -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# -#pragma ident "%Z%%M% %I% %E% SMI" -# -# This makefile drives the production of the sun4u douglas platform -# module. -# -# sun4u implementation architecture dependent -# - -# -# Path to the base of the uts directory tree (usually /usr/src/uts). -# -UTSBASE = ../.. - -# -# Include common rules. -# -include $(UTSBASE)/sun4u/douglas/Makefile.douglas - -def := TARGET= def -all := TARGET= all -install := TARGET= install -install_h := TARGET= install_h -clean := TARGET= clean -clobber := TARGET= clobber -lint := TARGET= lint -lintlib := TARGET= lintlib -modlintlib := TARGET= modlintlib -modlist := TARGET= modlist -modlist := NO_STATE= -K $$MODSTATE$$$$ -clean.lint := TARGET= clean.lint -check := TARGET= check - -# -# Default build targets. -# -.KEEP_STATE: - -def all clean clean.lint clobber modlist: $(DOUGLAS_KMODS) - -modlintlib: $(DOUGLAS_KMODS) - -install: $(ROOT_DOUGLAS_DIR) \ - $(USR_DOUGLAS_DIR) \ - $(USR_DOUGLAS_INC_DIR) \ - $(USR_DOUGLAS_SBIN_DIR) \ - $(USR_DOUGLAS_LIB_DIR) \ - $(DOUGLAS_KMODS) - -check install_h: - -lint: modlintlib - -# -# The 'lint.platmod' target lints the douglas platform module against the sun4u -# kernel. This ends up doing all the kernel cross-checks, so it takes a couple -# of minutes. Due to the low ROI, it's not run by default, but it's a good -# idea to run this if you change os/douglas.c. -# -LINT_LIBS = $(LINT_LIB) \ - -L$(DOUGLAS_LINT_LIB_DIR) \ - -L$(LINT_LIB_DIR) $(LINT_KMODS:%=-l%) \ - $(CLOSED_LINT_KMODS:%=-l%) \ - -L$(SPARC_LIB_DIR) $(SPARC_LINTS:%=-l%) - -lint.platmod: modlintlib - @-$(ECHO) "\nDouglas Platform-dependent module: global crosschecks:" - @-$(LINT) $(LINTFLAGS) $(LINT_LIBS) 2>&1 | $(LGREP.2) - -$(DOUGLAS_KMODS): FRC - @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET) - -# -# Include common targets. -# -include $(UTSBASE)/sun4u/douglas/Makefile.targ diff --git a/usr/src/uts/sun4u/douglas/Makefile.douglas b/usr/src/uts/sun4u/douglas/Makefile.douglas deleted file mode 100644 index 79ad2e6463..0000000000 --- a/usr/src/uts/sun4u/douglas/Makefile.douglas +++ /dev/null @@ -1,28 +0,0 @@ -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# -# ident "%Z%%M% %I% %E% SMI" -# - -UTSTREE=$(UTSBASE) - -include $(UTSBASE)/sun4u/douglas/Makefile.douglas.shared diff --git a/usr/src/uts/sun4u/douglas/Makefile.douglas.shared b/usr/src/uts/sun4u/douglas/Makefile.douglas.shared deleted file mode 100644 index 9b6b00b3af..0000000000 --- a/usr/src/uts/sun4u/douglas/Makefile.douglas.shared +++ /dev/null @@ -1,74 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# -# uts/sun4u/douglas/Makefile.douglas -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# -#ident "%Z%%M% %I% %E% SMI" -# -# Global definitions for sun4u implementation specific modules. -# - -# -# Define directories. -# -ROOT_DOUGLAS_DIR = $(ROOT_PLAT_DIR)/TAD,SPARCLE -ROOT_DOUGLAS_MOD_DIR = $(ROOT_DOUGLAS_DIR)/kernel - -ROOT_DOUGLAS_MISC_DIR_32 = $(ROOT_DOUGLAS_MOD_DIR)/misc -ROOT_DOUGLAS_MISC_DIR_64 = $(ROOT_DOUGLAS_MISC_DIR_32)/$(SUBDIR64) -ROOT_DOUGLAS_DRV_DIR_32 = $(ROOT_DOUGLAS_MOD_DIR)/drv -ROOT_DOUGLAS_DRV_DIR_64 = $(ROOT_DOUGLAS_DRV_DIR_32)/$(SUBDIR64) - -ROOT_DOUGLAS_MISC_DIR = $(ROOT_DOUGLAS_MISC_DIR_$(CLASS)) -ROOT_DOUGLAS_DRV_DIR = $(ROOT_DOUGLAS_DRV_DIR_$(CLASS)) - -ROOT_PLAT_MOD_DIRS += $(ROOT_DOUGLAS_MOD_DIR) -ROOT_PLAT_MISC_DIRS += $(ROOT_DOUGLAS_MISC_DIR) - -USR_DOUGLAS_DIR = $(USR_PLAT_DIR)/TAD,SPARCLE -USR_DOUGLAS_LINKED_DIR = $(USR_PLAT_DIR)/$(LINKED_PLATFORM) -USR_DOUGLAS_INC_DIR = $(USR_DOUGLAS_DIR)/include -USR_DOUGLAS_ISYS_DIR = $(USR_DOUGLAS_INC_DIR)/sys -USR_DOUGLAS_SBIN_DIR = $(USR_DOUGLAS_DIR)/sbin -USR_DOUGLAS_LIB_DIR = $(USR_DOUGLAS_DIR)/lib - - -DOUGLAS_LINT_LIB_DIR= $(UTSBASE)/$(PLATFORM)/douglas/lint-libs/$(OBJS_DIR) - -# -# Define objects. -# -DOUGLAS_OBJS = douglas.o - -include $(UTSTREE)/sun4u/douglas/Makefile.files - -# -# Include common rules. -# -include $(UTSTREE)/sun4u/Makefile.sun4u - -# -# Define modules (must come after Makefile.sun4u, for CLOSED_BUILD). -# -DOUGLAS_KMODS = platmod - diff --git a/usr/src/uts/sun4u/douglas/Makefile.files b/usr/src/uts/sun4u/douglas/Makefile.files deleted file mode 100644 index f896758909..0000000000 --- a/usr/src/uts/sun4u/douglas/Makefile.files +++ /dev/null @@ -1,42 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# -# uts/sun4u/douglas/Makefile.files -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# -#ident "%Z%%M% %I% %E% SMI" -# -# This Makefile defines all file modules for the directory -# uts/sun4u/douglas and it's children. These are the source files -# which are sun4u "implementation architecture" dependent. -# - -# -# object lists -# -# Douglas specific driver modules -# - -# -# Miscellaneous -# -INC_PATH += -I$(UTSBASE)/sun4u/douglas diff --git a/usr/src/uts/sun4u/douglas/Makefile.rules b/usr/src/uts/sun4u/douglas/Makefile.rules deleted file mode 100644 index 6b398ef315..0000000000 --- a/usr/src/uts/sun4u/douglas/Makefile.rules +++ /dev/null @@ -1,63 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# -#pragma ident "%Z%%M% %I% %E% SMI" -# -# This Makefile defines the build rules for the directory -# uts/sun4u/douglas. -# -# The following two-level ordering must be maintained in this file. -# Lines are sorted first in order of decreasing specificity based on -# the first directory component. That is, sun4u rules come before -# sparc rules come before common rules. -# -# Lines whose initial directory components are equal are sorted -# alphabetically by the remaining components. - -# -# Section 1a: C object build rules -# -$(OBJS_DIR)/%.o: $(UTSBASE)/sun4u/io/%.c - $(COMPILE.c) -o $@ $< - $(CTFCONVERT_O) - -$(OBJS_DIR)/%.o: $(UTSBASE)/sun4u/douglas/io/%.c - $(COMPILE.c) -o $@ $< - $(CTFCONVERT_O) - -$(OBJS_DIR)/%.o: $(UTSBASE)/sun4u/douglas/os/%.c - $(COMPILE.c) -o $@ $< - $(CTFCONVERT_O) - -# -# Section 1b: Lint `object' build rules -# -$(LINTS_DIR)/%.ln: $(UTSBASE)/sun4u/io/%.c - @($(LHEAD) $(LINT.c) $< $(LTAIL)) - -$(LINTS_DIR)/%.ln: $(UTSBASE)/sun4u/douglas/io/%.c - @($(LHEAD) $(LINT.c) $< $(LTAIL)) - -$(LINTS_DIR)/%.ln: $(UTSBASE)/sun4u/douglas/os/%.c - @($(LHEAD) $(LINT.c) $< $(LTAIL)) diff --git a/usr/src/uts/sun4u/douglas/Makefile.targ b/usr/src/uts/sun4u/douglas/Makefile.targ deleted file mode 100644 index 15069c78f5..0000000000 --- a/usr/src/uts/sun4u/douglas/Makefile.targ +++ /dev/null @@ -1,28 +0,0 @@ -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# -# ident "%Z%%M% %I% %E% SMI" -# - -UTSTREE=$(UTSBASE) - -include $(UTSBASE)/sun4u/douglas/Makefile.targ.shared diff --git a/usr/src/uts/sun4u/douglas/Makefile.targ.shared b/usr/src/uts/sun4u/douglas/Makefile.targ.shared deleted file mode 100644 index cdb7a4f9f7..0000000000 --- a/usr/src/uts/sun4u/douglas/Makefile.targ.shared +++ /dev/null @@ -1,80 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# -# -# Copyright 2009 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# - -# -# Common targets for sun4u Douglas implementation specific modules. -# - -.KEEP_STATE: - -IMPLEMENTED_PLATFORM = TAD,SPARCLE - -# -# Rules for implementation subdirectories. -# -$(ROOT_DOUGLAS_DIR): $(ROOT_PLAT_DIR) - -$(INS.dir) - -$(ROOT_DOUGLAS_MOD_DIR): $(ROOT_DOUGLAS_DIR) - -$(INS.dir) - -$(ROOT_DOUGLAS_MISC_DIR_32): $(ROOT_DOUGLAS_MOD_DIR) - -$(INS.dir) - -$(ROOT_DOUGLAS_MISC_DIR_64): $(ROOT_DOUGLAS_MISC_DIR_32) - -$(INS.dir) - -$(ROOT_DOUGLAS_DRV_DIR_32): $(ROOT_DOUGLAS_MOD_DIR) - -$(INS.dir) - -$(ROOT_DOUGLAS_DRV_DIR_64): $(ROOT_DOUGLAS_DRV_DIR_32) - -$(INS.dir) - -$(USR_DOUGLAS_DIR): $(USR_PLAT_DIR) - -$(INS.dir) - -$(USR_DOUGLAS_INC_DIR): $(USR_DOUGLAS_DIR) - -$(INS.slink4) - -$(USR_DOUGLAS_SBIN_DIR): $(USR_DOUGLAS_DIR) - -$(INS.slink5) - -$(USR_DOUGLAS_LIB_DIR): $(USR_DOUGLAS_DIR) - -$(INS.dir) - -$(ROOT_DOUGLAS_MOD_DIR)/%: $(OBJS_DIR)/% $(ROOT_DOUGLAS_MOD_DIR) FRC - $(INS.file) - -$(ROOT_DOUGLAS_MISC_DIR)/%: $(OBJS_DIR)/% $(ROOT_DOUGLAS_MISC_DIR) FRC - $(INS.file) - -$(ROOT_DOUGLAS_DRV_DIR)/%: $(OBJS_DIR)/% $(ROOT_DOUGLAS_DRV_DIR) FRC - $(INS.file) - -# -# Include common targets. -# -include $(UTSTREE)/sun4u/douglas/Makefile.rules -include $(UTSTREE)/sun4u/Makefile.targ diff --git a/usr/src/uts/sun4u/douglas/os/douglas.c b/usr/src/uts/sun4u/douglas/os/douglas.c deleted file mode 100644 index 3b74df3e77..0000000000 --- a/usr/src/uts/sun4u/douglas/os/douglas.c +++ /dev/null @@ -1,178 +0,0 @@ -/* - * CDDL HEADER START - * - * The contents of this file are subject to the terms of the - * Common Development and Distribution License (the "License"). - * You may not use this file except in compliance with the License. - * - * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE - * or http://www.opensolaris.org/os/licensing. - * See the License for the specific language governing permissions - * and limitations under the License. - * - * When distributing Covered Code, include this CDDL HEADER in each - * file and include the License file at usr/src/OPENSOLARIS.LICENSE. - * If applicable, add the following below this CDDL HEADER, with the - * fields enclosed by brackets "[]" replaced with your own identifying - * information: Portions Copyright [yyyy] [name of copyright owner] - * - * CDDL HEADER END - */ -/* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms. - */ - -#pragma ident "%Z%%M% %I% %E% SMI" - -#include <sys/param.h> -#include <sys/systm.h> -#include <sys/sunddi.h> -#include <sys/esunddi.h> -#include <sys/ddi.h> - -#include <sys/platform_module.h> -#include <sys/errno.h> - -void -startup_platform(void) -{ -} - -int -set_platform_tsb_spares() -{ - return (0); -} - -void -set_platform_defaults(void) -{ -} - - -/* - * Definitions for accessing the pci config space of the isa node - * of Southbridge. - */ -#define DOUGLAS_ISA_PATHNAME "/pci@1f,0/isa@7" -ddi_acc_handle_t douglas_isa_handle; /* handle for isa pci space */ - -void -load_platform_drivers(void) -{ - dev_info_t *dip; /* dip of the isa driver */ - - /* - * It is OK to return error because 'us' driver is not available - * in all clusters (e.g. missing in Core cluster). - */ - (void) i_ddi_attach_hw_nodes("us"); - - /* - * Note that should warn if this can't happen, but wait until - * tadpmu is integrated before doing that. - */ - (void) i_ddi_attach_hw_nodes("tadpmu"); - - /* - * Install Isa driver. This is required for the southbridge IDE - * workaround - to reset the IDE channel during IDE bus reset. - * Panic the system in case ISA driver could not be loaded or - * any problem in accessing its pci config space. Since the register - * to reset the channel for IDE is in ISA config space!. - */ - - dip = e_ddi_hold_devi_by_path(DOUGLAS_ISA_PATHNAME, 0); - if (dip == NULL) { - cmn_err(CE_PANIC, "Could not install the isa driver\n"); - return; - } - - if (pci_config_setup(dip, &douglas_isa_handle) != DDI_SUCCESS) { - cmn_err(CE_PANIC, "Could not get the config space of isa\n"); - return; - } -} - -/* - * This routine provides a workaround for a bug in the SB chip which - * can cause data corruption. Will be invoked from the IDE HBA driver for - * Acer SouthBridge at the time of IDE bus reset. - */ -/*ARGSUSED*/ -int -plat_ide_chipreset(dev_info_t *dip, int chno) -{ - uint8_t val; - int ret = DDI_SUCCESS; - - val = pci_config_get8(douglas_isa_handle, 0x58); - /* - * The dip passed as the argument is not used for douglas. - * This will be needed for platforms which have multiple on-board SB, - * The dip passed will be used to match the corresponding ISA node. - */ - switch (chno) { - case 0: - /* - * First disable the primary channel then re-enable it. - * As per ALI no wait should be required in between have - * given 1ms delay in between to be on safer side. - * bit 2 of register 0x58 when 0 disable the channel 0. - * bit 2 of register 0x58 when 1 enables the channel 0. - */ - pci_config_put8(douglas_isa_handle, 0x58, val & 0xFB); - drv_usecwait(1000); - pci_config_put8(douglas_isa_handle, 0x58, val); - break; - case 1: - /* - * bit 3 of register 0x58 when 0 disable the channel 1. - * bit 3 of register 0x58 when 1 enables the channel 1. - */ - pci_config_put8(douglas_isa_handle, 0x58, val & 0xF7); - drv_usecwait(1000); - pci_config_put8(douglas_isa_handle, 0x58, val); - break; - default: - /* - * Unknown channel number passed. Return failure. - */ - ret = DDI_FAILURE; - } - - return (ret); -} - - - -/*ARGSUSED*/ -int -plat_cpu_poweron(struct cpu *cp) -{ - return (ENOTSUP); /* not supported on this platform */ -} - -/*ARGSUSED*/ -int -plat_cpu_poweroff(struct cpu *cp) -{ - return (ENOTSUP); /* not supported on this platform */ -} - -/*ARGSUSED*/ -void -plat_freelist_process(int mnode) -{ -} - -char *platform_module_list[] = { - (char *)0 -}; - -/*ARGSUSED*/ -void -plat_tod_fault(enum tod_fault_type tod_bad) -{ -} diff --git a/usr/src/uts/sun4u/douglas/platmod/Makefile b/usr/src/uts/sun4u/douglas/platmod/Makefile deleted file mode 100644 index ef095cfc94..0000000000 --- a/usr/src/uts/sun4u/douglas/platmod/Makefile +++ /dev/null @@ -1,109 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the -# Common Development and Distribution License (the "License"). -# You may not use this file except in compliance with the License. -# -# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -# or http://www.opensolaris.org/os/licensing. -# See the License for the specific language governing permissions -# and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each -# file and include the License file at usr/src/OPENSOLARIS.LICENSE. -# If applicable, add the following below this CDDL HEADER, with the -# fields enclosed by brackets "[]" replaced with your own identifying -# information: Portions Copyright [yyyy] [name of copyright owner] -# -# CDDL HEADER END -# - -# -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. -# Use is subject to license terms. -# -# ident "%Z%%M% %I% %E% SMI" -# - -# -# This makefile drives the production of the sun4u douglas platform module. -# -# sun4u implementation architecture dependent -# - -# -# Path to the base of the uts directory tree (usually /usr/src/uts). -# -UTSBASE = ../../.. - -# -# Define the module and object file sets. -# -MODULE = platmod -OBJECTS = $(DOUGLAS_OBJS:%=$(OBJS_DIR)/%) -LINTS = $(DOUGLAS_OBJS:%.o=$(LINTS_DIR)/%.ln) -ROOTMODULE = $(ROOT_DOUGLAS_MISC_DIR)/$(MODULE) - -PLAT_DIR = . -HERE = ../douglas/platmod - -# -# Include common rules. -# -include $(UTSBASE)/sun4u/douglas/Makefile.douglas - -# -# Override defaults -# -CLEANFILES += $(PLATLIB) $(SYM_MOD) - -# -# Define targets -# -ALL_TARGET = $(SYM_MOD) -LINT_TARGET = $(MODULE).lint -INSTALL_TARGET = $(BINARY) $(ROOTMODULE) - -# -# lint pass one enforcement -# -CFLAGS += $(CCVERBOSE) - -# -# Default build targets. -# -.KEEP_STATE: - -def: $(DEF_DEPS) - -all: $(ALL_DEPS) - -clean: $(CLEAN_DEPS) - -clobber: $(CLOBBER_DEPS) - -lint: $(LINT_DEPS) - -modlintlib: $(MODLINTLIB_DEPS) - -clean.lint: $(CLEAN_LINT_DEPS) - -install: $(INSTALL_DEPS) - -check: - -LINT_LIB_DIR = $(DOUGLAS_LINT_LIB_DIR) - -$(PLATLIB): $(BINARY) - $(BUILD.SO) $(BINARY) - -$(SYM_MOD): $(UNIX_O) $(PLATLIB) - @echo "resolving symbols against unix.o" - @(cd $(UNIX_DIR); pwd; \ - PLAT_DIR=$(HERE) SYM_MOD=$(HERE)/$(SYM_MOD) $(MAKE) symcheck) - -# -# Include common targets. -# -include $(UTSBASE)/sun4u/douglas/Makefile.targ |