Home | History | Annotate | Download | only in sun4u
      1 #
      2 # CDDL HEADER START
      3 #
      4 # The contents of this file are subject to the terms of the
      5 # Common Development and Distribution License (the "License").
      6 # You may not use this file except in compliance with the License.
      7 #
      8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
      9 # or http://www.opensolaris.org/os/licensing.
     10 # See the License for the specific language governing permissions
     11 # and limitations under the License.
     12 #
     13 # When distributing Covered Code, include this CDDL HEADER in each
     14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     15 # If applicable, add the following below this CDDL HEADER, with the
     16 # fields enclosed by brackets "[]" replaced with your own identifying
     17 # information: Portions Copyright [yyyy] [name of copyright owner]
     18 #
     19 # CDDL HEADER END
     20 #
     21 #
     22 # uts/sun4u/Makefile.workarounds
     23 #
     24 # Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
     25 # Use is subject to license terms.
     26 #
     27 #pragma ident	"%Z%%M%	%I%	%E% SMI"
     28 #
     29 #
     30 #	This makefile contains workaround defines to be shared
     31 #	by Makefile.sun4u and the sun4u genunix Makefile.
     32 #
     33 
     34 # Define the minimum cpu rev this kernel will support
     35 # (min is 0x11 with all workarounds enabled)
     36 WORKAROUND_DEFS = -DSPITFIRE_MINREV_SUPPORTED=0x21
     37 
     38 # The following are required to support Spitfire <= 2.0
     39 # WORKAROUND_DEFS += -DSF_ERRATA_23	# call causes illegal-insn
     40 
     41 # The following are required to support Spitfire <= 2.1
     42 WORKAROUND_DEFS += -DSF_ERRATA_30	# call causes fp-disabled
     43 
     44 # The following are required to support all(?) Blackbirds
     45 WORKAROUND_DEFS += -DBB_ERRATA_1	# writes to TICK_COMPARE fail
     46 
     47 # The following is required to support all Spitfires and Blackbirds
     48 WORKAROUND_DEFS += -DSF_ERRATA_32	# need dummy store before ldxa's
     49 					# from ASI_?TLB_*
     50 
     51 # The following is required to support all Spitfires and Blackbirds
     52 WORKAROUND_DEFS += -DSF_ERRATA_51	# the IMU gets
     53 					# confused by a membar #Sync
     54 					# in a delay slot
     55 
     56 # The following is required to support all Spitfires and Blackbirds
     57 WORKAROUND_DEFS += -DSF_ERRATA_54	# membar sync not good enough
     58 					# before ldxa from ASI_INTR_DISPATCH 
     59 
     60 # The following is required to support Spitfires and Blackbirds
     61 WORKAROUND_DEFS += -DSF_ERRATA_57	# VA Hole
     62 
     63 # The following is required to support all Spitfires and Blackbirds
     64 WORKAROUND_DEFS += -DSF_V9_TABLE_28	# discrepancy in the Sparc V9 docs
     65 					# on handling of fp underflow/overflow
     66 
     67 # Minimum supported Cheetah revision
     68 WORKAROUND_DEFS += -DCHEETAH_MINREV_SUPPORTED=0x30
     69 
     70 # Cheetah+ erratum 25
     71 #   Will be fixed in Cheetah++ 1.1
     72 WORKAROUND_DEFS += -DCHEETAHPLUS_ERRATUM_25
     73 
     74 # Interrupts not taken during fpops
     75 #   Will not be fixed in Cheetah.
     76 WORKAROUND_DEFS += -DCHEETAH_ERRATUM_109
     77 
     78 # PRIV bit setting not held on TO or BERR
     79 #   Will not be fixed in Cheetah.
     80 WORKAROUND_DEFS += -DCHEETAH_ERRATUM_127
     81 
     82 # Jalapeno Errata 85
     83 # apply force-full-speed workaround to uni Jalapeno
     84 #   Fixed in Jalapeno 2.4
     85 WORKAROUND_DEFS += -DJALAPENO_ERRATA_85
     86 
     87 # The following is required to support all Cheetahs and derivatives
     88 #   Relocate ITLB t16 index 0 locked TTEs to avoid eviction.
     89 #   Will not be fixed.
     90 WORKAROUND_DEFS += -DCHEETAHPLUS_ERRATUM_34
     91 
     92