Re: [PATCH] x86: enable CPUID on Cyrix cpus with CPUID disabled

Previous thread: setup_per_zone_pages_min(): zone->lock vs. zone->lru_lock by Gerald Schaefer on Monday, September 29, 2008 - 10:10 am. (8 messages)

Next thread: [RFC v3] Security Label Support for NFSv4 by David P. Quigley on Monday, September 29, 2008 - 10:06 am. (16 messages)
From: Krzysztof Helt
Date: Monday, September 29, 2008 - 10:24 am

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=026e2c05ef58ef...

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 

--

From: Yinghai Lu
Date: Monday, September 29, 2008 - 10:56 am

linux-2.6-tip.

YH
--

From: Ingo Molnar
Date: Tuesday, September 30, 2008 - 2:43 am

now that the bug is correctly understood and fixed, could you please 
send a patch that cleans it all up and gets rid of the setCx86_old() / 
setCx86() API distinction? I.e. revert commit 026e2c0 ("x86, cyrix: 
debug"). Against tip/master please.

note that this was all done in connection to:

 commit c6744955d0ec0cb485c28c51eeb7185e260f6172
 Author: Samuel Sieb <samuel@sieb.net>
 Date:   Wed Aug 6 22:06:29 2008 -0700

    x86: fix "kernel won't boot on a Cyrix MediaGXm (Geode)"

	Ingo
--

Previous thread: setup_per_zone_pages_min(): zone->lock vs. zone->lru_lock by Gerald Schaefer on Monday, September 29, 2008 - 10:10 am. (8 messages)

Next thread: [RFC v3] Security Label Support for NFSv4 by David P. Quigley on Monday, September 29, 2008 - 10:06 am. (16 messages)