# # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # uts/sun4u/Makefile.workarounds # # Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # #pragma ident "%Z%%M% %I% %E% SMI" # # # This makefile contains workaround defines to be shared # by Makefile.sun4u and the sun4u genunix Makefile. # # Define the minimum cpu rev this kernel will support # (min is 0x11 with all workarounds enabled) WORKAROUND_DEFS = -DSPITFIRE_MINREV_SUPPORTED=0x21 # The following are required to support Spitfire <= 2.0 # WORKAROUND_DEFS += -DSF_ERRATA_23 # call causes illegal-insn # The following are required to support Spitfire <= 2.1 WORKAROUND_DEFS += -DSF_ERRATA_30 # call causes fp-disabled # The following are required to support all(?) Blackbirds WORKAROUND_DEFS += -DBB_ERRATA_1 # writes to TICK_COMPARE fail # The following is required to support all Spitfires and Blackbirds WORKAROUND_DEFS += -DSF_ERRATA_32 # need dummy store before ldxa's # from ASI_?TLB_* # The following is required to support all Spitfires and Blackbirds WORKAROUND_DEFS += -DSF_ERRATA_51 # the IMU gets # confused by a membar #Sync # in a delay slot # The following is required to support all Spitfires and Blackbirds WORKAROUND_DEFS += -DSF_ERRATA_54 # membar sync not good enough # before ldxa from ASI_INTR_DISPATCH # 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