From owner-freebsd-questions@FreeBSD.ORG Thu Apr 22 08:42:09 2004 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5672D16A4CE for ; Thu, 22 Apr 2004 08:42:09 -0700 (PDT) Received: from www.wcborstel.nl (node-c-0ab6.a2000.nl [62.194.10.182]) by mx1.FreeBSD.org (Postfix) with ESMTP id C8BA243D31 for ; Thu, 22 Apr 2004 08:42:05 -0700 (PDT) (envelope-from jorn@wcborstel.nl) Received: from frodo64bit (unknown [172.16.1.5]) by www.wcborstel.nl (Postfix) with ESMTP id C6CBF170DF for ; Thu, 22 Apr 2004 17:42:24 +0200 (CEST) From: "Jorn Argelo" To: Date: Thu, 22 Apr 2004 17:41:40 +0200 Message-ID: <000c01c42880$5168e3d0$050110ac@frodo64bit> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_000D_01C42891.14F1B3D0" X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.2616 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2739.300 Importance: Normal Subject: FW: Kernel debugging question X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Apr 2004 15:42:09 -0000 This is a multi-part message in MIME format. ------=_NextPart_000_000D_01C42891.14F1B3D0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Alright, I've added the below mentioned information (backtrace, register info and the chunk of source code) as an attachment(34KB) It also contains an ps -ax output, and some other kernel messages which might be of use. Thanks Greg, I look forward to your reply. Jorn P.S: I did notice your signature, but I thought about it the moment I pressed the send button. Sorry about that. I'll make sure everything will remain as it was. On Thursday, 22 April 2004 at 4:18:52 +0200, Gregg 'groggy' Lehey wrote: >[Format recovered--see http://www.lemis.com/email/email-format.html] >Quoted text wrapped incorrectly. >On Monday, 19 April 2004 at 14:46:57 +0200, Jorn Argelo wrote: >> On Monday, 19 April 2004 at 12:56:56 +0200, Jorn Argelo wrote: >>> [snip] >>>>>> #0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240 >>>>>> (kgdb) >>>> >>>>> You want at least a backtrace. >>>> >>>> How do I do that? I'm sorry, but I've never done a kernel debug or >>>> anything. >> >>> That's why I pointed you to the documentation explaining what to do: >> >> Sorry, I didn't see that in your previous mail. > >Looks like you didn't see this either: > >> When replying to this message, please copy the original recipients. >> If you don't, I may ignore the reply or reply to the original recipients. >> For more information, see http://www.lemis.com/questions.html > >> I must say your documentation looks very well, though it goes far >> above my level. (Wouldn't be too healthy for a 17 year old kid to >> do some kernel debugging already, no?) > >Younger people have done it. Our record for the youngest committer is >something like 14. > >> I currently have a backtrace, a chunk of source code which probably >> causes the panic, and some register output. I haven't read all 99 >> pages of your documentation, but hopefully it'll be enough. Send me >> a mail when you have time, and I'll mail you the contents. (The >> source code is quite long, so posting everything in a single mail is >> not a good idea). I can drop a mail at the current folks as well, if >> you prefer that. >Put it on the -questions list for now. It could be instructive. >Greg >-- >When replying to this message, please take care not to mutilate the >original text. >For more information, see http://www.lemis.com/email.html >Note: I discard all HTML mail unseen. >Finger grog@FreeBSD.org for PGP public key. >See complete headers for address and phone numbers. ------=_NextPart_000_000D_01C42891.14F1B3D0 Content-Type: text/plain; name="kernel debug.txt" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="kernel debug.txt" [root@smeagol] ~/dump# gdb -k /boot/kernel/kernel.debug = /usr/home/jorn/dump/vmcore.0 GNU gdb 5.2.1 (FreeBSD) Copyright 2002 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"... panic: page fault panic messages: --- Fatal trap 12: page fault while in kernel mode fault virtual address =3D 0x0 fault code =3D supervisor write, page not present instruction pointer =3D 0x8:0xcdcb7bef stack pointer =3D 0x10:0xcdcb7bec frame pointer =3D 0x10:0xcdcb7c04 code segment =3D base 0x0, limit 0xfffff, type 0x1b =3D DPL 0, pres 1, def32 1, gran 1 processor eflags =3D resume, IOPL =3D 0 current process =3D 11 (idle) trap number =3D 12 panic: page fault syncing disks, buffers remaining... 2107 2107 2107 2107 2107 2107 2107 = 2107 2107 2107 2107 2107 2107 2107 2107 2107 2107 2107 2107 2107 giving up on 1594 buffers Uptime: 4h26m37s Dumping 255 MB 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 --- warning: cannot find file for module nvidia.ko Error while mapping shared library sections: nvidia.ko: No such file or directory. Error while reading shared library symbols: nvidia.ko: No such file or directory. Reading symbols from = /usr/obj/usr/src/sys/smeagol/modules/usr/src/sys/modules/linux/linux.ko.d= ebug...done. Loaded symbols for = /usr/obj/usr/src/sys/smeagol/modules/usr/src/sys/modules/linux/linux.ko.d= ebug Reading symbols from = /usr/obj/usr/src/sys/smeagol/modules/usr/src/sys/modules/acpi/acpi.ko.deb= ug...done. Loaded symbols for = /usr/obj/usr/src/sys/smeagol/modules/usr/src/sys/modules/acpi/acpi.ko.deb= ug Reading symbols from = /usr/obj/usr/src/sys/smeagol/modules/usr/src/sys/modules/smbfs/smbfs.ko.d= ebug...done. Loaded symbols for = /usr/obj/usr/src/sys/smeagol/modules/usr/src/sys/modules/smbfs/smbfs.ko.d= ebug Reading symbols from = /usr/obj/usr/src/sys/smeagol/modules/usr/src/sys/modules/libiconv/libicon= v.ko.debug...done. Loaded symbols for = /usr/obj/usr/src/sys/smeagol/modules/usr/src/sys/modules/libiconv/libicon= v.ko.debug Reading symbols from = /usr/obj/usr/src/sys/smeagol/modules/usr/src/sys/modules/li---Type = to continue, or q to quit--- bmchain/libmchain.ko.debug...done. Loaded symbols for = /usr/obj/usr/src/sys/smeagol/modules/usr/src/sys/modules/libmchain/libmch= ain.ko.debug #0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240 240 dumping++; (kgdb) bt #0 doadump () at /usr/src/sys/kern/kern_shutdown.c:240 #1 0xc0520da2 in boot (howto=3D256) at = /usr/src/sys/kern/kern_shutdown.c:372 #2 0xc05210d7 in panic () at /usr/src/sys/kern/kern_shutdown.c:550 #3 0xc0647866 in trap_fatal (frame=3D0xcdcb7bac, eva=3D0) at /usr/src/sys/i386/i386/trap.c:821 #4 0xc0646f13 in trap (frame=3D {tf_fs =3D -1066532840, tf_es =3D 16, tf_ds =3D -1066991600, = tf_edi =3D -1049879296, tf_esi =3D 1, tf_ebp =3D -842302460, tf_isp =3D = -842302504, tf_ebx =3D -842302241, tf_edx =3D -1066500160, tf_ecx =3D = -1049858920, tf_eax =3D 0, tf_trapno =3D 12, tf_err =3D 2, tf_eip =3D = -842302481, tf_cs =3D 8, tf_eflags =3D 67714, tf_esp =3D -1049902208, = tf_ss =3D 0}) at /usr/src/sys/i386/i386/trap.c:250 #5 0xc0638f48 in calltrap () at {standard input}:94 #6 0xc064a209 in clkintr (frame=3D0xcdcb7cdf) at /usr/src/sys/i386/isa/clock.c:193 #7 0xc063d078 in intr_execute_handlers (isrc=3D0xc06d9fe0, = iframe=3D0x1) at /usr/src/sys/i386/i386/intr_machdep.c:192 #8 0xc0649d1f in atpic_handle_intr (iframe=3D {if_vec =3D 0, if_fs =3D 24, if_es =3D 16, if_ds =3D -1026949104, = if_edi =3D -1026910720, if_esi =3D -1026910696, if_ebp =3D -842302280, = if_ebx =3D -1049871268, if_edx =3D 0, if_ecx =3D -1026910048, if_eax =3D = 1, if_eip =3D -1063719291, if_cs =3D 8, if_eflags =3D 582, if_esp =3D = -842302232, if_ss =3D -1063719867}) at /usr/src/sys/i386/isa/atpic.c:368 #9 0xc0649e7e in Xatpic_intr0 () at {standard input}:32 #10 0xc098ec45 in acpi_cpu_idle () at = /usr/src/sys/dev/acpica/acpi_cpu.c:830 #11 0xc063f3af in cpu_idle () at /usr/src/sys/i386/i386/machdep.c:1074 #12 0xc050da48 in idle_proc (dummy=3D0x0) at = /usr/src/sys/kern/kern_idle.c:86 #13 0xc050d7ee in fork_exit (callout=3D0xc050da30 , = arg=3D0x0, frame=3D0x0) at /usr/src/sys/kern/kern_fork.c:793 (kgdb) l 235 static void 236 doadump(void) 237 { 238 239 savectx(&dumppcb); 240 dumping++; 241 dumpsys(&dumper); 242 } 243 244 /* 245 * Go through the rigmarole of shutting down.. 246 * this used to be in machdep.c but I'll be dammned if I could = see 247 * anything machine dependant in it. 248 */ 249 static void 250 boot(int howto) 251 { 252 253 /* collect extra flags that shutdown_nice might have set = */ 254 howto |=3D shutdown_howto; 255 256 #ifdef DDB 257 /* We are out of the debugger now. */ 258 db_active =3D 0; 259 #endif 260 261 #ifdef SMP 262 if (smp_active) 263 printf("boot() called on cpu#%d\n", = PCPU_GET(cpuid)); 265 /* 266 * Do any callouts that should be done BEFORE syncing = the filesystems. 267 */ 268 EVENTHANDLER_INVOKE(shutdown_pre_sync, howto); 269 270 /* 271 * Now sync filesystems 272 */ 273 if (!cold && (howto & RB_NOSYNC) =3D=3D 0 && waittime < = 0) { 274 register struct buf *bp; 275 int iter, nbusy, pbusy; 276 int subiter; 277 278 waittime =3D 0; 279 printf("\nsyncing disks, buffers remaining... = "); 280 281 sync(&thread0, NULL); 282 283 /* 284 * With soft updates, some buffers that are 285 * written will be remarked as dirty until other 286 * buffers are written. 287 */ 288 for (iter =3D pbusy =3D 0; iter < 20; iter++) { 289 nbusy =3D 0; 290 for (bp =3D &buf[nbuf]; --bp >=3D buf; ) = { 291 if ((bp->b_flags & B_INVAL) = =3D=3D 0 && 292 BUF_REFCNT(bp) > 0) { 293 nbusy++; 294 } else if ((bp->b_flags & = (B_DELWRI | B_INVAL)) 295 =3D=3D B_DELWRI) = { 296 /* bawrite(bp);*/ 297 nbusy++; 298 } 299 } 300 if (nbusy =3D=3D 0) 301 break; 302 printf("%d ", nbusy); 303 if (nbusy < pbusy) 304 iter =3D 0; 305 pbusy =3D nbusy; 306 sync(&thread0, NULL); 307 if (curthread !=3D NULL) { 308 DROP_GIANT(); 309 for (subiter =3D 0; subiter < 50 = * iter; subiter++) { 310 = mtx_lock_spin(&sched_lock); 311 = curthread->td_proc->p_stats->p_ru.ru_nvcsw++; 312 mi_switch(); /* Allow = interrupt threads to run */ 313 = mtx_unlock_spin(&sched_lock); 314 DELAY(1000); 315 } 316 PICKUP_GIANT(); 317 } else 318 DELAY(50000 * iter); 319 } 320 printf("\n"); 321 /* 322 * Count only busy local buffers to prevent = forcing 323 * a fsck if we're just a client of a wedged NFS = server 324 */ 325 nbusy =3D 0; 326 for (bp =3D &buf[nbuf]; --bp >=3D buf; ) { 327 if (((bp->b_flags&B_INVAL) =3D=3D 0 && = BUF_REFCNT(bp)) || 328 ((bp->b_flags & (B_DELWRI|B_INVAL)) = =3D=3D B_DELWRI)) { 329 if (bp->b_dev =3D=3D NODEV) { 330 TAILQ_REMOVE(&mountlist, 331 bp->b_vp->v_mount, = mnt_list); 332 continue; 333 } 334 nbusy++; 335 #if defined(SHOW_BUSYBUFS) || defined(DIAGNOSTIC) 336 printf( 337 "%d: dev:%s, flags:%0x, blkno:%ld, = lblkno:%ld\n", 338 nbusy, devtoname(bp->b_dev), 339 bp->b_flags, = (long)bp->b_blkno, 340 (long)bp->b_lblkno); 341 #endif 342 } 343 } 344 if (nbusy) { 345 /* 346 * Failed to sync all blocks. Indicate = this and don't 347 * unmount filesystems (thus forcing an = fsck on reboot). 348 */ 349 printf("giving up on %d buffers\n", = nbusy); 350 DELAY(5000000); /* 5 seconds */ 351 } else { 352 printf("done\n"); 353 /* 354 * Unmount filesystems 355 */ 356 if (panicstr =3D=3D 0) 357 vfs_unmountall(); 358 } 359 DELAY(100000); /* wait for console = output to finish */ 360 } 361 362 print_uptime(); 363 364 /* 365 * Ok, now do things that assume all filesystem activity = has 366 * been completed. 367 */ 368 EVENTHANDLER_INVOKE(shutdown_post_sync, howto); 369 splhigh(); 370 if ((howto & (RB_HALT|RB_DUMP)) =3D=3D RB_DUMP && 371 !cold && dumper.dumper !=3D NULL && !dumping) 372 doadump(); 373 374 /* Now that we're going to really halt the system... */ 375 EVENTHANDLER_INVOKE(shutdown_final, howto); 376 377 for(;;) ; /* safety against shutdown_reset not = working */ 378 /* NOTREACHED */ 379 } 380 381 /* 382 * If the shutdown was a clean halt, behave accordingly. 383 */ 384 static void 385 shutdown_halt(void *junk, int howto) 386 { 387 388 if (howto & RB_HALT) { 389 printf("\n"); 390 printf("The operating system has halted.\n"); 391 printf("Please press any key to reboot.\n\n"); 392 switch (cngetc()) { 393 case -1: /* No console, just die = */ 394 cpu_halt(); 395 /* NOTREACHED */ 396 default: 397 howto &=3D ~RB_HALT; 398 break; 399 } 400 } 401 } 402 403 /* 404 * Check to see if the system paniced, pause and then reboot 405 * according to the specified delay. 406 */ 407 static void 408 shutdown_panic(void *junk, int howto) 409 { 410 int loop; 411 412 if (howto & RB_DUMP) { 413 if (PANIC_REBOOT_WAIT_TIME !=3D 0) { 414 if (PANIC_REBOOT_WAIT_TIME !=3D -1) { 415 printf("Automatic reboot in %d = seconds - " 416 "press a key on the = console to abort\n", 417 PANIC_REBOOT_WAIT_TIME); 418 for (loop =3D = PANIC_REBOOT_WAIT_TIME * 10; 419 loop > 0; --loop) { 420 DELAY(1000 * 100); /* = 1/10th second */ 421 /* Did user type a key? = */ 422 if (cncheckc() !=3D -1) 423 break; 424 } 425 if (!loop) 426 return; 427 } 428 } else { /* zero time specified - reboot NOW */ 429 return; 430 } 431 printf("--> Press a key on the console to = reboot,\n"); 432 printf("--> or switch off the system now.\n"); 433 cngetc(); 434 } 435 } 436 437 /* 438 * Everything done, now reset 439 */ 440 static void 441 shutdown_reset(void *junk, int howto) 442 { 443 444 printf("Rebooting...\n"); 445 DELAY(1000000); /* wait 1 sec for printf's to complete = and be read */ 446 /* cpu_boot(howto); */ /* doesn't do anything at the = moment */ 447 cpu_reset(); 448 /* NOTREACHED */ /* assuming reset worked */ 449 } 450 451 /* 452 * Print a backtrace if we can. 453 */ 454 455 void 456 backtrace(void) 457 { 458 459 #ifdef DDB 460 printf("Stack backtrace:\n"); 461 db_print_backtrace(); 462 #else 463 printf("Sorry, need DDB option to print backtrace"); 464 #endif 465 } 466 467 #ifdef SMP 468 static u_int panic_cpu =3D NOCPU; 469 #endif 470 471 /* 472 * Panic is called on unresolvable fatal errors. It prints = "panic: mesg", 473 * and then reboots. If we are called twice, then we avoid = trying to sync 474 * the disks as this often leads to recursive panics. 475 * 476 * MPSAFE 477 */ 478 void 479 panic(const char *fmt, ...) 480 { 481 struct thread *td =3D curthread; 482 int bootopt, newpanic; 483 va_list ap; 484 static char buf[256]; 485 486 #ifdef SMP 487 /* 488 * We don't want multiple CPU's to panic at the same = time, so we 489 * use panic_cpu as a simple spinlock. We have to keep = checking 490 * panic_cpu if we are spinning in case the panic on the = first 491 * CPU is canceled. 492 */ 493 if (panic_cpu !=3D PCPU_GET(cpuid)) 494 while (atomic_cmpset_int(&panic_cpu, NOCPU, 495 PCPU_GET(cpuid)) =3D=3D 0) 496 while (panic_cpu !=3D NOCPU) 497 ; /* nothing */ 498 #endif 499 500 bootopt =3D RB_AUTOBOOT | RB_DUMP; 501 newpanic =3D 0; 502 if (panicstr) 503 bootopt |=3D RB_NOSYNC; 504 else { 505 panicstr =3D fmt; 506 newpanic =3D 1; 507 } 508 509 va_start(ap, fmt); 510 if (newpanic) { 511 (void)vsnprintf(buf, sizeof(buf), fmt, ap); 512 panicstr =3D buf; 513 printf("panic: %s\n", buf); 514 } else { 515 printf("panic: "); 516 vprintf(fmt, ap); 517 printf("\n"); 518 } 519 va_end(ap); 520 #ifdef SMP 521 /* two separate prints in case of an unmapped page and = trap */ 522 printf("cpuid =3D %d; ", PCPU_GET(cpuid)); 523 #ifdef APIC_IO 524 printf("lapic.id =3D %08x\n", lapic.id); 525 #else 526 printf("\n"); 527 #endif 528 #endif 529 530 #if defined(DDB) 531 if (newpanic && trace_on_panic) 532 backtrace(); 533 if (debugger_on_panic) 534 Debugger ("panic"); 535 #ifdef RESTARTABLE_PANICS 536 /* See if the user aborted the panic, in which case we = continue. */ 537 if (panicstr =3D=3D NULL) { 538 #ifdef SMP 539 atomic_store_rel_int(&panic_cpu, NOCPU); 540 #endif 541 return; 542 } 543 #endif 544 #endif 545 mtx_lock_spin(&sched_lock); 546 td->td_flags |=3D TDF_INPANIC; 547 mtx_unlock_spin(&sched_lock); 548 if (!sync_on_panic) 549 bootopt |=3D RB_NOSYNC; 550 boot(bootopt); 551 } 552 553 /* 554 * Support for poweroff delay. 555 */ 556 #ifndef POWEROFF_DELAY 557 # define POWEROFF_DELAY 5000 558 #endif 559 static int poweroff_delay =3D POWEROFF_DELAY; 560 561 SYSCTL_INT(_kern_shutdown, OID_AUTO, poweroff_delay, CTLFLAG_RW, 562 &poweroff_delay, 0, ""); 563 564 static void 565 poweroff_wait(void *junk, int howto) 566 { 567 568 if (!(howto & RB_POWEROFF) || poweroff_delay <=3D 0) 569 return; 570 DELAY(poweroff_delay * 1000); 571 } 572 573 /* 574 * Some system processes (e.g. syncer) need to be stopped at = appropriate 575 * points in their main loops prior to a system shutdown, so = that they 576 * won't interfere with the shutdown process (e.g. by holding a = disk buf 577 * to cause sync to fail). For each of these system processes, = register 578 * shutdown_kproc() as a handler for one of shutdown events. 579 */ 580 static int kproc_shutdown_wait =3D 60; 581 SYSCTL_INT(_kern_shutdown, OID_AUTO, kproc_shutdown_wait, = CTLFLAG_RW, 582 &kproc_shutdown_wait, 0, ""); 583 584 void 585 kproc_shutdown(void *arg, int howto) 586 { 587 struct proc *p; 588 int error; 589 590 if (panicstr) 591 return; 592 593 p =3D (struct proc *)arg; 594 printf("Waiting (max %d seconds) for system process `%s' = to stop...", 595 kproc_shutdown_wait, p->p_comm); 596 error =3D kthread_suspend(p, kproc_shutdown_wait * hz); 597 598 if (error =3D=3D EWOULDBLOCK) 599 printf("timed out\n"); 600 else 601 printf("stopped\n"); 602 } 603 604 /* Registration of dumpers */ 605 int 606 set_dumper(struct dumperinfo *di) 607 { 608 609 if (di =3D=3D NULL) { 610 bzero(&dumper, sizeof dumper); 611 return (0); 612 } 613 if (dumper.dumper !=3D NULL) 614 return (EBUSY); 615 dumper =3D *di; 616 return (0); 617 } 618 619 #if defined(__powerpc__) 620 void 621 dumpsys(struct dumperinfo *di __unused) 622 { 623 624 printf("Kernel dumps not implemented on this = architecture\n"); 625 } 626 #endif (kgdb) Line number 627 out of range; /usr/src/sys/kern/kern_shutdown.c has 626 = lines. (kgdb) i reg eax 0x0 0 ecx 0x0 0 edx 0x0 0 ebx 0xcdcb7cdf -842302241 esp 0xcdcb7ab4 0xcdcb7ab4 ebp 0xcdcb7c48 0xcdcb7c48 esi 0x1 1 edi 0xc16c1d00 -1049879296 eip 0xc063d078 0xc063d078 eflags 0x0 0 cs 0x0 0 ss 0x0 0 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x2f 47 fctrl 0x0 0 fstat 0x0 0 ftag 0x0 0 fiseg 0x0 0 fioff 0x0 0 foseg 0x0 0 fooff 0x0 0 fop 0x0 0 (kgdb)q [root@smeagol] ~/dump# cat /var/log/messages.0 Apr 21 18:25:53 sauron kernel: Copyright (c) 1992-2004 The FreeBSD = Project. Apr 21 18:25:53 sauron kernel: Copyright (c) 1979, 1980, 1983, 1986, = 1988, 1989, 1991, 1992, 1993, 1994 Apr 21 18:25:53 sauron kernel: The Regents of the University of = California. All rights reserved. Apr 21 18:25:53 sauron kernel: FreeBSD 5.2.1-RELEASE-p4 #5: Sun Apr 18 = 22:22:49 CEST 2004 Apr 21 18:25:53 sauron kernel: = root@smeagol.middle-earth.org:/usr/obj/usr/src/sys/smeagol Apr 21 18:25:53 sauron kernel: Preloaded elf kernel = "/boot/kernel/kernel" at 0xc09af000. Apr 21 18:25:53 sauron kernel: Preloaded elf module = "/boot/modules/nvidia.ko" at 0xc09af26c. Apr 21 18:25:53 sauron kernel: Preloaded elf module = "/boot/kernel/linux.ko" at 0xc09af318. Apr 21 18:25:53 sauron kernel: Preloaded elf module = "/boot/kernel/acpi.ko" at 0xc09af3c4. Apr 21 18:25:53 sauron kernel: Timecounter "i8254" frequency 1193182 Hz = quality 0 Apr 21 18:25:53 sauron kernel: CPU: Intel(R) Celeron(R) CPU 2.40GHz = (2880.83-MHz 686-class CPU) Apr 21 18:25:53 sauron kernel: Origin =3D "GenuineIntel" Id =3D 0xf29 = Stepping =3D 9 Apr 21 18:25:53 sauron kernel: = Features=3D0xbfebfbff Apr 21 18:25:53 sauron kernel: real memory =3D 268353536 (255 MB) Apr 21 18:25:53 sauron kernel: avail memory =3D 251023360 (239 MB) Apr 21 18:25:53 sauron kernel: Pentium Pro MTRR support enabled Apr 21 18:25:53 sauron kernel: npx0: [FAST] Apr 21 18:25:53 sauron kernel: npx0: on motherboard Apr 21 18:25:53 sauron kernel: npx0: INT 16 interface Apr 21 18:25:53 sauron kernel: acpi0: on motherboard Apr 21 18:25:53 sauron kernel: pcibios: BIOS version 2.10 Apr 21 18:25:53 sauron kernel: Using $PIR table, 10 entries at = 0xc00f2420 Apr 21 18:25:53 sauron kernel: acpi0: Power Button (fixed) Apr 21 18:25:53 sauron kernel: Timecounter "ACPI-fast" frequency 3579545 = Hz quality 1000 Apr 21 18:25:53 sauron kernel: acpi_timer0: <24-bit timer at = 3.579545MHz> port 0xe408-0xe40b on acpi0 Apr 21 18:25:53 sauron kernel: acpi_cpu0: port 0x530-0x537 on = acpi0 Apr 21 18:25:53 sauron kernel: acpi_cpu1: port 0x530-0x537 on = acpi0 Apr 21 18:25:53 sauron kernel: device_probe_and_attach: acpi_cpu1 attach = returned 6 Apr 21 18:25:53 sauron kernel: acpi_button0: on acpi0 Apr 21 18:25:53 sauron kernel: pcib0: port = 0xcf8-0xcff on acpi0 Apr 21 18:25:53 sauron kernel: pci0: on pcib0 Apr 21 18:25:53 sauron kernel: pcib0: slot 29 INTA is routed to irq 11 Apr 21 18:25:53 sauron kernel: pcib0: slot 29 INTB is routed to irq 4 Apr 21 18:25:53 sauron kernel: pcib0: slot 29 INTC is routed to irq 10 Apr 21 18:25:53 sauron kernel: pcib0: slot 29 INTD is routed to irq 9 Apr 21 18:25:53 sauron kernel: pcib0: slot 31 INTA is routed to irq 10 Apr 21 18:25:53 sauron kernel: agp0: = mem 0xf8000000-0xfbffffff at device 0.0 on pci0 Apr 21 18:25:53 sauron kernel: pcib1: at device = 1.0 on pci0 Apr 21 18:25:53 sauron kernel: pci1: on pcib1 Apr 21 18:25:53 sauron kernel: pcib1: slot 0 INTA is routed to irq 11 Apr 21 18:25:53 sauron kernel: nvidia0: mem = 0xef800000-0xef87ffff,0xf0000000-0xf7ffffff,0xee000000-0xeeffffff irq 11 = at device 0.0 on pci1 Apr 21 18:25:53 sauron kernel: uhci0: port 0xd800-0xd81f irq 11 at device 29.0 on pci0 Apr 21 18:25:53 sauron kernel: usb0: on uhci0 Apr 21 18:25:53 sauron kernel: usb0: USB revision 1.0 Apr 21 18:25:53 sauron kernel: uhub0: Intel UHCI root hub, class 9/0, = rev 1.00/1.00, addr 1 Apr 21 18:25:53 sauron kernel: uhub0: 2 ports with 2 removable, self = powered Apr 21 18:25:53 sauron kernel: uhci1: port 0xd400-0xd41f irq 4 at device 29.1 on pci0 Apr 21 18:25:53 sauron kernel: usb1: on uhci1 Apr 21 18:25:53 sauron kernel: usb1: USB revision 1.0 Apr 21 18:25:53 sauron kernel: uhub1: Intel UHCI root hub, class 9/0, = rev 1.00/1.00, addr 1 Apr 21 18:25:53 sauron kernel: uhub1: 2 ports with 2 removable, self = powered Apr 21 18:25:53 sauron kernel: uhci2: port 0xd000-0xd01f irq 10 at device 29.2 on pci0 Apr 21 18:25:53 sauron kernel: usb2: on uhci2 Apr 21 18:25:53 sauron kernel: usb2: USB revision 1.0 Apr 21 18:25:53 sauron kernel: uhub2: Intel UHCI root hub, class 9/0, = rev 1.00/1.00, addr 1 Apr 21 18:25:53 sauron kernel: uhub2: 2 ports with 2 removable, self = powered Apr 21 18:25:53 sauron kernel: pci0: at device 29.7 = (no driver attached) Apr 21 18:25:53 sauron kernel: pcib2: at device = 30.0 on pci0 Apr 21 18:25:53 sauron kernel: pci2: on pcib2 Apr 21 18:25:53 sauron kernel: pcib2: slot 3 INTA is routed to irq 5 Apr 21 18:25:53 sauron kernel: pcib2: slot 12 INTA is routed to irq 3 Apr 21 18:25:53 sauron kernel: pcib2: slot 14 INTA is routed to irq 10 Apr 21 18:25:53 sauron kernel: pcm0: port 0xb800-0xb8ff = irq 5 at device 3.0 on pci2 Apr 21 18:25:53 sauron kernel: pci2: at device = 12.0 (no driver attached) Apr 21 18:25:53 sauron kernel: rl0: port = 0xb400-0xb4ff mem 0xec000000-0xec0000ff irq 10 at device 14.0 on pci2 Apr 21 18:25:53 sauron kernel: rl0: Ethernet address: 00:50:fc:87:e9:38 Apr 21 18:25:53 sauron kernel: miibus0: on rl0 Apr 21 18:25:53 sauron kernel: rlphy0: on miibus0 Apr 21 18:25:53 sauron kernel: rlphy0: 10baseT, 10baseT-FDX, 100baseTX, = 100baseTX-FDX, auto Apr 21 18:25:53 sauron kernel: isab0: at device 31.0 on = pci0 Apr 21 18:25:53 sauron kernel: isa0: on isab0 Apr 21 18:25:53 sauron kernel: atapci0: = port 0xf000-0xf00f,0-0x3,0-0x7,0-0x3,0-0x7 irq 10 at device 31.1 on pci0 Apr 21 18:25:53 sauron kernel: ata0: at 0x1f0 irq 14 on atapci0 Apr 21 18:25:53 sauron kernel: ata0: [MPSAFE] Apr 21 18:25:53 sauron kernel: ata1: at 0x170 irq 15 on atapci0 Apr 21 18:25:53 sauron kernel: ata1: [MPSAFE] Apr 21 18:25:53 sauron kernel: ppc0 port 0x778-0x77b,0x378-0x37f irq 7 = drq 1 on acpi0 Apr 21 18:25:53 sauron kernel: ppc0: SMC-like chipset = (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode Apr 21 18:25:53 sauron kernel: ppc0: FIFO with 16/16/16 bytes threshold Apr 21 18:25:53 sauron kernel: ppbus0: on ppc0 Apr 21 18:25:53 sauron kernel: lpt0: on ppbus0 Apr 21 18:25:53 sauron kernel: lpt0: Interrupt-driven port Apr 21 18:25:53 sauron kernel: ppi0: on ppbus0 Apr 21 18:25:53 sauron kernel: atkbdc0: = port 0x64,0x60 irq 1 on acpi0 Apr 21 18:25:53 sauron kernel: atkbd0: flags 0x1 irq 1 on = atkbdc0 Apr 21 18:25:53 sauron kernel: kbd0 at atkbd0 Apr 21 18:25:53 sauron kernel: psm0: irq 12 on atkbdc0 Apr 21 18:25:53 sauron kernel: psm0: model IntelliMouse, device ID 3 Apr 21 18:25:53 sauron kernel: acpi_cpu1: port 0x530-0x537 on = acpi0 Apr 21 18:25:53 sauron kernel: device_probe_and_attach: acpi_cpu1 attach = returned 6 Apr 21 18:25:53 sauron kernel: orm0: