aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2007-05-09 03:02:00 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-09 15:49:33 -0400
commit21c42bd8db2acd7c884d132efbf7aee9ca970b06 (patch)
tree1ebbed858d9aaca784ff5b8bdf2fa30c27dc6738 /arch/i386
parent5b479c91da90eef605f851508744bfe8269591a0 (diff)
i386: cpu/transmeta.c: fix definition of USER686
The definition of USER686 is supposed to be a mask of feature bits, not an OR of feature numbers! It happened to work anyway on the only processor affected, simply by pure coincidence. Fix. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/i386')
-rw-r--r--arch/i386/kernel/cpu/transmeta.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/i386/kernel/cpu/transmeta.c b/arch/i386/kernel/cpu/transmeta.c
index 6471a5a13202..200fb3f9ebfb 100644
--- a/arch/i386/kernel/cpu/transmeta.c
+++ b/arch/i386/kernel/cpu/transmeta.c
@@ -77,8 +77,10 @@ static void __cpuinit init_transmeta(struct cpuinfo_x86 *c)
77 set_bit(X86_FEATURE_CONSTANT_TSC, c->x86_capability); 77 set_bit(X86_FEATURE_CONSTANT_TSC, c->x86_capability);
78 78
79 /* If we can run i686 user-space code, call us an i686 */ 79 /* If we can run i686 user-space code, call us an i686 */
80#define USER686 (X86_FEATURE_TSC|X86_FEATURE_CX8|X86_FEATURE_CMOV) 80#define USER686 ((1 << X86_FEATURE_TSC)|\
81 if ( c->x86 == 5 && (c->x86_capability[0] & USER686) == USER686 ) 81 (1 << X86_FEATURE_CX8)|\
82 (1 << X86_FEATURE_CMOV))
83 if (c->x86 == 5 && (c->x86_capability[0] & USER686) == USER686)
82 c->x86 = 6; 84 c->x86 = 6;
83 85
84#ifdef CONFIG_SYSCTL 86#ifdef CONFIG_SYSCTL