xref: /illumos-gate/usr/src/uts/i86pc/Makefile.workarounds (revision 1a220b56b93ff1dc80855691548503117af4cc10)
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 2006 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# Compatibility Mode Branches Transfer to Illegal Address
52#
53WORKAROUND_DEFS += -DOPTERON_ERRATUM_100
54
55#
56# DRAM Scrubber May Cause Data Corruption When Using Node-Interleaved Memory
57#
58WORKAROUND_DEFS += -DOPTERON_ERRATUM_101
59
60#
61# CPUID Instruction May Return Incorrect Model Number in Some Processors
62#
63WORKAROUND_DEFS += -DOPTERON_ERRATUM_108
64
65#
66# Certain Reverse REP MOVS May Produce Unpredictable Behaviour
67#
68WORKAROUND_DEFS += -DOPTERON_ERRATUM_109
69
70#
71# Sequential Execution Across Non_Canonical Boundary Caused Processor Hang
72#
73WORKAROUND_DEFS += -DOPTERON_ERRATUM_121
74
75#
76# TLB Flush Filter May Cause Cohenrency Problem in Multiprocessor Systems
77#
78WORKAROUND_DEFS += -DOPTERON_ERRATUM_122
79
80#
81# Bypassed Reads May Cause Data Corruption of System Hang in Dual Core
82# Processors
83#
84# Solaris does not currently support PowerNow which is required for this
85# Erratum. Disable for now.
86#
87#WORKAROUND_DEFS += -DOPTERON_ERRATUM_123
88
89#
90# Multiprocessor Systems with Four or More Cores May Deadlock Waiting for a
91# Probe Response
92#
93WORKAROUND_DEFS += -DOPTERON_ERRATUM_131
94
95#
96# TSC may drift when C1-Clock ramping enabled
97#
98WORKAROUND_DEFS += -DOPTERON_WORKAROUND_6336786
99
100#
101# Mutex primitives don't work as expected
102#
103WORKAROUND_DEFS += -DOPTERON_WORKAROUND_6323525
104
105