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# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
22# Use is subject to license terms.
23#
24# ident	"%Z%%M%	%I%	%E% SMI"
25#
26# This makefile contains workaround defines to be shared
27# by Makefile.i86pc and the genunix Makefile.
28#
29
30#
31# SWAPGS May Fail To Read Correct GS Base
32#
33WORKAROUND_DEFS += -DOPTERON_ERRATUM_88
34
35#
36# Software Prefetches May Report A Page Fault
37#
38WORKAROUND_DEFS += -DOPTERON_ERRATUM_91
39
40#
41# RSM Auto-Halt Restart Returns To Incorrect RIP
42#
43WORKAROUND_DEFS += -DOPTERON_ERRATUM_93
44
45#
46# RET Instruction May Return To Incorrect EIP
47#
48WORKAROUND_DEFS += -DOPTERON_ERRATUM_95
49
50#
51# DRAM scrubber must not be enabled on a node with discontiguous cs range
52#
53WORKAROUND_DEFS += -DOPTERON_ERRATUM_99
54
55#
56# Compatibility Mode Branches Transfer to Illegal Address
57#
58WORKAROUND_DEFS += -DOPTERON_ERRATUM_100
59
60#
61# DRAM Scrubber May Cause Data Corruption When Using Node-Interleaved Memory
62#
63WORKAROUND_DEFS += -DOPTERON_ERRATUM_101
64
65#
66# CPUID Instruction May Return Incorrect Model Number in Some Processors
67#
68WORKAROUND_DEFS += -DOPTERON_ERRATUM_108
69
70#
71# Certain Reverse REP MOVS May Produce Unpredictable Behaviour
72#
73WORKAROUND_DEFS += -DOPTERON_ERRATUM_109
74
75#
76# Sequential Execution Across Non_Canonical Boundary Caused Processor Hang
77#
78WORKAROUND_DEFS += -DOPTERON_ERRATUM_121
79
80#
81# TLB Flush Filter May Cause Cohenrency Problem in Multiprocessor Systems
82#
83WORKAROUND_DEFS += -DOPTERON_ERRATUM_122
84
85#
86# Bypassed Reads May Cause Data Corruption of System Hang in Dual Core
87# Processors
88#
89# Solaris does not currently support PowerNow which is required for this
90# Erratum. Check anyway.
91#
92WORKAROUND_DEFS += -DOPTERON_ERRATUM_123
93
94#
95# Multiprocessor Systems with Four or More Cores May Deadlock Waiting for a
96# Probe Response
97#
98WORKAROUND_DEFS += -DOPTERON_ERRATUM_131
99
100#
101# TSC may drift when C1-Clock ramping enabled
102#
103WORKAROUND_DEFS += -DOPTERON_WORKAROUND_6336786
104
105#
106# Mutex primitives don't work as expected
107#
108WORKAROUND_DEFS += -DOPTERON_WORKAROUND_6323525
109
110#
111# Some Registered DIMMs incompatible with address parity feature
112#
113WORKAROUND_DEFS += -DOPTERON_ERRATUM_172
114