void cpubug(void) { msr_t msr; int rev; msr = rdmsr(GLCP_CHIP_REVID); rev = msr.lo & 0xff; if (rev < 0x20) { printk(BIOS_ERR, "%s: rev < 0x20! bailing!\n", __func__); return; } printk(BIOS_DEBUG, "Doing cpubug fixes for rev 0x%x\n", rev); switch(rev) { case 0x20: pcideadlock(); eng1398(); /* cs 5530 bug; ignore bug752(); */ break; case 0x21: pcideadlock(); eng1398(); eng2900(); bug118339(); break; case 0x22: case 0x30: break; default: printk(BIOS_ERR, "unknown rev %x, bailing\n", rev); return; } bug784(); bug118253(); disablememoryreadorder(); printk(BIOS_DEBUG, "Done cpubug fixes \n"); }
/* For CPU version C3. Should be the only released version */ void cpubug(void) { pcideadlock(); disablememoryreadorder(); printk(BIOS_DEBUG, "Done cpubug fixes \n"); }