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) 36 WORKAROUND_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 42 WORKAROUND_DEFS += -DSF_ERRATA_30 # call causes fp-disabled 43 44 # The following are required to support all(?) Blackbirds 45 WORKAROUND_DEFS += -DBB_ERRATA_1 # writes to TICK_COMPARE fail 46 47 # The following is required to support all Spitfires and Blackbirds 48 WORKAROUND_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 52 WORKAROUND_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 57 WORKAROUND_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 61 WORKAROUND_DEFS += -DSF_ERRATA_57 # VA Hole 62 63 # The following is required to support all Spitfires and Blackbirds 64 WORKAROUND_DEFS += -DSF_V9_TABLE_28 # discrepancy in the Sparc V9 docs 65 # on handling of fp underflow/overflow 66 67 # Minimum supported Cheetah revision 68 WORKAROUND_DEFS += -DCHEETAH_MINREV_SUPPORTED=0x30 69 70 # Cheetah+ erratum 25 71 # Will be fixed in Cheetah++ 1.1 72 WORKAROUND_DEFS += -DCHEETAHPLUS_ERRATUM_25 73 74 # Interrupts not taken during fpops 75 # Will not be fixed in Cheetah. 76 WORKAROUND_DEFS += -DCHEETAH_ERRATUM_109 77 78 # PRIV bit setting not held on TO or BERR 79 # Will not be fixed in Cheetah. 80 WORKAROUND_DEFS += -DCHEETAH_ERRATUM_127 81 82 # Jalapeno Errata 85 83 # apply force-full-speed workaround to uni Jalapeno 84 # Fixed in Jalapeno 2.4 85 WORKAROUND_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. 90 WORKAROUND_DEFS += -DCHEETAHPLUS_ERRATUM_34 91 92