Messages in this thread Patch in this message | | | Date | Tue, 12 Feb 2008 13:46:18 -0800 | From | "H. Peter Anvin" <> | Subject | Re: Bug#464962: immediate crash on boot on TM5800 |
| |
Thought some more about this, and since this probably means gcc will generate this for userspace code as well nowadays, tm5800 should probably be downgraded to a 586-class machine. Hence the Linux policy of promoting it to a 686-class machine for having CMOV is actually incorrect, it doesn't have all the userspace-visible features of a 686-class machine, lacking long NOP.
-hpa
diff --git a/arch/x86/kernel/cpu/transmeta.c b/arch/x86/kernel/cpu/transmeta.c index 200fb3f..e8b422c 100644 --- a/arch/x86/kernel/cpu/transmeta.c +++ b/arch/x86/kernel/cpu/transmeta.c @@ -76,13 +76,6 @@ static void __cpuinit init_transmeta(struct cpuinfo_x86 *c) /* All Transmeta CPUs have a constant TSC */ set_bit(X86_FEATURE_CONSTANT_TSC, c->x86_capability); - /* If we can run i686 user-space code, call us an i686 */ -#define USER686 ((1 << X86_FEATURE_TSC)|\ - (1 << X86_FEATURE_CX8)|\ - (1 << X86_FEATURE_CMOV)) - if (c->x86 == 5 && (c->x86_capability[0] & USER686) == USER686) - c->x86 = 6; - #ifdef CONFIG_SYSCTL /* randomize_va_space slows us down enormously; it probably triggers retranslation of x86->native bytecode */ | |