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.
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?
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
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
> 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.
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
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.
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
> 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; } }
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
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