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>
This commit is contained in:
H. Peter Anvin 2007-05-09 00:02:00 -07:00 committed by Linus Torvalds
parent 5b479c91da
commit 21c42bd8db
1 changed files with 4 additions and 2 deletions

View File

@ -77,8 +77,10 @@ static void __cpuinit init_transmeta(struct cpuinfo_x86 *c)
set_bit(X86_FEATURE_CONSTANT_TSC, c->x86_capability); set_bit(X86_FEATURE_CONSTANT_TSC, c->x86_capability);
/* If we can run i686 user-space code, call us an i686 */ /* If we can run i686 user-space code, call us an i686 */
#define USER686 (X86_FEATURE_TSC|X86_FEATURE_CX8|X86_FEATURE_CMOV) #define USER686 ((1 << X86_FEATURE_TSC)|\
if ( c->x86 == 5 && (c->x86_capability[0] & USER686) == USER686 ) (1 << X86_FEATURE_CX8)|\
(1 << X86_FEATURE_CMOV))
if (c->x86 == 5 && (c->x86_capability[0] & USER686) == USER686)
c->x86 = 6; c->x86 = 6;
#ifdef CONFIG_SYSCTL #ifdef CONFIG_SYSCTL