Esempio n. 1
0
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");
}
Esempio n. 2
0
/* For CPU version C3. Should be the only released version */
void cpubug(void)
{
	pcideadlock();
	disablememoryreadorder();
	printk(BIOS_DEBUG, "Done cpubug fixes \n");
}