Makefile.workarounds revision 25cf1a301a396c38e8adf52c15f537b80d2483f7
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# CDDL HEADER START
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder#
25cc5fbba63f84b47e389af749f55abbbde71c8cChristian Maeder# The contents of this file are subject to the terms of the
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Common Development and Distribution License (the "License").
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# You may not use this file except in compliance with the License.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# or http://www.opensolaris.org/os/licensing.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# See the License for the specific language governing permissions
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# and limitations under the License.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder#
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# When distributing Covered Code, include this CDDL HEADER in each
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
0898ff703a21cf78e18cc03e8fe5a3c6d1fc25c3Christian Maeder# If applicable, add the following below this CDDL HEADER, with the
8e494181dee5cfc59ae494e4082c71edfde24f58Christian Maeder# fields enclosed by brackets "[]" replaced with your own identifying
b7839add0728fef3cbb28244373661db382f6588Christian Maeder# information: Portions Copyright [yyyy] [name of copyright owner]
ce8b15da31cd181b7e90593cbbca98f47eda29d6Till Mossakowski#
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder# CDDL HEADER END
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian Maeder#
760ae19a92dde8249679a674f93f58d26a7c5f6bChristian Maeder#
88c800932dd7053322501ea2039d9f234be6866cKlaus Luettich# uts/sun4u/Makefile.workarounds
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder#
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder# Use is subject to license terms.
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder#
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder#pragma ident "%Z%%M% %I% %E% SMI"
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder#
8410667510a76409aca9bb24ff0eda0420088274Christian Maeder#
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich# This makefile contains workaround defines to be shared
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich# by Makefile.sun4u and the sun4u genunix Makefile.
824125ad97b34671bd7ea72655967f46caeb0004Christian Maeder#
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Define the minimum cpu rev this kernel will support
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# (min is 0x11 with all workarounds enabled)
d67a33b40578beef2e255a274f89bb9c34aaf056Christian MaederWORKAROUND_DEFS = -DSPITFIRE_MINREV_SUPPORTED=0x21
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder
e593b89bfd4952698dc37feced21cefe869d87a2Christian Maeder# The following are required to support Spitfire <= 2.0
ac0bbbcb2774629bb87986e69cf53d3402c5f575Christian Maeder# WORKAROUND_DEFS += -DSF_ERRATA_23 # call causes illegal-insn
6e049108aa87dc46bcff96fae50a4625df1d9648Klaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# The following are required to support Spitfire <= 2.1
5d44c8cecd07b47ce537c7e14bf7b41a39f08507Christian MaederWORKAROUND_DEFS += -DSF_ERRATA_30 # call causes fp-disabled
5d44c8cecd07b47ce537c7e14bf7b41a39f08507Christian Maeder
c6fcd42c6d6d9dae8c7835c24fcb7ce8531a9050Christian Maeder# The following are required to support all(?) Blackbirds
c6fcd42c6d6d9dae8c7835c24fcb7ce8531a9050Christian MaederWORKAROUND_DEFS += -DBB_ERRATA_1 # writes to TICK_COMPARE fail
31c49f2fa23d4ac089f35145d80a224deb6ea7e4Till Mossakowski
c55a0f77be7e88d3620b419ec8961f4379a586e3Klaus Luettich# The following is required to support all Spitfires and Blackbirds
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederWORKAROUND_DEFS += -DSF_ERRATA_32 # need dummy store before ldxa's
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder # from ASI_?TLB_*
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
d3ae0072823e2ef0d41d4431fcc768e66489c20eChristian Maeder# The following is required to support all Spitfires and Blackbirds
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederWORKAROUND_DEFS += -DSF_ERRATA_51 # the IMU gets
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich # confused by a membar #Sync
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder # in a delay slot
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder# The following is required to support all Spitfires and Blackbirds
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederWORKAROUND_DEFS += -DSF_ERRATA_54 # membar sync not good enough
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder # before ldxa from ASI_INTR_DISPATCH
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder# The following is required to support Spitfires and Blackbirds
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederWORKAROUND_DEFS += -DSF_ERRATA_57 # VA Hole
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder# The following is required to support all Spitfires and Blackbirds
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederWORKAROUND_DEFS += -DSF_V9_TABLE_28 # discrepancy in the Sparc V9 docs
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder # on handling of fp underflow/overflow
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder# Minimum supported Cheetah revision
61fa0ac06ede811c7aad54ec4c4202346727368eChristian MaederWORKAROUND_DEFS += -DCHEETAH_MINREV_SUPPORTED=0x30
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder# Cheetah+ erratum 25
5d44c8cecd07b47ce537c7e14bf7b41a39f08507Christian Maeder# Will be fixed in Cheetah++ 1.1
c0c2380bced8159ff0297ece14eba948bd236471Christian MaederWORKAROUND_DEFS += -DCHEETAHPLUS_ERRATUM_25
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder# Interrupts not taken during fpops
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder# Will not be fixed in Cheetah.
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederWORKAROUND_DEFS += -DCHEETAH_ERRATUM_109
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder# PRIV bit setting not held on TO or BERR
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder# Will not be fixed in Cheetah.
9e748851c150e1022fb952bab3315e869aaf0214Christian MaederWORKAROUND_DEFS += -DCHEETAH_ERRATUM_127
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
b70b9c569e477c6a877c93d3ecc17c38c9e047dcChristian Maeder# Jalapeno Errata 85
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder# apply force-full-speed workaround to uni Jalapeno
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder# Fixed in Jalapeno 2.4
c0c2380bced8159ff0297ece14eba948bd236471Christian MaederWORKAROUND_DEFS += -DJALAPENO_ERRATA_85
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# The following is required to support all Cheetahs and derivatives
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# Relocate ITLB t16 index 0 locked TTEs to avoid eviction.
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich# Will not be fixed.
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus LuettichWORKAROUND_DEFS += -DCHEETAHPLUS_ERRATUM_34
f4505a64a089693012a3f5c3b1f12a82cd7a2a5aKlaus Luettich
5d4038657f6a63e131f5804af2f7957b69e15a43Klaus Luettich# OLYMPUS C cross-call errata. The first revision of the CPU can
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder# deliver only one cross call at time.
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder# Will be fixed in the succeeded revision of the cpu.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederWORKAROUND_DEFS += -DOLYMPUS_ERRATA_XCALL
77a65251ee036c6aaf09c2775315a4ee24259fbdJorina Freya Gerken