mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
use #ifdef i686 to protect Pentium class processors from hanging
This commit is contained in:
parent
efcf2d7622
commit
1115c4d2af
2 changed files with 11 additions and 5 deletions
|
@ -32,7 +32,6 @@ void intel_cache_on(unsigned long base, unsigned long totalram)
|
||||||
|
|
||||||
void intel_interrupts_on()
|
void intel_interrupts_on()
|
||||||
{
|
{
|
||||||
|
|
||||||
/* this is so interrupts work. This is very limited scope --
|
/* this is so interrupts work. This is very limited scope --
|
||||||
* linux will do better later, we hope ...
|
* linux will do better later, we hope ...
|
||||||
*/
|
*/
|
||||||
|
@ -66,7 +65,9 @@ void intel_interrupts_on()
|
||||||
reg &= 0xfffe00ff;
|
reg &= 0xfffe00ff;
|
||||||
reg |= 0x5400;
|
reg |= 0x5400;
|
||||||
*regp = reg;
|
*regp = reg;
|
||||||
#else
|
#else /* !SMP */
|
||||||
|
#ifdef i686
|
||||||
|
/* Only Pentium Pro and later have thos MSR stuff */
|
||||||
unsigned long low, high;
|
unsigned long low, high;
|
||||||
|
|
||||||
printk(KERN_INFO "Enabling interrupts...");
|
printk(KERN_INFO "Enabling interrupts...");
|
||||||
|
@ -74,7 +75,8 @@ void intel_interrupts_on()
|
||||||
rdmsr(0x1b, low, high);
|
rdmsr(0x1b, low, high);
|
||||||
low &= ~0x800;
|
low &= ~0x800;
|
||||||
wrmsr(0x1b, low, high);
|
wrmsr(0x1b, low, high);
|
||||||
#endif
|
#endif /* i686 */
|
||||||
|
#endif /* SMP */
|
||||||
|
|
||||||
printk(KERN_INFO "done.\n");
|
printk(KERN_INFO "done.\n");
|
||||||
post_code(0x9b);
|
post_code(0x9b);
|
||||||
|
|
|
@ -11,9 +11,11 @@ static char rcsid[] = "$Id$";
|
||||||
#include <cpu/p6/msr.h>
|
#include <cpu/p6/msr.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef i586
|
|
||||||
int intel_mtrr_check(void)
|
int intel_mtrr_check(void)
|
||||||
{
|
{
|
||||||
|
#ifdef i686
|
||||||
|
/* Only Pentium Pro and later have MTRR */
|
||||||
unsigned long low, high;
|
unsigned long low, high;
|
||||||
|
|
||||||
DBG("\nMTRR check\n");
|
DBG("\nMTRR check\n");
|
||||||
|
@ -37,8 +39,10 @@ int intel_mtrr_check(void)
|
||||||
|
|
||||||
post_code(0x93);
|
post_code(0x93);
|
||||||
return ((int) low);
|
return ((int) low);
|
||||||
|
#else /* !i686 */
|
||||||
|
return 0;
|
||||||
|
#endif /* i686 */
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void intel_display_cpuid(void)
|
void intel_display_cpuid(void)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue