xref: /titanic_51/usr/src/uts/sun4u/Makefile.workarounds (revision 227649d1f6dea9a591a585aa7423daf7e195f131)
17c478bd9Sstevel@tonic-gate#
27c478bd9Sstevel@tonic-gate# CDDL HEADER START
37c478bd9Sstevel@tonic-gate#
47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
5*25cf1a30Sjl139090# Common Development and Distribution License (the "License").
6*25cf1a30Sjl139090# You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate#
87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate# and limitations under the License.
127c478bd9Sstevel@tonic-gate#
137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate#
197c478bd9Sstevel@tonic-gate# CDDL HEADER END
207c478bd9Sstevel@tonic-gate#
217c478bd9Sstevel@tonic-gate#
227c478bd9Sstevel@tonic-gate# uts/sun4u/Makefile.workarounds
237c478bd9Sstevel@tonic-gate#
24*25cf1a30Sjl139090# Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
257c478bd9Sstevel@tonic-gate# Use is subject to license terms.
267c478bd9Sstevel@tonic-gate#
27*25cf1a30Sjl139090#pragma ident	"%Z%%M%	%I%	%E% SMI"
287c478bd9Sstevel@tonic-gate#
297c478bd9Sstevel@tonic-gate#
307c478bd9Sstevel@tonic-gate#	This makefile contains workaround defines to be shared
317c478bd9Sstevel@tonic-gate#	by Makefile.sun4u and the sun4u genunix Makefile.
327c478bd9Sstevel@tonic-gate#
337c478bd9Sstevel@tonic-gate
347c478bd9Sstevel@tonic-gate# Define the minimum cpu rev this kernel will support
357c478bd9Sstevel@tonic-gate# (min is 0x11 with all workarounds enabled)
367c478bd9Sstevel@tonic-gateWORKAROUND_DEFS = -DSPITFIRE_MINREV_SUPPORTED=0x21
377c478bd9Sstevel@tonic-gate
387c478bd9Sstevel@tonic-gate# The following are required to support Spitfire <= 2.0
397c478bd9Sstevel@tonic-gate# WORKAROUND_DEFS += -DSF_ERRATA_23	# call causes illegal-insn
407c478bd9Sstevel@tonic-gate
417c478bd9Sstevel@tonic-gate# The following are required to support Spitfire <= 2.1
427c478bd9Sstevel@tonic-gateWORKAROUND_DEFS += -DSF_ERRATA_30	# call causes fp-disabled
437c478bd9Sstevel@tonic-gate
447c478bd9Sstevel@tonic-gate# The following are required to support all(?) Blackbirds
457c478bd9Sstevel@tonic-gateWORKAROUND_DEFS += -DBB_ERRATA_1	# writes to TICK_COMPARE fail
467c478bd9Sstevel@tonic-gate
477c478bd9Sstevel@tonic-gate# The following is required to support all Spitfires and Blackbirds
487c478bd9Sstevel@tonic-gateWORKAROUND_DEFS += -DSF_ERRATA_32	# need dummy store before ldxa's
497c478bd9Sstevel@tonic-gate					# from ASI_?TLB_*
507c478bd9Sstevel@tonic-gate
517c478bd9Sstevel@tonic-gate# The following is required to support all Spitfires and Blackbirds
527c478bd9Sstevel@tonic-gateWORKAROUND_DEFS += -DSF_ERRATA_51	# the IMU gets
537c478bd9Sstevel@tonic-gate					# confused by a membar #Sync
547c478bd9Sstevel@tonic-gate					# in a delay slot
557c478bd9Sstevel@tonic-gate
567c478bd9Sstevel@tonic-gate# The following is required to support all Spitfires and Blackbirds
577c478bd9Sstevel@tonic-gateWORKAROUND_DEFS += -DSF_ERRATA_54	# membar sync not good enough
587c478bd9Sstevel@tonic-gate					# before ldxa from ASI_INTR_DISPATCH
597c478bd9Sstevel@tonic-gate
607c478bd9Sstevel@tonic-gate# The following is required to support Spitfires and Blackbirds
617c478bd9Sstevel@tonic-gateWORKAROUND_DEFS += -DSF_ERRATA_57	# VA Hole
627c478bd9Sstevel@tonic-gate
637c478bd9Sstevel@tonic-gate# The following is required to support all Spitfires and Blackbirds
647c478bd9Sstevel@tonic-gateWORKAROUND_DEFS += -DSF_V9_TABLE_28	# discrepancy in the Sparc V9 docs
657c478bd9Sstevel@tonic-gate					# on handling of fp underflow/overflow
667c478bd9Sstevel@tonic-gate
677c478bd9Sstevel@tonic-gate# Minimum supported Cheetah revision
687c478bd9Sstevel@tonic-gateWORKAROUND_DEFS += -DCHEETAH_MINREV_SUPPORTED=0x30
697c478bd9Sstevel@tonic-gate
707c478bd9Sstevel@tonic-gate# Cheetah+ erratum 25
717c478bd9Sstevel@tonic-gate#   Will be fixed in Cheetah++ 1.1
727c478bd9Sstevel@tonic-gateWORKAROUND_DEFS += -DCHEETAHPLUS_ERRATUM_25
737c478bd9Sstevel@tonic-gate
747c478bd9Sstevel@tonic-gate# Interrupts not taken during fpops
757c478bd9Sstevel@tonic-gate#   Will not be fixed in Cheetah.
767c478bd9Sstevel@tonic-gateWORKAROUND_DEFS += -DCHEETAH_ERRATUM_109
777c478bd9Sstevel@tonic-gate
787c478bd9Sstevel@tonic-gate# PRIV bit setting not held on TO or BERR
797c478bd9Sstevel@tonic-gate#   Will not be fixed in Cheetah.
807c478bd9Sstevel@tonic-gateWORKAROUND_DEFS += -DCHEETAH_ERRATUM_127
817c478bd9Sstevel@tonic-gate
827c478bd9Sstevel@tonic-gate# Jalapeno Errata 85
837c478bd9Sstevel@tonic-gate# apply force-full-speed workaround to uni Jalapeno
847c478bd9Sstevel@tonic-gate#   Fixed in Jalapeno 2.4
857c478bd9Sstevel@tonic-gateWORKAROUND_DEFS += -DJALAPENO_ERRATA_85
867c478bd9Sstevel@tonic-gate
877c478bd9Sstevel@tonic-gate# The following is required to support all Cheetahs and derivatives
887c478bd9Sstevel@tonic-gate#   Relocate ITLB t16 index 0 locked TTEs to avoid eviction.
897c478bd9Sstevel@tonic-gate#   Will not be fixed.
907c478bd9Sstevel@tonic-gateWORKAROUND_DEFS += -DCHEETAHPLUS_ERRATUM_34
91*25cf1a30Sjl139090
92