Bug 28418 - XFree86 4.X panics FreeBSD 4.3-STABLE on Asus A7A266 motherboard
Summary: XFree86 4.X panics FreeBSD 4.3-STABLE on Asus A7A266 motherboard
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 4.3-STABLE
Hardware: Any Any
: Normal Affects Only Me
Assignee: dwmalone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2001-06-26 05:00 UTC by Ivar Hosteng
Modified: 2002-07-09 19:10 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivar Hosteng 2001-06-26 05:00:07 UTC
When starting the X server on my Asus A7A266 motherboard the kernel panics. The Graphics cards used are Nvidia Geoforce 2/GTS and Ati Rage128.

I have run the crashdump through gbd -k and here is the output:
bash-2.05# gdb -k /usr/src/sys/compile/erik/kernel.debug vmcore.2
GNU gdb 4.18
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-freebsd"...
IdlePTD 3895296
initial pcb at 315a20
panicstr: general protection fault
panic messages:
---
Fatal trap 9: general protection fault while in kernel mode
instruction pointer     = 0x8:0xc0279963
stack pointer           = 0x10:0xd1531cf0
frame pointer           = 0x10:0xd1531d10
code segment            = base rx0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = resume, IOPL = 3
current process         = 460 (XFree86)
interrupt mask          = none
trap number             = 9
panic: general protection fault
 
syncing disks... 
done
Uptime: 13m25s
 
dumping to dev #ad/0x20004, offset 262304
dump ata0: resetting devices .. done
383 382 381 380 379 378 377 376 375 374 373 372 371 370 369 368 367 366 365 364 363 362 361 360 359 358 357 356 355 354 353 352 351 350 349 348 347 346 345 344 343 342 341 340 339 338 337 336 335 334 333 332 331 330 329 328 327 326 325 324 323 322 321 320 319 318 317 316 315 314 313 312 311 310 309 308 307 306 305 304 303 302 301 300 299 298 297 296 295 294 293 292 291 290 289 288 287 286 285 284 283 282 281 280 279 278 277 276 275 274 273 272 271 270 269 268 267 266 265 264 263 262 261 260 259 258 257 256 255 254 253 252 251 250 249 248 247 246 245 244 243 242 241 240 239 238 237 236 235 234 233 232 231 230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 209 208 207 206 205 204 203 202 201 200 199 198 197 196 195 194 193 192 191 190 189 188 187 186 185 184 183 182 181 180 179 178 177 176 175 174 173 172 171 170 169 168 167 166 165 164 163 162 161 160 159 158 157 156 155 154 153 152 151 150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131 130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 
---
#0  dumpsys () at ../../kern/kern_shutdown.c:472
472             if (dumping++) {
(kgdb) bt
#0  dumpsys () at ../../kern/kern_shutdown.c:472
#1  0xc01422d3 in boot (howto=256) at ../../kern/kern_shutdown.c:312
#2  0xc0142650 in poweroff_wait (junk=0xc02c3bc5, howto=-783189792) at ../../kern/kern_shutdown.c:559
#3  0xc02862f9 in trap_fatal (frame=0xd1531cb0, eva=0) at ../../i386/i386/trap.c:951
#4  0xc0285cdb in trap (frame={tf_fs = 16, tf_es = 16, tf_ds = 16, tf_edi = -1, tf_esi = -1, tf_ebp = -783082224, tf_isp = -783082276, tf_ebx = -1, 
      tf_edx = -1, tf_ecx = 592, tf_eax = -1, tf_trapno = 9, tf_err = 0, tf_eip = -1071146653, tf_cs = 8, tf_eflags = 77974, tf_esp = 65535, tf_ss = 0})
    at ../../i386/i386/trap.c:613
#5  0xc0279963 in i686_mrstoreone (arg=0xc0335374) at ../../i386/i386/i686_mem.c:290
#6  0xc02798a9 in i686_mrstore (sc=0xc0335374) at ../../i386/i386/i686_mem.c:253
#7  0xc0279ee5 in i686_mrset (sc=0xc0335374, mrd=0xc125b200, arg=0xd1531eb0) at ../../i386/i386/i686_mem.c:489
#8  0xc0281365 in mem_range_attr_set (mrd=0xc125b200, arg=0xd1531eb0) at ../../i386/i386/mem.c:442
#9  0xc02812e1 in mem_ioctl (dev=0xc03143b0, cmd=2148298035, data=0xd1531eac "<ú¿¿", flags=3, p=0xd15178e0) at ../../i386/i386/mem.c:405
#10 0xc0281198 in mmioctl (dev=0xc03143b0, cmd=2148298035, data=0xd1531eac "<ú¿¿", flags=3, p=0xd15178e0) at ../../i386/i386/mem.c:341
#11 0xc0179ea2 in spec_ioctl (ap=0xd1531de8) at ../../miscfs/specfs/spec_vnops.c:306
#12 0xc0179bcd in spec_vnoperate (ap=0xd1531de8) at ../../miscfs/specfs/spec_vnops.c:119
#13 0xc021122d in ufs_vnoperatespec (ap=0xd1531de8) at ../../ufs/ufs/ufs_vnops.c:2391
#14 0xc017644f in vn_ioctl (fp=0xc133ce00, com=2148298035, data=0xd1531eac "<ú¿¿", p=0xd15178e0) at vnode_if.h:429
#15 0xc0150afe in ioctl (p=0xd15178e0, uap=0xd1531f80) at ../../sys/file.h:177
#16 0xc02865a5 in syscall2 (frame={tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 983040, tf_esi = 65536, tf_ebp = -1077937576, tf_isp = -783081516, 
      tf_ebx = -1077937604, tf_edx = 673613360, tf_ecx = 0, tf_eax = 54, tf_trapno = 0, tf_err = 2, tf_eip = 673249384, tf_cs = 31, tf_eflags = 12935, 
      tf_esp = -1077937668, tf_ss = 47}) at ../../i386/i386/trap.c:1150
