Skip to content

Commit

Permalink
x86: fix "kernel won't boot on a Cyrix MediaGXm (Geode)"
Browse files Browse the repository at this point in the history
Cyrix MediaGXm/Cx5530 Unicorn Revision 1.19.3B has stopped
booting starting at v2.6.22.

The reason is this commit:

> commit f25f64e
> Author: Juergen Beisert <juergen@kreuzholzen.de>
> Date:   Sun Jul 22 11:12:38 2007 +0200
>
>     x86: Replace NSC/Cyrix specific chipset access macros by inlined functions.

this commit activated a macro which was dormant before due to (buggy)
macro side-effects.

I've looked through various datasheets and found that the GXm and GXLV
Geode processors don't have an incrementor.

Remove the incrementor setup entirely.  As the incrementor value
differs according to clock speed and we would hope that the BIOS
configures it correctly, it is probably the right solution.

Cc: <stable@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Samuel Sieb authored and Ingo Molnar committed Aug 20, 2008
1 parent 8a7c5ef commit c674495
Showing 1 changed file with 0 additions and 18 deletions.
18 changes: 0 additions & 18 deletions arch/x86/kernel/cpu/cyrix.c
Original file line number Diff line number Diff line change
Expand Up @@ -134,23 +134,6 @@ static void __cpuinit set_cx86_memwb(void)
setCx86(CX86_CCR2, getCx86(CX86_CCR2) | 0x14);
}

static void __cpuinit set_cx86_inc(void)
{
unsigned char ccr3;

printk(KERN_INFO "Enable Incrementor on Cyrix/NSC processor.\n");

ccr3 = getCx86(CX86_CCR3);
setCx86(CX86_CCR3, (ccr3 & 0x0f) | 0x10); /* enable MAPEN */
/* PCR1 -- Performance Control */
/* Incrementor on, whatever that is */
setCx86(CX86_PCR1, getCx86(CX86_PCR1) | 0x02);
/* PCR0 -- Performance Control */
/* Incrementor Margin 10 */
setCx86(CX86_PCR0, getCx86(CX86_PCR0) | 0x04);
setCx86(CX86_CCR3, ccr3); /* disable MAPEN */
}

/*
* Configure later MediaGX and/or Geode processor.
*/
Expand All @@ -174,7 +157,6 @@ static void __cpuinit geode_configure(void)

set_cx86_memwb();
set_cx86_reorder();
set_cx86_inc();

local_irq_restore(flags);
}
Expand Down

0 comments on commit c674495

Please sign in to comment.