xref: /titanic_50/usr/src/uts/sun4u/Makefile.workarounds (revision 4445fffbbb1ea25fd0e9ea68b9380dd7a6709025)
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)
36WORKAROUND_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
42WORKAROUND_DEFS += -DSF_ERRATA_30	# call causes fp-disabled
43
44# The following are required to support all(?) Blackbirds
45WORKAROUND_DEFS += -DBB_ERRATA_1	# writes to TICK_COMPARE fail
46
47# The following is required to support all Spitfires and Blackbirds
48WORKAROUND_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
52WORKAROUND_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
57WORKAROUND_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
61WORKAROUND_DEFS += -DSF_ERRATA_57	# VA Hole
62
63# The following is required to support all Spitfires and Blackbirds
64WORKAROUND_DEFS += -DSF_V9_TABLE_28	# discrepancy in the Sparc V9 docs
65					# on handling of fp underflow/overflow
66
67# Minimum supported Cheetah revision
68WORKAROUND_DEFS += -DCHEETAH_MINREV_SUPPORTED=0x30
69
70# Cheetah+ erratum 25
71#   Will be fixed in Cheetah++ 1.1
72WORKAROUND_DEFS += -DCHEETAHPLUS_ERRATUM_25
73
74# Interrupts not taken during fpops
75#   Will not be fixed in Cheetah.
76WORKAROUND_DEFS += -DCHEETAH_ERRATUM_109
77
78# PRIV bit setting not held on TO or BERR
79#   Will not be fixed in Cheetah.
80WORKAROUND_DEFS += -DCHEETAH_ERRATUM_127
81
82# Jalapeno Errata 85
83# apply force-full-speed workaround to uni Jalapeno
84#   Fixed in Jalapeno 2.4
85WORKAROUND_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.
90WORKAROUND_DEFS += -DCHEETAHPLUS_ERRATUM_34
91
92