#17 0xc0278055 in Xint0x80_syscall ()
#18 0x80910fd in ?? ()
#19 0x8095663 in ?? ()
#20 0x82f10dc in ?? ()
#21 0x82d79be in ?? ()
#22 0x806b7c4 in ?? ()
#23 0x80baade in ?? ()
#24 0x806b045 in ?? ()
(kgdb) disassemble ../../i386/i386/i686_mem.c:290
A syntax error in expression, near `./../i386/i386/i686_mem.c:290'.
(kgdb) disassemble 0xc0279963                    
Dump of assembler code for function i686_mrstoreone:
0xc02798ac <i686_mrstoreone>:   push   %ebp
0xc02798ad <i686_mrstoreone+1>: mov    %esp,%ebp
0xc02798af <i686_mrstoreone+3>: sub    $0x14,%esp
0xc02798b2 <i686_mrstoreone+6>: push   %edi
0xc02798b3 <i686_mrstoreone+7>: push   %esi
0xc02798b4 <i686_mrstoreone+8>: push   %ebx
0xc02798b5 <i686_mrstoreone+9>: mov    0x8(%ebp),%eax
0xc02798b8 <i686_mrstoreone+12>:        mov    %eax,0xfffffffc(%ebp)
0xc02798bb <i686_mrstoreone+15>:        mov    0xc(%eax),%edx
0xc02798be <i686_mrstoreone+18>:        mov    %edx,0xfffffff8(%ebp)
0xc02798c1 <i686_mrstoreone+21>:        call   0xc02852fc <rcr4>
0xc02798c6 <i686_mrstoreone+26>:        mov    %eax,0xffffffec(%ebp)
0xc02798c9 <i686_mrstoreone+29>:        cmpb   $0x0,0xffffffec(%ebp)
0xc02798cd <i686_mrstoreone+33>:        jge    0xc02798da <i686_mrstoreone+46>
0xc02798cf <i686_mrstoreone+35>:        and    $0x7f,%al
0xc02798d1 <i686_mrstoreone+37>:        push   %eax
0xc02798d2 <i686_mrstoreone+38>:        call   0xc0285300 <load_cr4>
0xc02798d7 <i686_mrstoreone+43>:        add    $0x4,%esp
0xc02798da <i686_mrstoreone+46>:        call   0xc02852ec <rcr0>
0xc02798df <i686_mrstoreone+51>:        and    $0xdfffffff,%eax
0xc02798e4 <i686_mrstoreone+56>:        or     $0x40000000,%eax
0xc02798e9 <i686_mrstoreone+61>:        push   %eax
0xc02798ea <i686_mrstoreone+62>:        call   0xc02852e4 <load_cr0>
0xc02798ef <i686_mrstoreone+67>:        add    $0x4,%esp
0xc02798f2 <i686_mrstoreone+70>:        wbinvd 
0xc02798f4 <i686_mrstoreone+72>:        mov    $0x2ff,%ecx
0xc02798f9 <i686_mrstoreone+77>:        rdmsr  
0xc02798fb <i686_mrstoreone+79>:        and    $0xf7,%ah
0xc02798fe <i686_mrstoreone+82>:        and    $0xffffffff,%edx
0xc0279901 <i686_mrstoreone+85>:        wrmsr  
0xc0279903 <i686_mrstoreone+87>:        mov    0xfffffffc(%ebp),%ecx
0xc0279906 <i686_mrstoreone+90>:        testb  $0x1,0x4(%ecx)
0xc027990a <i686_mrstoreone+94>:        je     0xc0279a49 <i686_mrstoreone+413>
0xc0279910 <i686_mrstoreone+100>:       movl   $0x250,0xfffffff0(%ebp)
0xc0279917 <i686_mrstoreone+107>:       movl   $0x0,0xfffffff4(%ebp)
0xc027991e <i686_mrstoreone+114>:       mov    %esi,%esi
0xc0279920 <i686_mrstoreone+116>:       mov    $0x0,%ebx
0xc0279925 <i686_mrstoreone+121>:       mov    $0x0,%esi
0xc027992a <i686_mrstoreone+126>:       mov    $0x7,%edi
0xc027992f <i686_mrstoreone+131>:       nop    
0xc0279930 <i686_mrstoreone+132>:       shld   $0x8,%ebx,%esi
0xc0279934 <i686_mrstoreone+136>:       shl    $0x8,%ebx
0xc0279937 <i686_mrstoreone+139>:       lea    0x0(,%edi,8),%eax
0xc027993e <i686_mrstoreone+146>:       sub    %edi,%eax
0xc0279940 <i686_mrstoreone+148>:       mov    0xfffffff8(%ebp),%edx
0xc0279943 <i686_mrstoreone+151>:       pushl  0x10(%edx,%eax,4)
0xc0279947 <i686_mrstoreone+155>:       call   0xc0279868 <i686_mtrrtype>
0xc027994c <i686_mrstoreone+160>:       and    $0xff,%eax
0xc0279951 <i686_mrstoreone+165>:       cltd   
0xc0279952 <i686_mrstoreone+166>:       or     %eax,%ebx
0xc0279954 <i686_mrstoreone+168>:       or     %edx,%esi
0xc0279956 <i686_mrstoreone+170>:       add    $0x4,%esp
0xc0279959 <i686_mrstoreone+173>:       dec    %edi
0xc027995a <i686_mrstoreone+174>:       jns    0xc0279930 <i686_mrstoreone+132>
0xc027995c <i686_mrstoreone+176>:       mov    %ebx,%eax
0xc027995e <i686_mrstoreone+178>:       mov    %esi,%edx
0xc0279960 <i686_mrstoreone+180>:       mov    0xfffffff0(%ebp),%ecx
0xc0279963 <i686_mrstoreone+183>:       wrmsr  
0xc0279965 <i686_mrstoreone+185>:       addl   $0xe0,0xfffffff8(%ebp)
0xc027996c <i686_mrstoreone+192>:       incl   0xfffffff4(%ebp)
0xc027996f <i686_mrstoreone+195>:       inc    %ecx
---Type <return> to continue, or q <return> to quit---q
Quit
(kgdb) list ../../i386/i386/i686_mem.c:290
285                 msrv = 0;
286                 for (j = 7; j >= 0; j--) {
287                     msrv = msrv << 8;
288                     msrv |= (i686_mtrrtype((mrd + j)->mr_flags) & 0xff);
289                 }
290                 wrmsr(msr, msrv);
291                 mrd += 8;
292             }
293             msr = MSR_MTRR16kBase;
294             for (i = 0; i < (MTRR_N16K / 8); i++, msr++) {
(kgdb) list ../../i386/i386/i686_mem.c:270
265     {
266         struct mem_range_softc      *sc = (struct mem_range_softc *)arg;
267         struct mem_range_desc       *mrd;
268         u_int64_t                   msrv;
269         int                         i, j, msr;
270         u_int                       cr4save;
271
272         mrd = sc->mr_desc;
273
274         cr4save = rcr4();                           /* save cr4 */
(kgdb) 
275         if (cr4save & CR4_PGE)
276             load_cr4(cr4save & ~CR4_PGE);
277         load_cr0((rcr0() & ~CR0_NW) | CR0_CD);      /* disable caches (CD = 1, NW = 0) */
278         wbinvd();                                   /* flush caches, TLBs */
279         wrmsr(MSR_MTRRdefType, rdmsr(MSR_MTRRdefType) & ~0x800);    /* disable MTRRs (E = 0) */
280
281         /* Set fixed-range MTRRs */
282         if (sc->mr_cap & MR686_FIXMTRR) {
283             msr = MSR_MTRR64kBase;
284             for (i = 0; i < (MTRR_N64K / 8); i++, msr++) {
(kgdb) 
285                 msrv = 0;
286                 for (j = 7; j >= 0; j--) {
287                     msrv = msrv << 8;
288                     msrv |= (i686_mtrrtype((mrd + j)->mr_flags) & 0xff);
289                 }
290                 wrmsr(msr, msrv);
291                 mrd += 8;
292             }
293             msr = MSR_MTRR16kBase;
294             for (i = 0; i < (MTRR_N16K / 8); i++, msr++) {
(kgdb) quit

How-To-Repeat: Just start X. I also have a A7M266 motherboard and it works fine.
Comment 1 dwmalone freebsd_committer freebsd_triage 2002-03-01 12:44:46 UTC
Responsible Changed
From-To: freebsd-bugs->dwmalone

I can reproduce this on the same motherboard at home when I install 
XF86-4. According to some intel documentation I have, if you get a 
GPF in protected mode then either the privilage level is not 0 
(which it should be in the kernel) or the value in ECX isn't a 
valid MSR register number. I guess we must be looking at the 
latter. 

I wonder this is a problem specific to the A7A266 board, or if 
relates to all Athlon processors? Is anyone using FreeBSD-4 or 
FreeBSD-current with XFree86-4 with a video driver which would 
try to alter the MTRR settings?
Comment 2 dwmalone 2002-03-04 12:20:43 UTC
On Fri, Mar 01, 2002 at 04:50:09AM -0800, dwmalone@FreeBSD.org wrote:
> I wonder this is a problem specific to the A7A266 board, or if
> relates to all Athlon processors? Is anyone using FreeBSD-4 or
> FreeBSD-current with XFree86-4 with a video driver which would
> try to alter the MTRR settings?

I think I understand the problem here now. The i686_mem.c code
expects MTRR registers to only contain the values 0, 1, 4, 5, 6.
According to the Intel docs, the other values are reserved and
should cause a GPF.

The A7A266 bios is setting the MTTR registers to contain other
values: 0x1e and 0x10. Unfortunately this results in the i686_mem.c
code reading random chunks of kernel memory and getting confused.
Later when it tries to rewrite the values back into the MTRR registers
some function returns -1 and it writes 0xff into the register, which
does cause a GPF.

I guess this means we have two problems here. First i686_mem.c
should be a bit more defensive in dealing with values it doesn't
understand.  Second, we have to decide if the A7A266 bios is setting
the Athlon's MTRR registers to valid values or if the BIOS is just
nuts.

Does anyone have access to the Athlon BIOS programmers guide that
can help me out here? Mike, do you want to have a look at the
i686_mem.c code, or should I have a go at it?

	David.

MSR_MTRRdefType = c00
MSR 250, old=1e1e1e1e1e1e1e1e new=ffffffffffffffff
MSR 258, old=1e1e1e1e1e1e1e1e new=ffffffffffffffff
MSR 259, old=1e1e1e1e1e1e1e1e new=ffffffffffffffff
MSR 268, old=1010101010101010 new=ffffffffffffffff
MSR 269, old=10101010 new=ffffffff
MSR 26a, old=0 new=0
MSR 26b, old=0 new=0
MSR 26c, old=1010101010101010 new=ffffffffffffffff
MSR 26d, old=1010101010101010 new=ffffffffffffffff
MSR 26e, old=1010101010101010 new=101010101010101
MSR 26f, old=1010101010101010 new=101010101010101
Comment 3 chris 2002-04-07 21:40:42 UTC
FWIW, I have this exact same panic starting X with an Asus A7A133
motherboard and an Althlon 1800.  I'm running -stable from a week
or two ago, and using XFree86 4.2 with an AGP 3dfx Voodoo3 card.

Disabling the i686_mrstoreone function allows me to start X.

I've only had the thing for a day, all of which was spent looking
for this.  The magic Google Groups search seems to be: xfree86 "trap 9"
I don't know what detrimental effects nopping that whole function
out will have.

This has been happening to people as far back as December 2000
from what I can see.  Perhaps not the same problem, or perhaps a clue
that this isn't a simple Asus BIOS bug.  I'm a good high-level
programmer, but I don't even know what an MTRR is, so I'm not
much help there.  I am happy to test any potential fixes though.

My BIOS version is 1009 -- I finally managed to download the 1011 update
from Asus's crappy web site, and will be installing it shortly.  I don't
expect it to help based on the release notes.
-- 
"Contemplate the mangled bodies of your countrymen, and then say, What
should be the reward of such sacrifices? ... If ye love wealth better
than liberty, the tranquillity of servitude than the animating contest
of freedom -- go from us in peace.  Crouch down and lick the hands which
feed you.  May your chains sit lightly upon you." -- Samuel Adams, 1776

CB461C61 8AFC E3A8 7CE5 9023 B35D  C26A D849 1F6E CB46 1C61
Comment 4 dwmalone 2002-04-07 23:40:02 UTC
> I don't know what detrimental effects nopping that whole function
> out will have.

There should be no detremental effect as all the the function usually
does is make X run a little faster. Since the kernel panics when
you call this function, I don't thing you're loosing much ;-)

> This has been happening to people as far back as December 2000
> from what I can see.  Perhaps not the same problem, or perhaps a clue
> that this isn't a simple Asus BIOS bug.  I'm a good high-level
> programmer, but I don't even know what an MTRR is, so I'm not
> much help there.  I am happy to test any potential fixes though.

MTRRs are a special set of registers which tell the processor how
to cache certain parts of its address sapce.

There are several problems interacting badly here. The first is
that the BIOS is setting the MTRR registers up in a state which
seems to be illegal (or at least undocumented).

The second problem is that the FreeBSD MTRR code deals badly with
illegal values in the MTRR. I have some code which fixes this
problem, however that leads to the third problem.

It seems that changing the MTRR to legal values (which is what X
does when it runs) causes problems when you try to shut the machine
down. I suspect that the kernel is making a BIOS/ACPI/VM86 call and
the BIOS doesn't like the way X has changed the MTRRs.

> My BIOS version is 1009 -- I finally managed to download the 1011 update
> from Asus's crappy web site, and will be installing it shortly.  I don't
> expect it to help based on the release notes.

I'd be interested to hear how you get on - I'm almost certain that
the people who wrote the BIOS were from outer space (the BIOS also
doesn't enable SSE on Athlon processors which have it and I'm sure
there are other bugs I haven't encountered)...

	David.
Comment 5 chris 2002-04-08 20:17:06 UTC
On Sun, Apr 07, 2002 at 11:40:02PM +0100, David Malone wrote:
> > My BIOS version is 1009 -- I finally managed to download the 1011 update
> > from Asus's crappy web site, and will be installing it shortly.  I don't
> > expect it to help based on the release notes.
> 
> I'd be interested to hear how you get on - I'm almost certain that
> the people who wrote the BIOS were from outer space (the BIOS also
> doesn't enable SSE on Athlon processors which have it and I'm sure
> there are other bugs I haven't encountered)...

FYI: Just tried the unpatched kernel with the 1011 BIOS, and it still
panics.  I'll try the patches you posted later or tomorrow.
-- 
Christopher Masto

CB461C61 8AFC E3A8 7CE5 9023 B35D  C26A D849 1F6E CB46 1C61
Comment 6 dwmalone freebsd_committer freebsd_triage 2002-04-29 09:24:50 UTC
State Changed
From-To: open->closed

Issue had been resolved for the moment - it may need to be revisited 
if full docs for the Athlon MTRR registers become available.
Comment 7 chris 2002-07-01 17:34:51 UTC
On Mon, Apr 08, 2002 at 03:17:06PM -0400, Christopher Masto wrote:
> FYI: Just tried the unpatched kernel with the 1011 BIOS, and it still
> panics.  I'll try the patches you posted later or tomorrow.

Ok, so for "tomorrow" substitute "in a few months".  Unfortunately I
have to report that the code currently in -stable (i686_mem.c 1.8.2.2)
does not solve the problem on my machine (Asus A7A133, Athlon XP1800+,
3dfx Voodoo 3).  The machine still locks up hard when I start X.

Commenting out the MTRR detection code, on the other hand, still
works around this problem.

Just in case, I am going to try a new X server.  I still have
XFree86-4.2.0_1 from February.  I don't know if there's any chance
that it will help, but I'm kind of suprised that there aren't more
reports of this issue with such a common hardware configuration
triggering it.

I'm sorry for not testing those patches sooner - work got extremely
busy, and I could not afford to take the chance of extended downtime
on my workstation.
-- 
Christopher Masto

CB461C61 8AFC E3A8 7CE5 9023 B35D  C26A D849 1F6E CB46 1C61
Comment 8 dwmalone 2002-07-02 13:53:48 UTC
> Ok, so for "tomorrow" substitute "in a few months".  Unfortunately I
> have to report that the code currently in -stable (i686_mem.c 1.8.2.2)
> does not solve the problem on my machine (Asus A7A133, Athlon XP1800+,
> 3dfx Voodoo 3).  The machine still locks up hard when I start X.

Odd - I have almost the same setup (ASUS A7A266, XP1600+, Voodoo
3) and it works for me with the patches. I have discovered one side
effect of the patches which means that making ACPI calls after
twiddling the MTRRs doesn't work - this means I'll have to revisit
the fix before 5.0.

> Commenting out the MTRR detection code, on the other hand, still
> works around this problem.

Can you apply the patch I've included below - it stops the code
changing the fixed MTRRs and instead prints out what it would have
done. I'd be interested to see what this prints out.

	David.


Index: i686_mem.c
===================================================================
RCS file: /cvs/FreeBSD-CVS/src/sys/i386/i386/i686_mem.c,v
retrieving revision 1.14
diff -u -r1.14 i686_mem.c
--- i686_mem.c	14 Apr 2002 20:13:08 -0000	1.14
+++ i686_mem.c	2 Jul 2002 12:50:28 -0000
@@ -303,7 +303,8 @@
 		msrv = msrv << 8;
 		msrv |= i686_mrt2mtrr((mrd + j)->mr_flags, omsrv >> (j*8));
 	    }
-	    wrmsr(msr, msrv);
+	    if (omsrv != msrv)
+                printf("MSR %x, old=%llx new=%llx\n", msr, omsrv, msrv);
 	    mrd += 8;
 	}
 	msr = MSR_MTRR16kBase;
@@ -314,7 +315,8 @@
 		msrv = msrv << 8;
 		msrv |= i686_mrt2mtrr((mrd + j)->mr_flags, omsrv >> (j*8));
 	    }
-	    wrmsr(msr, msrv);
+	    if (omsrv != msrv)
+                printf("MSR %x, old=%llx new=%llx\n", msr, omsrv, msrv);
 	    mrd += 8;
 	}
 	msr = MSR_MTRR4kBase;
@@ -325,7 +327,8 @@
 		msrv = msrv << 8;
 		msrv |= i686_mrt2mtrr((mrd + j)->mr_flags, omsrv >> (j*8));
 	    }
-	    wrmsr(msr, msrv);
+	    if (omsrv != msrv)
+                printf("MSR %x, old=%llx new=%llx\n", msr, omsrv, msrv);
 	    mrd += 8;
 	}
     }
Comment 9 chris 2002-07-02 16:07:38 UTC
On Tue, Jul 02, 2002 at 01:53:48PM +0100, David Malone wrote:
> Can you apply the patch I've included below - it stops the code
> changing the fixed MTRRs and instead prints out what it would have
> done. I'd be interested to see what this prints out.

Sure thing.  I've included a boot -v, in case it contains any clues.

Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 4.6-STABLE #4: Tue Jul  2 10:38:15 EDT 2002
    root@lion-around.at.yiff.net:/usr/obj/usr/src/sys/LION-AROUND
Calibrating clock(s) ... TSC clock: 1540370354 Hz, i8254 clock: 1189869 Hz
CLK_USE_I8254_CALIBRATION not specified - using default frequency
Timecounter "i8254"  frequency 1193182 Hz
CLK_USE_TSC_CALIBRATION not specified - using old calibration method
CPU: AMD Athlon(TM) XP1800+ (1544.67-MHz 686-class CPU)
  Origin = "AuthenticAMD"  Id = 0x662  Stepping = 2
  Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
  AMD Features=0xc0480000<<b19>,AMIE,DSP,3DNow!>
Data TLB: 32 entries, fully associative
Instruction TLB: 16 entries, fully associative
L1 data cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative
L1 instruction cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative
L2 internal cache: 256 kbytes, 64 bytes/line, 1 lines/tag, 8-way associative
real memory  = 536788992 (524208K bytes)
Physical memory chunk(s):
0x00001000 - 0x0009ffff, 651264 bytes (159 pages)
0x0042a000 - 0x1ffe3fff, 532389888 bytes (129978 pages)
avail memory = 518201344 (506056K bytes)
bios32: Found BIOS32 Service Directory header at 0xc00f1850
bios32: Entry = 0xf0f70 (c00f0f70)  Rev = 0  Len = 1
pcibios: PCI BIOS entry at 0x1170
pnpbios: Found PnP BIOS data at 0xc00fbf30
pnpbios: Entry = f0000:bf60  Rev = 1.0
pnpbios: OEM ID cd041
Other BIOS signatures found:
ACPI: 000f7930
Preloaded elf kernel "kernel" at 0xc0403000.
Preloaded elf module "agp.ko" at 0xc04030a8.
Pentium Pro MTRR support enabled
md0: Malloc disk
Creating DISK md0
Math emulator present
pci_open(1):	mode 1 addr port (0x0cf8) is 0x80010004
pci_open(1a):	mode1res=0x80000000 (0x80000000)
pci_cfgcheck:	device 0 [class=060000] [hdr=00] is there (id=164710b9)
Using $PIR table, 11 entries at 0xc00f1770
apm0: <APM BIOS> on motherboard
apm: found APM BIOS v1.2, connected at v1.2
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
found->	vendor=0x10b9, dev=0x1647, revid=0xb0
	class=06-00-00, hdrtype=0x00, mfdev=0
	subordinatebus=0 	secondarybus=0
	map[10]: type 1, range 32, base f0000000, size 27
found->	vendor=0x10b9, dev=0x5247, revid=0x00
	class=06-04-00, hdrtype=0x01, mfdev=0
	subordinatebus=1 	secondarybus=1
found->	vendor=0x10b9, dev=0x5237, revid=0x03
	class=0c-03-10, hdrtype=0x00, mfdev=0
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=9
	map[10]: type 1, range 32, base e9800000, size 12
found->	vendor=0x10b9, dev=0x5229, revid=0xc4
	class=01-01-fa, hdrtype=0x00, mfdev=0
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=255
	map[20]: type 1, range 32, base 0000b400, size  4
found->	vendor=0x10b9, dev=0x1533, revid=0x00
	class=06-01-00, hdrtype=0x00, mfdev=0
	subordinatebus=0 	secondarybus=0
found->	vendor=0x11c1, dev=0x5811, revid=0x04
	class=0c-00-10, hdrtype=0x00, mfdev=0
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=9
	map[10]: type 1, range 32, base e8000000, size 12
found->	vendor=0x109e, dev=0x036e, revid=0x02
	class=04-00-00, hdrtype=0x00, mfdev=1
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=5
	map[10]: type 1, range 32, base ed000000, size 12
found->	vendor=0x109e, dev=0x0878, revid=0x02
	class=04-80-00, hdrtype=0x00, mfdev=1
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=5
	map[10]: type 1, range 32, base ec800000, size 12
found->	vendor=0x9004, dev=0x5078, revid=0x03
	class=01-00-00, hdrtype=0x00, mfdev=0
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=10
	map[10]: type 1, range 32, base 0000a800, size  8
	map[14]: type 1, range 32, base e7800000, size 12
found->	vendor=0x11ad, dev=0xc115, revid=0x25
	class=02-00-00, hdrtype=0x00, mfdev=0
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=11
	map[10]: type 1, range 32, base 0000a400, size  8
	map[14]: type 1, range 32, base e7000000, size  8
found->	vendor=0x1274, dev=0x5880, revid=0x02
	class=04-01-00, hdrtype=0x00, mfdev=0
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=9
	map[10]: type 1, range 32, base 0000a000, size  6
found->	vendor=0x10b9, dev=0x7101, revid=0x00
	class=06-80-00, hdrtype=0x00, mfdev=0
	subordinatebus=0 	secondarybus=0
pci0: <PCI bus> on pcib0
agp0: <Ali Generic host to PCI bridge> mem 0xf0000000-0xf7ffffff at device 0.0 on pci0
agp0: allocating GATT for aperture of size 128M
pcib1: <AcerLabs M5247 PCI-PCI(AGP Supported) bridge> at device 1.0 on pci0
found->	vendor=0x121a, dev=0x0005, revid=0x01
	class=03-00-00, hdrtype=0x00, mfdev=0
	subordinatebus=0 	secondarybus=0
	intpin=a, irq=11
	map[10]: type 1, range 32, base ea000000, size 25
	map[14]: type 1, range 32, base ee000000, size 25
	map[18]: type 1, range 32, base 0000d800, size  8
pci1: <PCI bus> on pcib1
pci1: <3Dfx Voodoo 3 graphics accelerator> (vendor=0x121a, dev=0x0005) at 0.0 irq 11
ohci0: <AcerLabs M5237 (Aladdin-V) USB controller> mem 0xe9800000-0xe9800fff irq 9 at device 2.0 on pci0
usb0: OHCI version 1.0, legacy support
usb0: <AcerLabs M5237 (Aladdin-V) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: AcerLabs OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 4 ports with 4 removable, self powered
ulpt0: EPSON USB Printer, rev 1.00/1.00, addr 2, iclass 7/1
uhub1: Texas Instruments UT-USB41 hub, class 9/0, rev 1.00/1.00, addr 3
uhub1: 4 ports with 4 removable, self powered
ums0: Microsoft Microsoft IntelliMouse\M-. Explorer, rev 1.10/1.03, addr 4, iclass 3/1
ums0: 5 buttons and Z dir.
atapci0: <AcerLabs Aladdin ATA100 controller> port 0xb400-0xb40f at device 4.0 on pci0
ata0: iobase=0x01f0 altiobase=0x03f6 bmaddr=0xb400
ata0: mask=03 ostat0=50 ostat2=00
ata0-master: ATAPI 00 00
ata0-slave: ATAPI 00 00
ata0: mask=03 stat0=50 stat1=00
ata0-master: ATA 01 a5
ata0: devices=01
ata0: at 0x1f0 irq 14 on atapci0
ata1: iobase=0x0170 altiobase=0x0376 bmaddr=0xb408
ata1: mask=03 ostat0=50 ostat2=50
ata1-master: ATAPI 00 00
ata1-slave: ATAPI 00 00
ata1: mask=03 stat0=50 stat1=50
ata1-master: ATA 01 a5
ata1-slave: ATA 01 a5
ata1: devices=03
ata1: at 0x170 irq 15 on atapci0
isab0: <AcerLabs M1533 portable PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
pci0: <unknown card> (vendor=0x11c1, dev=0x5811) at 9.0 irq 9
bktr0: <BrookTree 878> mem 0xed000000-0xed000fff irq 5 at device 10.0 on pci0
iicbb0: <I2C bit-banging driver> on bti2c0
iicbus0: <Philips I2C bus> on iicbb0 master-only
iicbus: iic devclass not found
iicbus1: <Philips I2C bus> on iicbb0 master-only
iicbus: iic devclass not found
smbus0: <System Management Bus> on bti2c0
smb0: <SMBus general purpose I/O> on smbus0
brooktree0: PCI bus latency is 32.
bktr0: buffer size 3555328, addr 0x5000000
bktr0: GPIO is 0x00ffffdb
bktr0: subsystem 0x0070 0x13eb
bktr0: Hauppauge Model 61351 B226
bktr0: Detected a MSP3430G-A1 at 0x80
bktr0: Hauppauge WinCast/TV, Philips NTSC tuner, msp3400c stereo.
pci0: <unknown card> (vendor=0x109e, dev=0x0878) at 10.1 irq 5
ahc0: <Adaptec 2902/04/10/15/20/30C SCSI adapter> port 0xa800-0xa8ff mem 0xe7800000-0xe7800fff irq 10 at device 11.0 on pci0
ahc0: Reading SEEPROM...done.
ahc0: internal 50 cable is present
ahc0: external cable not present
ahc0: BIOS eeprom not present
ahc0: Low byte termination Enabled
ahc0: Downloading Sequencer Program... 447 instructions downloaded
aic7850: Single Channel A, SCSI Id=7, 3/253 SCBs
dc0: <LC82C115 PNIC II 10/100BaseTX> port 0xa400-0xa4ff mem 0xe7000000-0xe70000ff irq 11 at device 12.0 on pci0
dc0: Ethernet address: 00:a0:cc:e4:2e:27
miibus0: <MII bus> on dc0
dcphy0: <Intel 21143 NWAY media interface> on miibus0
dcphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
bpf: dc0 attached
pcm0: <Creative CT5880-C> port 0xa000-0xa03f irq 9 at device 13.0 on pci0
pcm0: ac97 codec id 0x83847608 (SigmaTel STAC9708/9711)
pcm0: ac97 codec features 18 bit DAC, 18 bit ADC, 5 bit master volume, SigmaTel 3D Enhancement
pcm0: ac97 primary codec extended features surround DAC
	using shared irq9.
pcm0: sndbuf_setmap 1f160000, 1000; 0xc21ec000 -> 1f160000
pcm0: sndbuf_setmap 1f162000, 1000; 0xc21ee000 -> 1f162000
alpm0: <AcerLabs M15x3 Power Management Unit> at device 17.0 on pci0
alsmb0: nohost/noslave 149K at 0x0
alpm0: driver is using old-style compatibility shims
smbus1: <System Management Bus> on alsmb0
smb1: <SMBus general purpose I/O> on smbus1
ata-: ata0 exists, using next available unit number
ata-: ata1 exists, using next available unit number
Trying Read_Port at 203
Trying Read_Port at 243
Trying Read_Port at 283
Trying Read_Port at 2c3
Trying Read_Port at 303
Trying Read_Port at 343
Trying Read_Port at 383
Trying Read_Port at 3c3
isa_probe_children: disabling PnP devices
isa_probe_children: probing non-PnP devices
orm0: <Option ROM> at iomem 0xc0000-0xc9fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
ata2 failed to probe at port 0x1f0 irq 14 on isa0
ata3 failed to probe at port 0x170 irq 15 on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
atkbd: the current kbd controller command byte 0045
atkbd: keyboard ID 0x41ab (2)
kbd0 at atkbd0
kbd0: atkbd0, AT 101/102 (2), config:0x1, flags:0x3d0000
psm0: current command byte:0045
psm0: failed to reset the aux device.
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
fb0: vga0, vga, type:VGA (5), flags:0x7007f
fb0: port:0x3c0-0x3df, crtc:0x3d4, mem:0xa0000 0x20000
fb0: init mode:24, bios mode:3, current mode:24
fb0: window:0xc00b8000 size:32k gran:32k, buf:0 size:32k
VGA parameters upon power-up
50 18 10 00 00 00 03 00 02 67 5f 4f 50 82 55 81 
bf 1f 00 4f 0d 0e 00 00 07 80 9c 8e 8f 28 1f 96 
b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 
3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff 
VGA parameters in BIOS for mode 24
50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 
bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 
b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 
3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff 
EGA/VGA parameters to be used for mode 24
50 18 10 00 10 00 03 00 02 67 5f 4f 50 82 55 81 
bf 1f 00 4f 0d 0e 00 00 00 00 9c 8e 8f 28 1f 96 
b9 a3 ff 00 01 02 03 04 05 14 07 38 39 3a 3b 3c 
3d 3e 3f 0c 00 0f 08 00 00 00 00 00 10 0e 00 ff 
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sc0: fb0, kbd0, terminal emulator: sc (syscons terminal)
sio0: irq maps: 0x241 0x251 0x241 0x241
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1: irq maps: 0x241 0x249 0x241 0x241
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: parallel port found at 0x378
ppc0: using extended I/O port range
ppc0: ECP SPP ECP+EPP SPP
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
plip0: <PLIP network interface> on ppbus0
bpf: lp0 attached
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
isa_probe_children: probing PnP devices
BIOS Geometries:
 0:03fffe3f 0..1023=1024 cylinders, 0..254=255 heads, 1..63=63 sectors
 1:03fffe3f 0..1023=1024 cylinders, 0..254=255 heads, 1..63=63 sectors
 2:03fffe3f 0..1023=1024 cylinders, 0..254=255 heads, 1..63=63 sectors
 0 accounted for
Device configuration finished.
bpf: lo0 attached
bpf: ppp0 attached
new masks: bio 68c240, tty 6302ba, net 670aba
bpf: sl0 attached
bpf: faith0 attached
ad0: success setting UDMA5 on Acer chip
Creating DISK ad0
ar: FreeBSD check1 failed
ad0: <Maxtor 5T060H6/TAH71DP0> ATA-6 disk at ata0-master
ad0: 58644MB (120103200 sectors), 119150 C, 16 H, 63 S, 512 B
ad0: 16 secs/int, 1 depth queue, UDMA100
ad0: piomode=4 dmamode=2 udmamode=5 cblid=1
ad2: success setting UDMA2 on Acer chip
Creating DISK ad2
ar: FreeBSD check1 failed
ad2: <Maxtor 91008D7/WAS82739> ATA-4 disk at ata1-master
ad2: 9617MB (19696320 sectors), 19540 C, 16 H, 63 S, 512 B
ad2: 16 secs/int, 1 depth queue, UDMA33
ad2: piomode=4 dmamode=2 udmamode=2 cblid=0
ad3: success setting UDMA5 on Acer chip
Creating DISK ad3
ar: FreeBSD check1 failed
ad3: <MAXTOR 6L060J3/A93.0500> ATA-5 disk at ata1-slave
ad3: 57259MB (117266688 sectors), 116336 C, 16 H, 63 S, 512 B
ad3: 16 secs/int, 1 depth queue, UDMA100
ad3: piomode=4 dmamode=2 udmamode=6 cblid=1
(noperiph:ahc0:0:-1:-1): SCSI bus reset delivered. 0 SCBs aborted.
(probe3:ahc0:0:3:0): INQUIRY. CDB: 12 1 80 0 ff 0 
(probe3:ahc0:0:3:0): ILLEGAL REQUEST asc:24,0
(probe3:ahc0:0:3:0): Invalid field in CDB
(ahc0:A:3:0): Sending SDTR period 19, offset f
(ahc0:A:3:0): Received SDTR period 19, offset f
	Filtered to period 19, offset f
ahc0: target 3 synchronous at 10.0MHz, offset = 0xf
(ahc0:A:3:0): Sending SDTR period 19, offset f
(ahc0:A:3:0): Received SDTR period 19, offset f
	Filtered to period 19, offset f
Creating DISK cd0
pass0 at ahc0 bus 0 target 3 lun 0
pass0: <YAMAHA CRW8424S 1.0j> Removable CD-ROM SCSI-2 device 
pass0: 10.000MB/s transfers (10.000MHz, offset 15)
Mounting root from ufs:/dev/ad0s1a
(ahc0:A:3:0): Sending SDTR period 19, offset f
(ahc0:A:3:0): Received SDTR period 19, offset f
	Filtered to period 19, offset f
ad0s1: type 0xa5, start 63, end = 120101939, size 120101877 : OK
start_init: trying /sbin/init
(ahc0:A:3:0): Sending SDTR period 19, offset f
(ahc0:A:3:0): Received SDTR period 19, offset f
	Filtered to period 19, offset f
ad3s1: type 0x7, start 63, end = 117258434, size 117258372 : OK
(ahc0:A:3:0): Sending SDTR period 19, offset f
(ahc0:A:3:0): Received SDTR period 19, offset f
	Filtered to period 19, offset f
(ahc0:A:3:0): Sending SDTR period 19, offset f
(ahc0:A:3:0): Received SDTR period 19, offset f
	Filtered to period 19, offset f
(ahc0:A:3:0): Sending SDTR period 19, offset f
(ahc0:A:3:0): Received SDTR period 19, offset f
	Filtered to period 19, offset f
(ahc0:A:3:0): Sending SDTR period 19, offset f
(ahc0:A:3:0): Received SDTR period 19, offset f
	Filtered to period 19, offset f
(ahc0:A:3:0): Sending SDTR period 19, offset f
(ahc0:A:3:0): Received SDTR period 19, offset f
	Filtered to period 19, offset f
(ahc0:A:3:0): Sending SDTR period 19, offset f
(ahc0:A:3:0): Received SDTR period 19, offset f
	Filtered to period 19, offset f
(ahc0:A:3:0): Sending SDTR period 19, offset f
(ahc0:A:3:0): Received SDTR period 19, offset f
	Filtered to period 19, offset f
(ahc0:A:3:0): Sending SDTR period 19, offset f
(ahc0:A:3:0): Received SDTR period 19, offset f
	Filtered to period 19, offset f
(ahc0:A:3:0): Sending SDTR period 19, offset f
(ahc0:A:3:0): Received SDTR period 19, offset f
	Filtered to period 19, offset f
(ahc0:A:3:0): Sending SDTR period 19, offset f
(ahc0:A:3:0): Received SDTR period 19, offset f
	Filtered to period 19, offset f
(ahc0:A:3:0): Sending SDTR period 19, offset f
(ahc0:A:3:0): Received SDTR period 19, offset f
	Filtered to period 19, offset f
cd0 at ahc0 bus 0 target 3 lun 0
cd0: <YAMAHA CRW8424S 1.0j> Removable CD-ROM SCSI-2 device 
cd0: 10.000MB/s transfers (10.000MHz, offset 15)
cd0: cd present [219878 x 2048 byte records]
IP packet filtering initialized, divert disabled, rule-based forwarding disabled, default to deny, logging disabled
umass0: SanDisk Corporation ImageMate CompactFlash USB, rev 1.10/0.09, addr 5
umass0: Get Max Lun not supported (STALLED)
umass0:1:0:-1: Attached to scbus1 as device 0
pass1 at umass-sim0 bus 0 target 0 lun 0
pass1: <SanDisk ImageMate II 1.30> Removable Direct Access SCSI-2 device 
pass1: 650KB/s transfers
Creating DISK da0
(da0:umass-sim0:0:0:0): READ CAPACITY. CDB: 25 0 0 0 0 0 0 0 0 0 
(da0:umass-sim0:0:0:0): NOT READY asc:3a,0
(da0:umass-sim0:0:0:0): Medium not present
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <SanDisk ImageMate II 1.30> Removable Direct Access SCSI-2 device 
da0: 650KB/s transfers
da0: Attempt to query device size failed: NOT READY, Medium not present
splash: image decoder found: daemon_saver
Linux ELF exec handler installed
drm0: <3dfx Voodoo3 3000> port 0xd800-0xd8ff mem 0xee000000-0xefffffff,0xea000000-0xebffffff irq 11 at device 0.0 on pci1
info: [drm] Initialized tdfx 1.0.0 20010216 on minor 0
netsmb_dev: loaded
/dev/vmmon: Module vmmon: registered with major=200 minor=0 tag=$Name: build-570 $
/dev/vmmon: Module vmmon: initialized
MSR 26e, old=1010101010101010 new=101010101010101
MSR 26f, old=1010101010101010 new=101010101010101

-- 
Christopher Masto

CB461C61 8AFC E3A8 7CE5 9023 B35D  C26A D849 1F6E CB46 1C61
Comment 10 msmith 2002-07-09 19:02:25 UTC
Yet again, all that needs be done is add the interpretation of the extra 
MTRR bits and some appropriate storage/conversion to the i686 MTRR 
driver.  Several people have verbally told me that this information is 
available; the work just has to be done.

 = Mike


> On Mon, Apr 08, 2002 at 03:17:06PM -0400, Christopher Masto wrote:
> > FYI: Just tried the unpatched kernel with the 1011 BIOS, and it still
> > panics.  I'll try the patches you posted later or tomorrow.
> 
> Ok, so for "tomorrow" substitute "in a few months".  Unfortunately I
> have to report that the code currently in -stable (i686_mem.c 1.8.2.2)
> does not solve the problem on my machine (Asus A7A133, Athlon XP1800+,
> 3dfx Voodoo 3).  The machine still locks up hard when I start X.
> 
> Commenting out the MTRR detection code, on the other hand, still
> works around this problem.
> 
> Just in case, I am going to try a new X server.  I still have
> XFree86-4.2.0_1 from February.  I don't know if there's any chance
> that it will help, but I'm kind of suprised that there aren't more
> reports of this issue with such a common hardware configuration
> triggering it.
> 
> I'm sorry for not testing those patches sooner - work got extremely
> busy, and I could not afford to take the chance of extended downtime
> on my workstation.
> -- 
> Christopher Masto
> 
> CB461C61 8AFC E3A8 7CE5 9023 B35D  C26A D849 1F6E CB46 1C61

-- 
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