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# OLYMPUS C cross-call errata. The first revision of the CPU can 93# deliver only one cross call at time. 94# Will be fixed in the succeeded revision of the cpu. 95WORKAROUND_DEFS += -DOLYMPUS_ERRATA_XCALL 96