From owner-freebsd-bugs@FreeBSD.ORG Thu Nov 13 10:50:31 2003 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2EBF416A4CE for ; Thu, 13 Nov 2003 10:50:31 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3A88D43FB1 for ; Thu, 13 Nov 2003 10:50:26 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id hADIoQFY046890 for ; Thu, 13 Nov 2003 10:50:26 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id hADIoQaS046889; Thu, 13 Nov 2003 10:50:26 -0800 (PST) (envelope-from gnats) Resent-Date: Thu, 13 Nov 2003 10:50:26 -0800 (PST) Resent-Message-Id: <200311131850.hADIoQaS046889@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Daniel Lang Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6EF3016A4D0 for ; Thu, 13 Nov 2003 10:45:11 -0800 (PST) Received: from mailout.informatik.tu-muenchen.de (mailout.informatik.tu-muenchen.de [131.159.0.5]) by mx1.FreeBSD.org (Postfix) with ESMTP id D2BF143F3F for ; Thu, 13 Nov 2003 10:45:06 -0800 (PST) (envelope-from langd@informatik.tu-muenchen.de) Message-Id: <20031113184417.EF5EF13881@atrbg11.informatik.tu-muenchen.de> Date: Thu, 13 Nov 2003 19:44:17 +0100 (CET) From: Daniel Lang To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: kern/59260: Panic by integer divide fault in Thinkpad A31p / IRQ Problem? X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Daniel Lang List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 13 Nov 2003 18:50:31 -0000 >Number: 59260 >Category: kern >Synopsis: Panic by integer divide fault in Thinkpad A31p / IRQ Problem? >Confidential: no >Severity: critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Nov 13 10:50:25 PST 2003 >Closed-Date: >Last-Modified: >Originator: Daniel Lang >Release: FreeBSD 5.1-CURRENT i386 >Organization: TU Muenchen >Environment: FreeBSD 5.1-CURRENT #7: Thu Nov 13 15:11:36 CET 2003 root@laprbg8.informatik.tu-muenchen.de:/usr/obj/usr/src/sys/BATLETH See below for more details. System: FreeBSD 5.1-CURRENT #7: Thu Nov 13 15:11:36 CET 2003 root@laprbg8.informatik.tu-muenchen.de:/usr/obj/usr/src/sys/BATLETH >Description: Introduction: ============= The machine (IBM Thinkpad A31p) panics with an integer divide fault. One way how to reproduce the problem is, to leave the PCI BIOS configuration default and try to configure a NIC (e.g. fxp0). The problem itself does not seem to be related to the NIC, but more to interrupt routing and sharing, as the problem can be modified by assigning different IRQ numbers to the INT# pins. E.g. it is possible to use NICs by setting INTA to irq 9, while leaving all others at irq 11, but starting an Xserver will likely cause the panic again. Also messages: calcru: negative time are then likely to appear. After filing initial PR kern/58139, I got some feedback from M.Warner Losh and John Baldwin that led to more specific results. The now obsolete PR kern/58139 may be closed and this PR is the one to work with. Oddness of hardware: ==================== Some things about the hardware appear especially odd, compared to other machines I have seen so far: In the BIOS it is possible to configure _8_ PCI INT-pins: INTA - INTH, instead of 4 (INTA - INTD). FreeBSD does not seem to be able to use the extra 4 INT#. Bootmessages only show interrupt routing and configuration for INTA - INTD. However, to disable INTE - INTH will cause the notebook to be unable to boot. It does not even try to access any boot-device, the BIOS declares that devices cannot be configured and booting is not possible. Into the guts - Annotated Crash Dump Analysis: ============================================== I've scripted a kgdb analysis session of the crash dump, resulting from such a panic. I've added remarks, indicated by a ">>>>>>" at the beginning of the line. These describe how I got to the point where I am stuck now. Thanks to , I could track down the exact code, where the faulting instruction is located. Alas, it does not seem to be a simple bug. Script started on Thu Nov 13 17:44:50 2003 laprbg8# laprbg8# gdb -k kernel.debug vmcore.10 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-undermydesk-freebsd"... panic: integer divide fault panic messages: --- Fatal trap 18: integer divide fault while in kernel mode instruction pointer = 0x8:0xc04e3008 stack pointer = 0x10:0xd77c0cb8 frame pointer = 0x10:0xd77c0cb8 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, IOPL = 0 current process = 22 (irq11: cbb0 cbb1+++) trap number = 18 panic: integer divide fault syncing disks, buffers remaining... 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 giving up on 408 buffers Uptime: 16m51s Dumping 511 MB 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240 256 272 288 304 320 336 352 368 384 400 416 432 448 464 480 496 --- Reading symbols from /usr/obj/usr/src/sys/BATLETH/modules/usr/src/sys/modules/vesa/vesa.ko.debug...done. Loaded symbols for /usr/obj/usr/src/sys/BATLETH/modules/usr/src/sys/modules/vesa/vesa.ko.debug Reading symbols from /boot/kernel/snd_pcm.ko...done. Loaded symbols for /boot/kernel/snd_pcm.ko Reading symbols from /boot/kernel/snd_ich.ko...done. Loaded symbols for /boot/kernel/snd_ich.ko Reading symbols from /boot/kernel/if_fxp.ko...done. Loaded symbols for /boot/kernel/if_fxp.ko Reading symbols from /boot/kernel/miibus.ko...done. Loaded symbols for /boot/kernel/miibus.ko #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 0xc05aeb12 in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:372 #2 0xc05aee68 in panic () at /usr/src/sys/kern/kern_shutdown.c:550 #3 0xc07096ec in trap_fatal (frame=0xd77c0c78, eva=0) at /usr/src/sys/i386/i386/trap.c:821 #4 0xc0709142 in trap (frame= {tf_fs = -1043267560, tf_es = 16, tf_ds = -679739376, tf_edi = -1043254272, tf_esi = 16464, tf_ebp = -679736136, tf_isp = -679736156, tf_ebx = -1043254272, tf_edx = 2052, tf_ecx = -593338368, tf_eax = 4, tf_trapno = 18, tf_err = 0, tf_eip = -1068617720, tf_cs = 8, tf_eflags = 514, tf_esp = -679736096, tf_ss = -1068374380}) at /usr/src/sys/i386/i386/trap.c:618 #5 0xc06fac38 in calltrap () at {standard input}:94 #6 0xc051e694 in cbb_intr (arg=0xc1d13400) at /usr/src/sys/dev/exca/excavar.h:134 #7 0xc059b882 in ithread_loop (arg=0xc1d15880) at /usr/src/sys/kern/kern_intr.c:544 #8 0xc059a874 in fork_exit (callout=0xc059b6f0 , arg=0x0, frame=0x0) at /usr/src/sys/kern/kern_fork.c:793 (kgdb) x 0xc04e3008 0xc04e3008 : 0x0fc0b60f (kgdb) l *0xc04e3008 0xc04e3008 is in exca_mem_getb (machine/bus_at386.h:223). 218 machine/bus_at386.h: No such file or directory. in machine/bus_at386.h >How-To-Repeat: Get a Thinkpad A31p, install 5.1-CURRENT, try to use the fxp0 interface. >Fix: >Release-Note: >Audit-Trail: >Unformatted: >>>>>> >>>>>> This is located in sys/i386/bus_at386.h >>>>>> The corresponding call (inline in exca_mem_getb) >>>>>> is in reality a call to bus_space_read_1() >>>>>> static __inline u_int8_t bus_space_read_1(bus_space_tag_t tag, bus_space_handle_t handle, bus_size_t offset) { #if defined (_I386_BUS_PIO_H_) #if defined (_I386_BUS_MEMIO_H_) if (tag == I386_BUS_SPACE_IO) #endif return (inb(handle + offset)); #endif #if defined (_I386_BUS_MEMIO_H_) return (*(volatile u_int8_t *)(handle + offset)); #endif } >>>>>> >>>>>> The line 223 is the last return line, this is >>>>>> obviously, where it happens: >>>>>> return (*(volatile u_int8_t *)(handle + offset)); >>>>>> >>>>>> That this is the right place is confirmed below >>>>>> >>>>>> No I try to track back the parameters to this call... >>>>>> (kgdb) up 6 #6 0xc051e694 in cbb_intr (arg=0xc1d13400) at /usr/src/sys/dev/exca/excavar.h:134 134 return (sc->getb(sc, reg)); (kgdb) p &sc->exca $1 = (struct exca_softc *) 0xc1d13404 (kgdb) p *(&sc->exca) $2 = {dev = 0xc471a580, memalloc = 0, mem = {{memt = 0, memh = 0, addr = 0, size = 0, realsize = 0, cardaddr = 0, kind = 0}, {memt = 0, memh = 0, addr = 0, size = 0, realsize = 0, cardaddr = 0, kind = 0}, {memt = 0, memh = 0, addr = 0, size = 0, realsize = 0, cardaddr = 0, kind = 0}, { memt = 0, memh = 0, addr = 0, size = 0, realsize = 0, cardaddr = 0, kind = 0}, {memt = 0, memh = 0, addr = 0, size = 0, realsize = 0, cardaddr = 0, kind = 0}}, ioalloc = 0, io = {{iot = 0, ioh = 0, addr = 0, size = 0, flags = 0, width = 0}, {iot = 0, ioh = 0, addr = 0, size = 0, flags = 0, width = 0}}, bst = 1, bsh = 3701628928, flags = 2, offset = 2048, chipset = 0, getb = 0xc04e2fe0 , putb = 0xc04e3010 , event_thread = 0x0, mtx = {mtx_object = { lo_class = 0x0, lo_name = 0x0, lo_type = 0x0, lo_flags = 0, lo_list = { tqe_next = 0x0, tqe_prev = 0x0}, lo_witness = 0x0}, mtx_lock = 0, mtx_recurse = 0}, cv = {cv_waitq = {tqh_first = 0x0, tqh_last = 0x0}, cv_mtx = 0x0, cv_description = 0x0}, pccarddev = 0xc4792200} (kgdb) p *sc $3 = {dev = 0xc471a580, exca = {dev = 0xc471a580, memalloc = 0, mem = {{ memt = 0, memh = 0, addr = 0, size = 0, realsize = 0, cardaddr = 0, kind = 0}, {memt = 0, memh = 0, addr = 0, size = 0, realsize = 0, cardaddr = 0, kind = 0}, {memt = 0, memh = 0, addr = 0, size = 0, realsize = 0, cardaddr = 0, kind = 0}, {memt = 0, memh = 0, addr = 0, size = 0, realsize = 0, cardaddr = 0, kind = 0}, {memt = 0, memh = 0, addr = 0, size = 0, realsize = 0, cardaddr = 0, kind = 0}}, ioalloc = 0, io = {{iot = 0, ioh = 0, addr = 0, size = 0, flags = 0, width = 0}, {iot = 0, ioh = 0, addr = 0, size = 0, flags = 0, width = 0}}, bst = 1, bsh = 3701628928, flags = 2, offset = 2048, chipset = 0, getb = 0xc04e2fe0 , putb = 0xc04e3010 , event_thread = 0x0, mtx = { mtx_object = {lo_class = 0x0, lo_name = 0x0, lo_type = 0x0, lo_flags = 0, lo_list = {tqe_next = 0x0, tqe_prev = 0x0}, lo_witness = 0x0}, mtx_lock = 0, mtx_recurse = 0}, cv = {cv_waitq = { tqh_first = 0x0, tqh_last = 0x0}, cv_mtx = 0x0, cv_description = 0x0}, pccarddev = 0xc4792200}, base_res = 0xc4771200, irq_res = 0xc4793340, intrhand = 0xc4793300, bst = 1, bsh = 3701628928, secbus = 3 '\003', subbus = 5 '\005', mtx = {mtx_object = {lo_class = 0xc079b37c, lo_name = 0xc4753190 "cbb0", lo_type = 0xc0746db7 "cbb", lo_flags = 196608, lo_list = {tqe_next = 0xc4789aa8, tqe_prev = 0xc4708544}, lo_witness = 0xc07e1750}, mtx_lock = 4, mtx_recurse = 0}, cv = {cv_waitq = {tqh_first = 0xc4783a00, tqh_last = 0xc4783a18}, cv_mtx = 0xc1d1353c, cv_description = 0xc07520b8 "cbb cv"}, flags = 1342177280, chipset = 4, rl = {slh_first = 0x0}, intr_handlers = {stqh_first = 0x0, stqh_last = 0xc1d1357c}, cbdev = 0xc4792280, event_thread = 0xc4782c5c} (kgdb) l 129 int rid, struct resource *res); 130 131 static __inline uint8_t 132 exca_getb(struct exca_softc *sc, int reg) 133 { 134 return (sc->getb(sc, reg)); 135 } 136 137 static __inline void 138 exca_putb(struct exca_softc *sc, int reg, uint8_t val) (kgdb) >>>>>> >>>>>> It _has_ to be the one call in cbb_intr() >>>>>> that calls exca_getb(), there is just one. >>>>>> In that case, the "reg" argument is EXCA_CSC, which is 0x04 >>>>>> >>>>>> Inline instead this is called: static uint8_t exca_mem_getb(struct exca_softc *sc, int reg) { return (bus_space_read_1(sc->bst, sc->bsh, sc->offset + reg)); } >>>>>> which confirms the faulty instruction looked up >>>>>> above. >>>>>> >>>>>> Now for the other parameters, which are all members of >>>>>> struct exca_softc, >>>>>> Note, that in the current context "sc" is a struct cbb_softc, >>>>>> the 'sc' parameter of exca_getb() is sc->exca >>>>>> (kgdb) p sc->exca->offset $8 = 2048 (kgdb) p sc->exca->bst $9 = 1 (kgdb) p sc->exca->bsh $10 = 3701628928 >>>>>> >>>>>> I cast them to void* to see the value in hex >>>>>> (kgdb) p (void *) sc->exca->bsh $11 = (void *) 0xdca26000 (kgdb) $12 = (void *) 0xdca26000 (kgdb) p (void *) sc->exca->offset $13 = (void *) 0x800 >>>>>> >>>>>> Now I have all the values, that are passed to >>>>>> bus_space_read_1() >>>>>> >>>>>> bus_space_read_1(sc->bst, sc->bsh, sc->offset + reg) >>>>>> is called with >>>>>> sc->bst = 1 >>>>>> sc->bsh = 0xdca26000 >>>>>> sc->offset = 2048 = 0x800 >>>>>> reg = EXCA_CSC = 0x04 >>>>>> >>>>>> => >>>>>> bus_space_read1(1, 0xdca26000, 0x804); /* hex */ >>>>>> >>>>>> back in bus_at386.h we see, that the flag >>>>>> is unused anyway and we have handle + offset >>>>>> >>>>>> return (*(volatile u_int8_t *)(0xdca26000 + 0x804)); >>>>>> return (*(volatile u_int8_t *)(0xdca26804)); >>>>>> (kgdb) p (*(volatile u_int8_t *)(0xdca26804)) Cannot access memory at address 0xdca26804 (kgdb) p 0xdca26804 $14 = 3701630980 (kgdb) p *0xdca26804 Cannot access memory at address 0xdca26804 (kgdb) p *0xdca26804 (kgdb) p (volatile u_int8_t *)(0xdca26804) $15 = (volatile __uint8_t *) 0xdca26804
(kgdb) q laprbg8# --- script finished --- Within kgdb, I cannot access memory at that location, since this is within a memory mapped region. I guess it is required to do online remote debugging via serial line to see whats going on. Alas, I have no other -CURRENT machine handy, but I will see what I can do. Why the return of this somehow broken address value causes a integer divide fault is still a mystery to me. Other possibly useful information: ================================== Crash Info: ----------- Good dump found on device /dev/ad0s3b Architecture: i386 Architecture version: 1 Dump length: 536281088B (511 MB) Blocksize: 512 Dumptime: Thu Nov 13 17:28:21 2003 Hostname: laprbg8.informatik.tu-muenchen.de Versionstring: FreeBSD 5.1-CURRENT #7: Thu Nov 13 15:11:36 CET 2003 root@laprbg8.informatik.tu-muenchen.de:/usr/obj/usr/src/sys/BATLETH Panicstring: integer divide fault Bounds: 10 Verbose dmesg: -------------- Copyright (c) 1992-2003 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 5.1-CURRENT #7: Thu Nov 13 15:11:36 CET 2003 root@laprbg8.informatik.tu-muenchen.de:/usr/obj/usr/src/sys/BATLETH Preloaded elf kernel "/boot/kernel/kernel" at 0xc08fe000. Preloaded elf module "/boot/kernel/vesa.ko" at 0xc08fe26c. Preloaded elf module "/boot/kernel/snd_pcm.ko" at 0xc08fe318. Preloaded elf module "/boot/kernel/snd_ich.ko" at 0xc08fe3c4. Calibrating clock(s) ... i8254 clock: 1193182 Hz CLK_USE_I8254_CALIBRATION not specified - using default frequency Timecounter "i8254" frequency 1193182 Hz quality 0 Calibrating TSC clock ... TSC clock: 1998313868 Hz CPU: Mobile Intel(R) Pentium(R) 4 - M CPU 2.00GHz (1998.31-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf29 Stepping = 9 Features=0xbfebf9ff real memory = 536281088 (511 MB) Physical memory chunk(s): 0x0000000000001000 - 0x000000000009efff, 647168 bytes (158 pages) 0x0000000000100000 - 0x00000000003fffff, 3145728 bytes (768 pages) 0x0000000000c26000 - 0x000000001f64bfff, 513957888 bytes (125478 pages) avail memory = 511250432 (487 MB) bios32: Found BIOS32 Service Directory header at 0xc00f7010 bios32: Entry = 0xfd7e0 (c00fd7e0) Rev = 0 Len = 1 pcibios: PCI BIOS entry at 0xfd770+0x18e pnpbios: Found PnP BIOS data at 0xc00f7070 pnpbios: Entry = f0000:9d7e Rev = 1.0 pnpbios: Event flag at 4b4 Other BIOS signatures found: null: random: mem: Pentium Pro MTRR support enabled VESA: information block 56 45 53 41 00 02 00 01 00 01 01 00 00 00 22 00 00 01 ff 03 00 01 19 01 00 01 2f 01 00 01 34 01 00 01 82 01 0d 01 0e 01 0f 01 20 01 92 01 93 01 94 01 95 01 96 01 a2 01 a3 01 a4 01 a5 01 a6 01 VESA: 60 mode(s) found VESA: v2.0, 65472k memory, flags:0x1, mode table:0xc08d6d02 (1000022) VESA: ATI MOBILITY RADEON 7500 VESA: ATI Technologies Inc. P7 01.00 npx0: [FAST] npx0: on motherboard npx0: INT 16 interface pci_open(1): mode 1 addr port (0x0cf8) is 0x80010014 pci_open(1a): mode1res=0x80000000 (0x80000000) pci_cfgcheck: device 0 [class=060000] [hdr=00] is there (id=1a308086) pcibios: BIOS version 2.10 Using $PIR table, 14 entries at 0xc00fdeb0 PCI-Only Interrupts: none Location Bus Device Pin Link IRQs embedded 0 0 A 0x60 3 4 5 6 7 9 10 11 12 14 15 embedded 0 0 B 0x61 3 4 5 6 7 9 10 11 12 14 15 embedded 0 0 C 0x62 3 4 5 6 7 9 10 11 12 14 15 embedded 0 0 D 0x63 3 4 5 6 7 9 10 11 12 14 15 embedded 0 2 A 0x60 3 4 5 6 7 9 10 11 12 14 15 embedded 0 2 B 0x61 3 4 5 6 7 9 10 11 12 14 15 embedded 0 1 A 0x60 3 4 5 6 7 9 10 11 12 14 15 embedded 0 1 B 0x61 3 4 5 6 7 9 10 11 12 14 15 embedded 1 0 A 0x60 3 4 5 6 7 9 10 11 12 14 15 embedded 1 0 B 0x61 3 4 5 6 7 9 10 11 12 14 15 embedded 0 30 A 0x60 3 4 5 6 7 9 10 11 12 14 15 embedded 0 30 B 0x61 3 4 5 6 7 9 10 11 12 14 15 embedded 0 30 C 0x62 3 4 5 6 7 9 10 11 12 14 15 embedded 0 30 D 0x63 3 4 5 6 7 9 10 11 12 14 15 embedded 2 0 A 0x60 3 4 5 6 7 9 10 11 12 14 15 embedded 2 0 B 0x61 3 4 5 6 7 9 10 11 12 14 15 embedded 2 0 C 0x62 3 4 5 6 7 9 10 11 12 14 15 slot 1 2 2 A 0x62 3 4 5 6 7 9 10 11 12 14 15 slot 1 2 2 B 0x63 3 4 5 6 7 9 10 11 12 14 15 embedded 2 3 A 0x60 3 4 5 6 7 9 10 11 12 14 15 embedded 2 3 B 0x61 3 4 5 6 7 9 10 11 12 14 15 embedded 2 3 C 0x62 3 4 5 6 7 9 10 11 12 14 15 embedded 2 3 D 0x63 3 4 5 6 7 9 10 11 12 14 15 slot 2 9 0 A 0x60 3 4 5 6 7 9 10 11 12 14 15 slot 2 9 0 B 0x61 3 4 5 6 7 9 10 11 12 14 15 slot 2 9 0 C 0x62 3 4 5 6 7 9 10 11 12 14 15 slot 2 9 0 D 0x63 3 4 5 6 7 9 10 11 12 14 15 embedded 9 1 A 0x61 3 4 5 6 7 9 10 11 12 14 15 embedded 9 2 A 0x62 3 4 5 6 7 9 10 11 12 14 15 embedded 9 2 B 0x62 3 4 5 6 7 9 10 11 12 14 15 embedded 2 8 A 0x68 3 4 5 6 7 9 10 11 12 14 15 embedded 0 29 A 0x60 3 4 5 6 7 9 10 11 12 14 15 embedded 0 29 B 0x63 3 4 5 6 7 9 10 11 12 14 15 embedded 0 29 C 0x62 3 4 5 6 7 9 10 11 12 14 15 embedded 0 29 D 0x6b 3 4 5 6 7 9 10 11 12 14 15 embedded 0 31 A 0x62 3 4 5 6 7 9 10 11 12 14 15 embedded 0 31 B 0x61 3 4 5 6 7 9 10 11 12 14 15 pcib0: at pcibus 0 on motherboard pci0: on pcib0 pci0: physical bus=0 map[10]: type 3, range 32, base e0000000, size 26, enabled found-> vendor=0x8086, dev=0x1a30, revid=0x04 bus=0, slot=0, func=0 class=06-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0106, statreg=0x2090, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x8086, dev=0x1a31, revid=0x04 bus=0, slot=1, func=0 class=06-04-00, hdrtype=0x01, mfdev=0 cmdreg=0x0107, statreg=0x00a0, cachelnsz=0 (dwords) lattimer=0x60 (2880 ns), mingnt=0x0c (3000 ns), maxlat=0x00 (0 ns) map[20]: type 4, range 32, base 00001800, size 5, enabled pci_cfgintr_valid: BIOS irq 11 is valid pci_cfgintr: 0:29 INTA BIOS irq 11 found-> vendor=0x8086, dev=0x2482, revid=0x02 bus=0, slot=29, func=0 class=0c-03-00, hdrtype=0x00, mfdev=1 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=11 map[20]: type 4, range 32, base 00001820, size 5, enabled pci_cfgintr_valid: BIOS irq 11 is valid pci_cfgintr: 0:29 INTB BIOS irq 11 found-> vendor=0x8086, dev=0x2484, revid=0x02 bus=0, slot=29, func=1 class=0c-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=11 map[20]: type 4, range 32, base 00001840, size 5, enabled pci_cfgintr_valid: BIOS irq 11 is valid pci_cfgintr: 0:29 INTC BIOS irq 11 found-> vendor=0x8086, dev=0x2487, revid=0x02 bus=0, slot=29, func=2 class=0c-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0001, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=c, irq=11 found-> vendor=0x8086, dev=0x2448, revid=0x42 bus=0, slot=30, func=0 class=06-04-00, hdrtype=0x01, mfdev=0 cmdreg=0x0107, statreg=0x0080, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns) found-> vendor=0x8086, dev=0x248c, revid=0x02 bus=0, slot=31, func=0 class=06-01-00, hdrtype=0x00, mfdev=1 cmdreg=0x000f, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) map[10]: type 4, range 32, base 000001f0, size 3, enabled map[14]: type 4, range 32, base 000003f4, size 2, enabled map[18]: type 4, range 32, base 00000170, size 3, enabled map[1c]: type 4, range 32, base 00000374, size 2, enabled map[20]: type 4, range 32, base 00001860, size 4, enabled found-> vendor=0x8086, dev=0x248a, revid=0x02 bus=0, slot=31, func=1 class=01-01-8a, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=255 map[20]: type 4, range 32, base 00001880, size 5, enabled pci_cfgintr_valid: BIOS irq 11 is valid pci_cfgintr: 0:31 INTB BIOS irq 11 found-> vendor=0x8086, dev=0x2483, revid=0x02 bus=0, slot=31, func=3 class=0c-05-00, hdrtype=0x00, mfdev=0 cmdreg=0x0001, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=11 map[10]: type 4, range 32, base 00001c00, size 8, enabled map[14]: type 4, range 32, base 000018c0, size 6, enabled pci_cfgintr_valid: BIOS irq 11 is valid pci_cfgintr: 0:31 INTB BIOS irq 11 found-> vendor=0x8086, dev=0x2485, revid=0x02 bus=0, slot=31, func=5 class=04-01-00, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=11 map[10]: type 4, range 32, base 00002400, size 8, enabled map[14]: type 4, range 32, base 00002000, size 7, enabled pci_cfgintr_valid: BIOS irq 11 is valid pci_cfgintr: 0:31 INTB BIOS irq 11 found-> vendor=0x8086, dev=0x2486, revid=0x02 bus=0, slot=31, func=6 class=07-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=11 agp0: mem 0xe0000000-0xe3ffffff at device 0.0 on pci0 agp0: allocating GATT for aperture of size 64M pcib1: at device 1.0 on pci0 pcib1: secondary bus 1 pcib1: subordinate bus 1 pcib1: I/O decode 0x3000-0x3fff pcib1: memory decode 0xd0100000-0xd01fffff pcib1: prefetched decode 0xe8000000-0xefffffff pci1: on pcib1 pci1: physical bus=1 map[10]: type 3, range 32, base e8000000, size 27, enabled map[14]: type 4, range 32, base 00003000, size 8, enabled map[18]: type 1, range 32, base d0100000, size 16, enabled pci_cfgintr_valid: BIOS irq 11 is valid pci_cfgintr: 1:0 INTA BIOS irq 11 found-> vendor=0x1002, dev=0x4c58, revid=0x00 bus=1, slot=0, func=0 class=03-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0387, statreg=0x02b0, cachelnsz=8 (dwords) lattimer=0x42 (1980 ns), mingnt=0x08 (2000 ns), maxlat=0x00 (0 ns) intpin=a, irq=11 powerspec 2 supports D0 D1 D2 D3 current D0 pci1: at device 0.0 (no driver attached) uhci0: port 0x1800-0x181f irq 11 at device 29.0 on pci0 usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered uhci1: port 0x1820-0x183f irq 11 at device 29.1 on pci0 usb1: on uhci1 usb1: USB revision 1.0 uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered uhci2: port 0x1840-0x185f irq 11 at device 29.2 on pci0 usb2: on uhci2 usb2: USB revision 1.0 uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub2: 2 ports with 2 removable, self powered pcib2: at device 30.0 on pci0 pcib2: secondary bus 2 pcib2: subordinate bus 8 pcib2: I/O decode 0x4000-0x8fff pcib2: memory decode 0xd0200000-0xdfffffff pcib2: prefetched decode 0xf0000000-0xf80fffff pci2: on pcib2 pci2: physical bus=2 map[10]: type 1, range 32, base 50000000, size 12, enabled pci_cfgintr_valid: BIOS irq 11 is valid pci_cfgintr: 2:0 INTA BIOS irq 11 found-> vendor=0x1180, dev=0x0476, revid=0xa8 bus=2, slot=0, func=0 class=06-07-00, hdrtype=0x02, mfdev=1 cmdreg=0x0107, statreg=0x0210, cachelnsz=0 (dwords) lattimer=0x40 (1920 ns), mingnt=0x80 (32000 ns), maxlat=0x07 (1750 ns) intpin=a, irq=11 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 1, range 32, base 50100000, size 12, enabled pci_cfgintr_valid: BIOS irq 11 is valid pci_cfgintr: 2:0 INTB BIOS irq 11 found-> vendor=0x1180, dev=0x0476, revid=0xa8 bus=2, slot=0, func=1 class=06-07-00, hdrtype=0x02, mfdev=1 cmdreg=0x0107, statreg=0x0210, cachelnsz=0 (dwords) lattimer=0x40 (1920 ns), mingnt=0x80 (32000 ns), maxlat=0x07 (1750 ns) intpin=b, irq=11 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 1, range 32, base d0201000, size 11, enabled pci_cfgintr_valid: BIOS irq 11 is valid pci_cfgintr: 2:0 INTC BIOS irq 11 found-> vendor=0x1180, dev=0x0552, revid=0x00 bus=2, slot=0, func=2 class=0c-00-10, hdrtype=0x00, mfdev=1 cmdreg=0x0106, statreg=0x0210, cachelnsz=0 (dwords) lattimer=0x40 (1920 ns), mingnt=0x02 (500 ns), maxlat=0x04 (1000 ns) intpin=c, irq=11 powerspec 2 supports D0 D3 current D0 map[10]: type 3, range 32, base f8000000, size 12, enabled pci_cfgintr_valid: BIOS irq 11 is valid pci_cfgintr: 2:2 INTA BIOS irq 11 found-> vendor=0x1260, dev=0x3873, revid=0x01 bus=2, slot=2, func=0 class=02-80-00, hdrtype=0x00, mfdev=0 cmdreg=0x0117, statreg=0x0290, cachelnsz=8 (dwords) lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=11 powerspec 2 supports D0 D3 current D0 map[10]: type 1, range 32, base d0200000, size 12, enabled map[14]: type 4, range 32, base 00008000, size 6, enabled pci_cfgintr_valid: BIOS irq 11 is valid pci_cfgintr: 2:8 INTA BIOS irq 11 found-> vendor=0x8086, dev=0x1031, revid=0x42 bus=2, slot=8, func=0 class=02-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0117, statreg=0x0290, cachelnsz=8 (dwords) lattimer=0x42 (1980 ns), mingnt=0x08 (2000 ns), maxlat=0x38 (14000 ns) intpin=a, irq=11 powerspec 2 supports D0 D1 D2 D3 current D0 cbb0: mem 0x50000000-0x50000fff irq 11 at device 0.0 on pci2 pcib2: device cbb0 requested unsupported memory range 0x0-0x0 (decoding 0xd0200000-0xdfffffff, 0xf0000000-0xf80fffff) pcib2: device cbb0 requested decoded memory range 0xd0200000-0xdfffffff cardbus0: on cbb0 pccard0: <16-bit PCCard bus> on cbb0 cbb0: [MPSAFE] cbb0: PCI Configuration space: 0x00: 0x00010000 0x00010004 0x00010008 0x0001000c 0x10: 0x00010010 0x00010014 0x00010018 0x0001001c 0x20: 0x00010020 0x00010024 0x00010028 0x0001002c 0x30: 0x00010030 0x00010034 0x00010038 0x0001003c 0x40: 0x00010040 0x00010044 0x00010048 0x0001004c 0x50: 0x00010050 0x00010054 0x00010058 0x0001005c 0x60: 0x00010060 0x00010064 0x00010068 0x0001006c 0x70: 0x00010070 0x00010074 0x00010078 0x0001007c 0x80: 0x00010080 0x00010084 0x00010088 0x0001008c 0x90: 0x00010090 0x00010094 0x00010098 0x0001009c 0xa0: 0x000100a0 0x000100a4 0x000100a8 0x000100ac 0xb0: 0x000100b0 0x000100b4 0x000100b8 0x000100bc 0xc0: 0x000100c0 0x000100c4 0x000100c8 0x000100cc 0xd0: 0x000100d0 0x000100d4 0x000100d8 0x000100dc 0xe0: 0x000100e0 0x000100e4 0x000100e8 0x000100ec 0xf0: 0x000100f0 0x000100f4 0x000100f8 0x000100fc cbb1: mem 0x50100000-0x50100fff irq 11 at device 0.1 on pci2 cbb1: failed to enable memory mapping! pcib2: device cbb1 requested decoded memory range 0xd0200000-0xdfffffff cardbus1: on cbb1 pccard1: <16-bit PCCard bus> on cbb1 cbb1: [MPSAFE] cbb1: PCI Configuration space: 0x00: 0x04761180 0x02100107 0x060700a8 0x00822000 0x10: 0xd0201000 0x020000dc 0x20080602 0xfffff000 0x20: 0x00000000 0xfffff000 0x00000000 0xfffffffc 0x30: 0x00000000 0xfffffffc 0x00000000 0x0401020b 0x40: 0x01851014 0x00000001 0x00000000 0x00000000 0x50: 0x00000000 0x00000000 0x00000000 0x00000000 0x60: 0x00000000 0x00000000 0x00000000 0x00000000 0x70: 0x00000000 0x00000000 0x00000000 0x00000000 0x80: 0x04800001 0x00000000 0x04630464 0x00000000 0x90: 0x00000000 0x00000000 0x00000000 0x00000000 0xa0: 0x008a0000 0x00000000 0x00f00000 0x00000000 0xb0: 0x00000000 0x00000000 0x00000000 0x00000000 0xc0: 0x01851014 0x00000000 0x00000000 0x00000000 0xd0: 0x00000000 0x00000000 0x00000000 0xfe0a0001 0xe0: 0x24c04000 0x00000000 0x00000000 0x00000000 0xf0: 0x00000000 0x00000000 0x00000000 0x00000000 pci2: at device 0.2 (no driver attached) pci2: at device 2.0 (no driver attached) pci2: at device 8.0 (no driver attached) isab0: at device 31.0 on pci0 isa0: on isab0 atapci0: port 0x1860-0x186f,0x374-0x377,0x170-0x177,0x3f4-0x3f7,0x1f0-0x1f7 at device 31.1 on pci0 ata0: reset tp1 mask=03 ostat0=50 ostat1=00 ata0-master: stat=0x50 err=0x01 lsb=0x00 msb=0x00 ata0-slave: stat=0x00 err=0x01 lsb=0x00 msb=0x00 ata0: reset tp2 mask=03 stat0=50 stat1=00 devices=0x1 ata0: at 0x1f0 irq 14 on atapci0 ata0: [MPSAFE] ata1: reset tp1 mask=03 ostat0=50 ostat1=00 ata1-master: stat=0x00 err=0x01 lsb=0x14 msb=0xeb ata1-slave: stat=0x00 err=0x00 lsb=0x00 msb=0x00 ata1: reset tp2 mask=03 stat0=00 stat1=00 devices=0x4 ata1: at 0x170 irq 15 on atapci0 ata1: [MPSAFE] pci0: at device 31.3 (no driver attached) pcm0: port 0x18c0-0x18ff,0x1c00-0x1cff irq 11 at device 31.5 on pci0 pcm0: pcm0: Codec features headphone, 6 bit master volume, Analog Devices Phat Stereo pcm0: Primary codec extended features variable rate PCM pcm0: sndbuf_setmap 1ed000, 4000; 0xdca2c000 -> 1ed000 pcm0: sndbuf_setmap 1f1000, 4000; 0xdca30000 -> 1f1000 pci0: at device 31.6 (no driver attached) eisa0: on motherboard eisa0: unknown card @H@0000 (0x01000000) at slot 1 unknown: status reg test failed ff unknown: status reg test failed ff unknown: status reg test failed ff unknown: status reg test failed ff unknown: status reg test failed ff unknown: status reg test failed ff ata: ata0 already exists; skipping it ata: ata1 already exists; skipping it pnpbios: 20 devices, largest 238 bytes PNP0c02: adding io range 0x10-0x1f, size=0x10, align=0x1 PNP0c02: adding io range 0x24-0x25, size=0x2, align=0x1 PNP0c02: adding io range 0x28-0x29, size=0x2, align=0x1 PNP0c02: adding io range 0x2c-0x2d, size=0x2, align=0x1 PNP0c02: adding io range 0x30-0x31, size=0x2, align=0x1 PNP0c02: adding io range 0x34-0x35, size=0x2, align=0x1 PNP0c02: adding io range 0x38-0x39, size=0x2, align=0x1 PNP0c02: adding io range 0x3c-0x3d, size=0x2, align=0x1 PNP0c02: adding io range 0x50-0x53, size=0x4, align=0x1 PNP0c02: adding io range 0x72-0x73, size=0x2, align=0x1 PNP0c02: adding io range 0x74-0x75, size=0x2, align=0x1 PNP0c02: adding io range 0x76-0x77, size=0x2, align=0x1 PNP0c02: adding io range 0x80-0x80, size=0x1, align=0x1 PNP0c02: adding io range 0x90-0x91, size=0x2, align=0x1 PNP0c02: adding io range 0x92-0x92, size=0x1, align=0x1 PNP0c02: adding io range 0x93-0x9f, size=0xd, align=0x1 PNP0c02: adding io range 0xa4-0xa5, size=0x2, align=0x1 PNP0c02: adding io range 0xa8-0xa9, size=0x2, align=0x1 PNP0c02: adding io range 0xac-0xad, size=0x2, align=0x1 PNP0c02: adding io range 0xb0-0xb1, size=0x2, align=0x1 PNP0c02: adding io range 0xb2-0xb3, size=0x2, align=0x1 PNP0c02: adding io range 0xb4-0xb5, size=0x2, align=0x1 PNP0c02: adding io range 0xb8-0xb9, size=0x2, align=0x1 PNP0c02: adding io range 0xbc-0xbd, size=0x2, align=0x1 PNP0c02: adding io range 0x15e0-0x15ef, size=0x10, align=0x8 PNP0c02: adding io range 0x1600-0x167f, size=0x80, align=0x8 PNP0c02: adding fixed memory32 range 0xffc00000-0xffffffff, size=0x400000 pnpbios: handle 1 device ID PNP0c02 (020cd041) PNP0c01: adding fixed memory32 range 0-0x9ffff, size=0xa0000 PNP0c01: adding fixed memory32 range 0xe0000-0xfffff, size=0x20000 PNP0c01: adding fixed memory32 range 0x100000-0x1fffffff, size=0x1ff00000 pnpbios: handle 2 device ID PNP0c01 (010cd041) PNP0200: adding io range 0-0xf, size=0x10, align=0x1 PNP0200: adding io range 0x81-0x8f, size=0xf, align=0x1 PNP0200: adding io range 0xc0-0xdf, size=0x20, align=0x1 PNP0200: adding dma mask 0x10 pnpbios: handle 3 device ID PNP0200 (0002d041) PNP0100: adding io range 0x40-0x43, size=0x4, align=0x1 PNP0100: adding irq mask 0x1 pnpbios: handle 5 device ID PNP0100 (0001d041) PNP0b00: adding io range 0x70-0x71, size=0x2, align=0x1 PNP0b00: adding irq mask 0x100 pnpbios: handle 6 device ID PNP0b00 (000bd041) PNP0303: adding io range 0x60-0x60, size=0x1, align=0x1 PNP0303: adding io range 0x64-0x64, size=0x1, align=0x1 PNP0303: adding irq mask 0x2 pnpbios: handle 7 device ID PNP0303 (0303d041) PNP0c04: adding io range 0xf0-0xff, size=0x10, align=0x1 PNP0c04: adding irq mask 0x2000 pnpbios: handle 8 device ID PNP0c04 (040cd041) PNP0800: adding io range 0x61-0x61, size=0x1, align=0x1 pnpbios: handle 9 device ID PNP0800 (0008d041) PNP0a03: adding io range 0xcf8-0xcff, size=0x8, align=0x1 pnpbios: handle 10 device ID PNP0a03 (030ad041) PNP0c02: adding io range 0x4d0-0x4d1, size=0x2, align=0x1 PNP0c02: adding io range 0x1000-0x105f, size=0x60, align=0x1 PNP0c02: adding io range 0x1060-0x107f, size=0x20, align=0x1 PNP0c02: adding io range 0x1180-0x11bf, size=0x40, align=0x1 pnpbios: handle 11 device ID PNP0c02 (020cd041) INT0800: adding fixed memory32 range 0xffb80000-0xffbfffff, size=0x80000 INT0800: adding fixed memory32 range 0xffb00000-0xffb7ffff, size=0x80000 INT0800: adding fixed memory32 range 0xffa80000-0xffafffff, size=0x80000 INT0800: adding fixed memory32 range 0xffa00000-0xffa7ffff, size=0x80000 INT0800: adding fixed memory32 range 0xff980000-0xff9fffff, size=0x80000 INT0800: adding fixed memory32 range 0xff900000-0xff97ffff, size=0x80000 INT0800: adding fixed memory32 range 0xff880000-0xff8fffff, size=0x80000 INT0800: adding fixed memory32 range 0xff800000-0xff87ffff, size=0x80000 INT0800: adding fixed memory32 range 0xff000000-0xff07ffff, size=0x80000 pnpbios: handle 12 device ID INT0800 (0008d425) PNP0c02: adding fixed memory32 range 0xd2000-0xd3fff, size=0x2000 pnpbios: handle 14 device ID PNP0c02 (020cd041) PNP0680: adding io range 0x1f0-0x1f7, size=0x8, align=0x1 PNP0680: adding io range 0x3f6-0x3f6, size=0x1, align=0x1 PNP0680: adding irq mask 0x4000 PNP0680: adding io range 0x1860-0x1867, size=0x8, align=0x1 pnpbios: handle 15 device ID PNP0680 (8006d041) PNP0680: adding io range 0x170-0x177, size=0x8, align=0x1 PNP0680: adding io range 0x376-0x376, size=0x1, align=0x1 PNP0680: adding irq mask 0x8000 PNP0680: adding io range 0x1868-0x186f, size=0x8, align=0x1 pnpbios: handle 16 device ID PNP0680 (8006d041) IBM3780: adding irq mask 0x1000 pnpbios: handle 17 device ID IBM3780 (80374d24) PNP0501: adding io range 0x3f8-0x3ff, size=0x8, align=0x8 PNP0501: adding irq mask 0x10 pnpbios: handle 18 device ID PNP0501 (0105d041) pnpbios: handle 19 device ID IBM0071 (71004d24) PNP0400: adding io range 0x3bc-0x3bf, size=0x4, align=0x4 PNP0400: adding irq mask 0x80 pnpbios: handle 22 device ID PNP0400 (0004d041) pnpbios: handle 25 device ID PNP0e03 (030ed041) 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 sc: sc0 already exists; skipping it vga: vga0 already exists; skipping it isa_probe_children: disabling PnP devices isa_probe_children: probing non-PnP devices orm0: