Skip site navigation (1)Skip section navigation (2)
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>