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.
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.
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]
22 # uts/sun4u/Makefile.workarounds
24 # Copyright 2006 Sun Microsystems, Inc. All rights reserved.
25 # Use is subject to license terms.
27 #pragma ident "%Z%%M% %I% %E% SMI"
30 # This makefile contains workaround defines to be shared
31 # by Makefile.sun4u and the sun4u genunix Makefile.
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
38 # The following are required to support Spitfire <= 2.0
39 # WORKAROUND_DEFS += -DSF_ERRATA_23 # call causes illegal-insn
41 # The following are required to support Spitfire <= 2.1
42 WORKAROUND_DEFS += -DSF_ERRATA_30 # call causes fp-disabled
44 # The following are required to support all(?) Blackbirds
45 WORKAROUND_DEFS += -DBB_ERRATA_1 # writes to TICK_COMPARE fail
47 # The following is required to support all Spitfires and Blackbirds
48 WORKAROUND_DEFS += -DSF_ERRATA_32 # need dummy store before ldxa's
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
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
60 # The following is required to support Spitfires and Blackbirds
61 WORKAROUND_DEFS += -DSF_ERRATA_57 # VA Hole
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
67 # Minimum supported Cheetah revision
68 WORKAROUND_DEFS += -DCHEETAH_MINREV_SUPPORTED=0x30
71 # Will be fixed in Cheetah++ 1.1
72 WORKAROUND_DEFS += -DCHEETAHPLUS_ERRATUM_25
74 # Interrupts not taken during fpops
75 # Will not be fixed in Cheetah.
76 WORKAROUND_DEFS += -DCHEETAH_ERRATUM_109
78 # PRIV bit setting not held on TO or BERR
79 # Will not be fixed in Cheetah.
80 WORKAROUND_DEFS += -DCHEETAH_ERRATUM_127
83 # apply force-full-speed workaround to uni Jalapeno
84 # Fixed in Jalapeno 2.4
85 WORKAROUND_DEFS += -DJALAPENO_ERRATA_85
87 # The following is required to support all Cheetahs and derivatives
88 # Relocate ITLB t16 index 0 locked TTEs to avoid eviction.
90 WORKAROUND_DEFS += -DCHEETAHPLUS_ERRATUM_34