Messages in this thread Patch in this message | | | Date | Mon, 29 Sep 2008 19:24:07 +0200 | From | Krzysztof Helt <> | Subject | [PATCH] x86: enable CPUID on Cyrix cpus with CPUID disabled |
| |
From: Krzysztof Helt <krzysztof.h1@wp.pl>
The macros setCx86_old() and getCx86_old() do not work as a comment says in the processor-cyrix.h.
Use working inline functions instead to enable the CPUID instriction on Cyrix cpus.
Tested on IBM 6x86MX cpu with disabled the CPUID instruction.
Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> ---
This patch is against the linux-next tree (20080819) as it contains the following patch:
x86, cyrix: debug Signed-off-by: Ingo Molnar <mingo@elte.hu>
http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git;a=commit;h=026e2c05ef58ef413e2d52696f125d5ea1aa8bce
The linux-2.6-tip tree has not the Ingo's patch so it does not require my patch.
I am confused. Is the x86 detection code for Cyrix cpus is right in the linux-next or in the linux-2.6-tip? Should I prepare patches against the linux-2.6-tip or linux-next?
diff -urp linux-orig/arch/x86/kernel/cpu/cyrix.c linux-2.6.27/arch/x86/kernel/cpu/cyrix.c --- linux-orig/arch/x86/kernel/cpu/cyrix.c 2008-09-29 00:16:31.000000000 +0200 +++ linux-2.6.27/arch/x86/kernel/cpu/cyrix.c 2008-09-29 17:03:52.563864398 +0200 @@ -428,7 +428,7 @@ static void __cpuinit cyrix_identify(str local_irq_save(flags); ccr3 = getCx86(CX86_CCR3); setCx86(CX86_CCR3, (ccr3 & 0x0f) | 0x10); /* enable MAPEN */ - setCx86_old(CX86_CCR4, getCx86_old(CX86_CCR4) | 0x80); /* enable cpuid */ + setCx86(CX86_CCR4, getCx86(CX86_CCR4) | 0x80); /* enable cpuid */ setCx86(CX86_CCR3, ccr3); /* disable MAPEN */ local_irq_restore(flags); } ---------------------------------------------------------------------- Dzwon taniej na zagraniczne komorki! Sprawdz >> http://link.interia.pl/f1f26
| |