From owner-acpi-jp@jp.FreeBSD.org Sat May  4 15:10:19 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g446AJ405108;
	Sat, 4 May 2002 15:10:19 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from mass.dis.org (dhcp45-25.dis.org [216.240.45.25])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g446AHf05102
	for <acpi-jp@jp.FreeBSD.org>; Sat, 4 May 2002 15:10:18 +0900 (JST)
	(envelope-from msmith@mass.dis.org)
Received: from mass.dis.org (localhost [127.0.0.1])
	by mass.dis.org (8.11.6/8.11.6) with ESMTP id g4468Vh00626;
	Fri, 3 May 2002 23:08:31 -0700 (PDT)
	(envelope-from msmith@mass.dis.org)
Message-Id: <200205040608.g4468Vh00626@mass.dis.org>
X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4
To: David Malone <dwmalone@maths.tcd.ie>
cc: acpi-jp@jp.FreeBSD.org, current@freebsd.org
In-reply-to: Your message of "Mon, 22 Apr 2002 07:53:10 BST."
             <200204220753.aa19942@salmon.maths.tcd.ie> 
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Fri, 03 May 2002 23:08:31 -0700
From: Michael Smith <msmith@freebsd.org>
Reply-To: acpi-jp@jp.FreeBSD.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+020417
X-Sequence: acpi-jp 1608
Subject: [acpi-jp 1608] Re: Odd problem with MTRR and ACPI 
Errors-To: owner-acpi-jp@jp.FreeBSD.org
Sender: owner-acpi-jp@jp.FreeBSD.org
X-Originator: msmith@freebsd.org


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


