xref: /illumos-gate/usr/src/uts/i86pc/Makefile.workarounds (revision 20a7641f9918de8574b8b3b47dbe35c4bfc78df1)
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 2008 Sun Microsystems, Inc.  All rights reserved.
22# Use is subject to license terms.
23#
24# This makefile contains workaround defines to be shared
25# by Makefile.i86pc and the genunix Makefile.
26#
27
28#
29# SWAPGS May Fail To Read Correct GS Base
30#
31WORKAROUND_DEFS += -DOPTERON_ERRATUM_88
32
33#
34# Software Prefetches May Report A Page Fault
35#
36WORKAROUND_DEFS += -DOPTERON_ERRATUM_91
37
38#
39# RSM Auto-Halt Restart Returns To Incorrect RIP
40#
41WORKAROUND_DEFS += -DOPTERON_ERRATUM_93
42
43#
44# RET Instruction May Return To Incorrect EIP
45#
46WORKAROUND_DEFS += -DOPTERON_ERRATUM_95
47
48#
49# DRAM scrubber must not be enabled on a node with discontiguous cs range
50#
51WORKAROUND_DEFS += -DOPTERON_ERRATUM_99
52
53#
54# Compatibility Mode Branches Transfer to Illegal Address
55#
56WORKAROUND_DEFS += -DOPTERON_ERRATUM_100
57
58#
59# DRAM Scrubber May Cause Data Corruption When Using Node-Interleaved Memory
60#
61WORKAROUND_DEFS += -DOPTERON_ERRATUM_101
62
63#
64# CPUID Instruction May Return Incorrect Model Number in Some Processors
65#
66WORKAROUND_DEFS += -DOPTERON_ERRATUM_108
67
68#
69# Certain Reverse REP MOVS May Produce Unpredictable Behaviour
70#
71WORKAROUND_DEFS += -DOPTERON_ERRATUM_109
72
73#
74# Sequential Execution Across Non_Canonical Boundary Caused Processor Hang
75#
76WORKAROUND_DEFS += -DOPTERON_ERRATUM_121
77
78#
79# TLB Flush Filter May Cause Cohenrency Problem in Multiprocessor Systems
80#
81WORKAROUND_DEFS += -DOPTERON_ERRATUM_122
82
83#
84# Bypassed Reads May Cause Data Corruption of System Hang in Dual Core
85# Processors
86#
87# Solaris does not currently support PowerNow which is required for this
88# Erratum. Check anyway.
89#
90WORKAROUND_DEFS += -DOPTERON_ERRATUM_123
91
92#
93# Multiprocessor Systems with Four or More Cores May Deadlock Waiting for a
94# Probe Response
95#
96WORKAROUND_DEFS += -DOPTERON_ERRATUM_131
97
98#
99# TSC may drift when C1-Clock ramping enabled
100#
101WORKAROUND_DEFS += -DOPTERON_WORKAROUND_6336786
102
103#
104# Potential Violation of Read Ordering Rules Between Semaphore Operations and
105# Unlocked Read-Modify-Write Instructions
106#
107WORKAROUND_DEFS += -DOPTERON_ERRATUM_147
108
109#
110# Some Registered DIMMs incompatible with address parity feature
111#
112WORKAROUND_DEFS += -DOPTERON_ERRATUM_172
113
114#
115# L2 Eviction May Occur During Processor Operation To Set
116# Accessed or Dirty Bit.
117#
118WORKAROUND_DEFS += -DOPTERON_ERRATUM_298
119
120#
121# Processor May Incorrectly Update Stack Pointer
122#
123WORKAROUND_DEFS += -DOPTERON_ERRATUM_721
124