Date: Fri, 03 May 2002 23:08:31 -0700 From: Michael Smith <msmith@freebsd.org> To: David Malone <dwmalone@maths.tcd.ie> Cc: acpi-jp@jp.FreeBSD.org, current@freebsd.org Subject: Re: Odd problem with MTRR and ACPI Message-ID: <200205040608.g4468Vh00626@mass.dis.org> In-Reply-To: Your message of "Mon, 22 Apr 2002 07:53:10 BST." <200204220753.aa19942@salmon.maths.tcd.ie>
next in thread | previous in thread | raw e-mail | index | archive | help
Heh, finally someone that's actually trying to fix this. 8) The "right" thing is going to be to fix the MTRR code to preserve the extra MTRR bits; I've tried a few times to get some documentation on what these other bits mean without any luck. You'll need to hide these bits from the layers above and just hang on to them. Beyond that, I really don't have any great ideas unless/until you can find out what the bits do. = Mike > I have an ASUS A7A266 motherboard with an Athlon XP processor which > seems prone to weirdness. The BIOS seems to set the MTRRs to some > undocumented values, which used to prevent X starting. I've now > fixed the MTRR code and X works fine. > > Unfortunately, when X changes the MTRRs then ACPI stops working. > I tracked this down and found that the ACPI data just vanishes out > of memory when you change the MTRRs! (Illustration included below, > including hexdump of the bits of memory in question.) > > Has anyone seen anything like this? Does anyone have any idea what > the old MTRR values mean? They are changed from 0x10(=???) to > 0x01(=write-combine). > > David. > > MSR 26e, old=0x1010101010101010 new=0x0101010101010101 > MSR 26f, old=0x1010101010101010 new=0x0101010101010101 > > gonzo 3 # acpidump | head -3 > Found sig at f78c0 > Checksum OK at f78c0 > /* > RSD PTR: Checksum=144, OEMID=ASUS, RsdtAddress=0x17fec000 > */ > gonzo 4# dd if=/dev/mem bs=1024 count=1024 | hd -s 0xf78c0 > 000f78c0 52 53 44 20 50 54 52 20 90 41 53 55 53 20 20 00 |RSD PTR .ASUS . > | > 000f78d0 00 c0 fe 17 00 c0 fe 17 40 c0 fe 17 80 c0 fe 17 |........@....... > | > 000f78e0 00 c1 fe 17 00 f0 ff 17 00 00 00 00 00 00 00 00 |................ > | > 000f78f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................ > | > * > 000f8000 90 90 90 90 90 90 90 90 e9 41 61 2e 8b c0 8b c0 |.........Aa..... > | > <snipped binary data, which looks like it might be bios continues up to 1M> > 00100000 > gonzo 5# memcontrol set -b 983040 -l 65536 -o XFree86 write-combine > gonzo 6# acpidump | head -3 > acpidump: Can't find ACPI information > gonzo 7# dd if=/dev/mem bs=1024 count=1024 | hd -s 0xf78c0 > 000f78c0 0c 00 04 00 00 40 f0 17 01 00 00 00 0b 80 00 00 |.....@.......... > | > * > 000fc240 0c 00 04 00 00 40 f0 17 01 00 00 00 00 00 00 00 |.....@.......... > | > 000fc250 0c 00 00 00 00 08 3e ca 01 00 00 00 00 00 00 00 |......>......... > | > * > 00100000 > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-current" in the body of the message -- To announce that there must be no criticism of the president, or that we are to stand by the president, right or wrong, is not only unpatriotic and servile, but is morally treasonable to the American public. - Theodore Roosevelt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200205040608.g4468Vh00626>