Makefile.workarounds revision 7c478bd95313f5f23a4c958a745db2134aa03244
500N/A#
500N/A# CDDL HEADER START
500N/A#
500N/A# The contents of this file are subject to the terms of the
500N/A# Common Development and Distribution License, Version 1.0 only
500N/A# (the "License"). You may not use this file except in compliance
500N/A# with the License.
500N/A#
500N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
500N/A# or http://www.opensolaris.org/os/licensing.
500N/A# See the License for the specific language governing permissions
500N/A# and limitations under the License.
500N/A#
500N/A# When distributing Covered Code, include this CDDL HEADER in each
500N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
500N/A# If applicable, add the following below this CDDL HEADER, with the
500N/A# fields enclosed by brackets "[]" replaced with your own identifying
500N/A# information: Portions Copyright [yyyy] [name of copyright owner]
500N/A#
500N/A# CDDL HEADER END
500N/A#
500N/A#
500N/A# uts/sun4u/Makefile.workarounds
500N/A#
500N/A# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
500N/A# Use is subject to license terms.
500N/A#
500N/A#ident "%Z%%M% %I% %E% SMI"
500N/A#
500N/A#
500N/A# This makefile contains workaround defines to be shared
500N/A# by Makefile.sun4u and the sun4u genunix Makefile.
500N/A#
500N/A
500N/A# Define the minimum cpu rev this kernel will support
500N/A# (min is 0x11 with all workarounds enabled)
500N/AWORKAROUND_DEFS = -DSPITFIRE_MINREV_SUPPORTED=0x21
500N/A
500N/A# The following are required to support Spitfire <= 2.0
500N/A# WORKAROUND_DEFS += -DSF_ERRATA_23 # call causes illegal-insn
500N/A
500N/A# The following are required to support Spitfire <= 2.1
500N/AWORKAROUND_DEFS += -DSF_ERRATA_30 # call causes fp-disabled
500N/A
500N/A# The following are required to support all(?) Blackbirds
500N/AWORKAROUND_DEFS += -DBB_ERRATA_1 # writes to TICK_COMPARE fail
500N/A
500N/A# The following is required to support all Spitfires and Blackbirds
500N/AWORKAROUND_DEFS += -DSF_ERRATA_32 # need dummy store before ldxa's
500N/A # from ASI_?TLB_*
500N/A
500N/A# The following is required to support all Spitfires and Blackbirds
500N/AWORKAROUND_DEFS += -DSF_ERRATA_51 # the IMU gets
500N/A # confused by a membar #Sync
500N/A # in a delay slot
500N/A
500N/A# The following is required to support all Spitfires and Blackbirds
500N/AWORKAROUND_DEFS += -DSF_ERRATA_54 # membar sync not good enough
500N/A # before ldxa from ASI_INTR_DISPATCH
500N/A
# The following is required to support Spitfires and Blackbirds
WORKAROUND_DEFS += -DSF_ERRATA_57 # VA Hole
# The following is required to support all Spitfires and Blackbirds
WORKAROUND_DEFS += -DSF_V9_TABLE_28 # discrepancy in the Sparc V9 docs
# on handling of fp underflow/overflow
# Minimum supported Cheetah revision
WORKAROUND_DEFS += -DCHEETAH_MINREV_SUPPORTED=0x30
# Cheetah+ erratum 25
# Will be fixed in Cheetah++ 1.1
WORKAROUND_DEFS += -DCHEETAHPLUS_ERRATUM_25
# Interrupts not taken during fpops
# Will not be fixed in Cheetah.
WORKAROUND_DEFS += -DCHEETAH_ERRATUM_109
# PRIV bit setting not held on TO or BERR
# Will not be fixed in Cheetah.
WORKAROUND_DEFS += -DCHEETAH_ERRATUM_127
# Jalapeno Errata 85
# apply force-full-speed workaround to uni Jalapeno
# Fixed in Jalapeno 2.4
WORKAROUND_DEFS += -DJALAPENO_ERRATA_85
# The following is required to support all Cheetahs and derivatives
# Relocate ITLB t16 index 0 locked TTEs to avoid eviction.
# Will not be fixed.
WORKAROUND_DEFS += -DCHEETAHPLUS_ERRATUM_34